Advice for growth
Posted by Wulfagen@reddit | ExperiencedDevs | View on Reddit | 4 comments
Hello! I'm mainly java backend software developer with 4YO in big outsource companies and also i have BSc in CS.
I don't have precise roadmap for growth but my humble wish is to one day be a software architect.
My current plan is to stay in a company until i can grow and learn from a current project and then switch to a different company when i feel that i hit growth limit at current position. I'm also considering to start diving in Scala also or to start learning some frontend like react or angular (i have a bit of experience in React)
I also never had chance to work for a product company, is there a significant difference?
Do you have any advice beside what i wrote for further growth? Asking here as there are more experienced developers on this sub. Thanks!
ivoryavoidance@reddit
There is nothing wrong with learning languages for fun, from time to time I spend some time looking at learnxinyminutes.com or trying to build an interpreter for some esoteric language.
But as a learning experience, you have to start thinking a bit meta. So if you are learning go, don’t just learn go, delve more into CSP, what other paradigms are there, how erlang/elixir does things different. Look at some of their popular libraries, see what patterns they are using. For example I like the concepts from genstage a lot, and most of their patterns just made more sense, and that I brought back one of them to golang, which helps remove back pressure for the given use case.
Obviously start looking at company design docs. Learn to debug more, learn the tools to debug, and what to look for. Do POCs for your ideas. Try and get involved in not only in design discussions but also the business decisions.
Transferrable skills.
Also pick a niche, have a particular lens or lenses to look at things from. You can be a performance optimiser, who not only looks at optimising code, databases, but also processes, conventions that overall makes people go faster, automation tools, things like that. I am very sure, discord database engineers are very good at data migration. UVP as I say, unique view points.
One of the most important changes I think is to start looking at things from the company’s point of view, not yours or anyone’s particular, but why the company wants something done a certain way. It’s not to judge if they are doing it right or wrong, but more observing why it was made and what were the long term implications of it, if it wasn’t there.
If you are not being able to build, then you can do something that SRE does, which is mostly what happens to code in production and long term maintainable, recovery, metrics tracking. The title doesn’t matter, you need to have that experience, I mean for me, it’s the same as debugging.
And then obviously you need to be in a position to build systems as well. You can’t just be thinking like a developer, you have to start seeing the forests. One of the concepts come from a product management course, which is divergent thinking and convergent thinking, look it up
I am very new to this as well, but this is mostly how I have been approaching it.
ExperiencedDevs-ModTeam@reddit
Rule 3: No General Career Advice
This sub is for discussing issues specific to experienced developers.
Any career advice thread must contain questions and/or discussions that notably benefit from the participation of experienced developers. Career advice threads may be removed at the moderators discretion based on response to the thread."
General rule of thumb: If the advice you are giving (or seeking) could apply to a “Senior Chemical Engineer”, it’s not appropriate for this sub.
Empanatacion@reddit
There's a lower ceiling for full stack developers. It makes it easier to find a job, but less room to climb.
And if you're trying to gain seniority, jump jobs every couple years. It's much faster than trying to convince your current employer that you deserve a raise or promotion.
KosherBakon@reddit
Get a mentor or coach with larger tech company experience. Having someone outside your current company is helpful as it avoids a lot of conflict of interests (you can have unfiltered chats on a lot of topics).