Specialization is great, and you don't need to learn everything all the time. But we should keep an open mind, and a general sense of "where things might be going".
How do you keep your career options open for change over time?
Specialization is great, and you don't need to learn everything all the time. But we should keep an open mind, and a general sense of "where things might be going".
How do you keep your career options open for change over time?
For further actions, you may consider blocking this person and/or reporting abuse
Jakub Wołynko -
Raúl Peñate -
Puneet-Kumar2010 -
Ezpie -
Top comments (26)
I'm a contractor so staying relevant to what is in demand within the market is very important. I follow people that have an influence within the community and keep an eye on what job listings have demanded over the past 6-12 months.
I am a contractor as well(UK). How do you gain experience in what is in demand? Most companies will only acknowledge commercial experience. The single page applications you did at home (or something similar) don't really count (at least that has been my experience)
At least by having that single page before it was required, shows you have a interest in that field and and willingness to learn more. The must have experience for entry levels will always be a problem.
That’s a pretty good question, depending on your results here you might want to spin up your own #discuss thread
Keep stretching
🤦♂️
I've been a self taught developer. Until few months back I did freelancing stuff for small businesses.
I usually change and experiment with different frameworks and languages, no matter how time consuming it is.
Over the years from these experiences now I can tell, how stuff works, what are the advantages of using one thing over another and finding, learning and doing things faster.
Now I'm working as a lead API engineer and I moved the entire API solution based on Php to node within 2 months time. Now I'm learning erlang to manipulate the telephony services and generate some extra meta data.
I guess it's healthy not to become only a backend or a frontend developer :) Try different technologies, work on both sides. Have side projects where you can experiment with different tools and just look for something that makes you happy.
Furthermore, it's good to pick something new even though you could do the job in a lot less time, just to see whether there are some long term improvements for your stack.
My example for this would be simple blogging tooling, many people tried Jekyll and it usually does the job, but then there are so many more good tools like Hexo and Vuepress.
Same with backend languages, find a problem, try to solve it in a yet unknown language :)
In theory this is nice, but there is more and more stuff added to both sides. You have a lot of stuff in the backend, from web frameworks, testing frameworks, different software development approaches as you do on the frontend.
In my experience it is always best to have at least 2 devs, one for frontend and one for backend, and you might still want to split the frontend into two more, so that one is fully responsible for the html/css while the other one is responsible for typescript/js part.
In the backend I am not mentioning a Devops/Sysadmin or DBA, but you might need at least a devops. If your DB is complex enough you might want a DBA as well
Right.. that is my challenge.. for example, I love React, but I couldnt practice it much because in my work place, I work on php systems and there is so much that takes away my strength that i dont have extra time after office to pursue it.. the only thing I could think of that would allow me to practice it is perhaps quit my current job for a while.. which is not on my list of things to do right now.. lol
yeah, I wasn't suggesting switching from backend to CSS, but trying out Vue.js and React is usually quite refreshing :)
From devops side, deploying your API server on Kubernetes can also be rewarding :)
I think of my career to date as being built up on a small set of core skills and a larger smattering of non-core skills. The core skills are the most difficult and take a long time to develop, but once you've got them, they last a long time, through multiple jobs. The non-core skills are the flashy, faddy stuff, like the latest architecture style or library.
It's a bit like the Linux kernel - you can frequently install and upgrade the layers and applications running on top, but the kernel itself changes less frequently.
For me, the earliest core skills were simply programming itself. Later, the Windows and web platforms. Now I'm trying to improve in algorithms, math and design thinking.
There are a host of other slightly less obvious skills that also matter - communicating, writing, dealing with politics, etc. Those also can improve gradually over time.
As I've spent years practicing and refining the core, I've become good enough that I can get work on the back of it. However, as each new job introduces its own unique set of challenges, I can take advantage of that to learn some new skills. Sometimes those new skills lead to further work, sometimes they're a bit of a dead-end. In either case I'm Ok, because the core skills are still strong.
I'm an electrical engineer graduate. My first job was a game developer. I've changed my career to become a telecom engineer at Ericsson. How was it done? It's all about working on what you love and increase your skills by watching online videos, being proactive and passionate about your next career option.
From my personal experience, a change in career after a couple of years, is a lack of self awareness.
What we should always do is to allocate 10 minutes of our time without any interruption and ask some questions to determine whether this is our career or not
I keep flexible by stretching!
No not the gym kind of stretching (although I do this a fair amount) but stretching my tech!
Predominantly my role is in backend Java, but I get to dabble in Python from time to time too. But if I suddenly hear about a lot of tech where I don't know where to start then I stretch my knowledge.
At the moment I'm doing this with frontend tech, last time I did frontend Angular and SASS were in their infancy so I'm trying to learn Vue JS, modern CSS, learning about Promises and Graph QL.
I'm also learning about Quantum Computing and Malware Analysis as this stuff is fascinating me at the moment.
So I guess that's how to stretch. Keep an ear to the ground and talk to others outside your own field and if something piques your interest then give it a whirl!
I am a Full Stack Java developer.
I really wish to learn new technologies, work on different tech-stack, but the problem is most of the jobs require prior experience of that particular language, and if you don't have that, you are not considered for that job even if you know the concepts.
it's good to want to know something new, it's better to ask yourself why?
For me it's nice to have a specific domain like frontend or backend. Know the basics, the timeless ones and then choose a framework that will allow you to earn a living, so that is in demand.
When you are conformable enough you can start testing others for other frameworks/technologies/domains.
I started by touching all languages first, then I chose JavaScript, then Frontend and then React.
I am eager to learn elixir to know and understand functional programming.
Learn how to learn.
Specialization is great, but I think its way more important to find out how you can best take in new knowledge. Effective learning brings some major advantages:
I think having a good learning curve is a more important asset than any framework knowledge.
If anyone in hiring reads this: how is your view on that?
Engaging with code reviews is one way. I suggest alternative code, but also ask all the questions in the world. Why SVG over Base64 images? Would refactoring SCSS to follow them BEM convention be an improvement? Etc
Branch off and learn your team. I'm historically an infrastructure guy residing on infrastructure teams, but lately have been working on development teams. Seek to understand the tools they use (Git, CI/CD & process, build tools) and master those.
Understanding the 'big' picture has always been important to me.
I've managed it by cultivating my soft skills just as much, if not more so, than my technical skills. (Authority-building, public speaking, communication, networking, community involvement, and mentoring have done more for my career than clever bits of code!)
I am also deeply curious about how things work and I like to experiment!
I am on many mailing lists for UX/Design/Development/DevOPs/Project Management and just skimming article titles is usually enough to tell me if something is starting to trend.
I look for projects at work that will force me to try new things out!
Being a student, that's easier. I did Google CTF when that happened and I learnt nginx and DevOps when I had to set up a server. I think it's useful to keep trying out new things when you have the opportunity so you know what you enjoy and what you don't.
I just covered something related to this topic. I love learning new things but employers seem to look the other way.
dev.to/techhead404/jack-of-all-tra...
Not to highjack your post.