DEV Community

Ben Halpern
Ben Halpern

Posted on

How do you stay flexible in your career?

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?

Top comments (26)

Collapse
 
taillogs profile image
Ryland G

Keep stretching

Collapse
 
ben profile image
Ben Halpern

πŸ€¦β€β™‚οΈ

Collapse
 
wezpyke profile image
Wez Pyke

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.

Collapse
 
antoniocs profile image
AntonioCS

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)

Collapse
 
techhead404 profile image
Dillon Greek

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.

Collapse
 
ben profile image
Ben Halpern

That’s a pretty good question, depending on your results here you might want to spin up your own #discuss thread

Collapse
 
thewhitewulfy profile image
Alok Prateek

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.

Collapse
 
krusenas profile image
Karolis

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 :)

Collapse
 
antoniocs profile image
AntonioCS

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

Collapse
 
shoptechmedia profile image
shoptechmedia

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

Collapse
 
krusenas profile image
Karolis

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 :)

Collapse
 
hussein_cheayto profile image
hussein cheayto

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

Collapse
 
conw_y profile image
Jonathan • Edited

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.

Collapse
 
aadibajpai profile image
Aadi Bajpai

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.

Collapse
 
tammalee profile image
Tammy Lee

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!

Collapse
 
iamschulz profile image
Daniel Schulz

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:

  • you widen your operative range. You've built that frontend, but need a helper function in the business logic. If it seems easy enough, just write it yourself then.
  • it helps to deepen your own specialization. Knowing the server structure can help you settings up caching strategies for your frontend.
  • in the end, it helps you stay flexible. The right learning strategy helps you shorten the onboarding time to any new project or framework.

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?

Collapse
 
mehmood168 profile image
Mehmood

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.

Collapse
 
danjconn profile image
Dan Conn • Edited

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!

Collapse
 
ekimkael profile image
Ekim Kael

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.

Collapse
 
shushugah profile image
shushugah • Edited

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

Collapse
 
dietertroy profile image
Troy

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.

Collapse
 
techhead404 profile image
Dillon Greek

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...

Collapse
 
techhead404 profile image
Dillon Greek

Not to highjack your post.