| Long time lurker, first time poster. Hoping to find some advice and suggestions from people who did it successfully. I've a bachelors in CS, and then recently graduated from Georgia Tech(OMSCS). I've been a Software Engineer and Team lead/EM implementing and consulting SaaS technologies for almost all of my 10 year career(SAP/Salesforce/Workday). The money is good, I work in one of the top 4 consulting companies in the Silicon Valley. I'm just plain bored now and feel that my reason to get up in the morning doing the same kind of work and implementations is going down. I'd want to get into something interesting next. I'm looking to do something in Python/Go next, but I don't know where/how to start, looking to either get into Infrastructure (AWS/ Kubernetes/GCP) or into Machine Learning. I'm trying to pick them up, and I've the following questions: 1. How do I get started on these? There are just ton of things online, and i'm genuinely not sure where to start. Do I get a Data Science nanodegree/ How do I get started on K8/AWS/GCP? 2. How do you stick with them? Since I don't get to use Python/Go in my real life, since most of these SaaS implementations usually use vanilla JS, in some cases zython and the tools’ own scripting language, it's very hard to "use" what I learn in step #1. How did you go about using it everyday? 3. If I'm able to somehow complete both 1 and 2, how do I pivot? Do I start off as an entry level engineer and go from there? I'm genuinely interested in how others did it, I do have a lot of experience in Software Architecture, Design Patterns, writing code as a discipline, reviewing code, version control etc., just not in the aforementioned areas. It's also important to mention that I'm originally from UK and on a work visa with a family here in the US, so maintaining a job(here in US) at least for the next couple years because of other family commitments(spouse is in Univ) and a kid is important. |
1. Will your kind of work remain so in the next 10 years? It means technology (ex. Oracle). You should strive to move into a domain that stays relevant for next 10 years.
2. Are there areas that you can expand into? Given your condition (family and kid), you do not have the luxury of a fresh grad. Put it other way, how many guys (say 40+) do you see working in your type of role? And what adjacent areas do you see people growing into? For example, move from coding to product management or business development or solution architect? I am biased to this path.
3. Did you work on virtualization, linux or any platform? Kubernetes is a platform. Do you want to switch to kubernetes platform, or build applications on kubernetes? Time is essence. Unless you have prior knowledge of Linux platform, virtualization etc. it will be a long learning curve. In contract, app development is a different skill altogether (micro services patterns). If you pick app dev, Golang is the way to go if you have to pick a new language.
4. Do you deal with data a lot? If so, how about Python and data science, and then figure out how to use various data analysis tools on kubernetes. Again, this has to be an interim step for you to move into something that interests you.
5. Switching to a new role/project in your current company is better than looking one outside.