I’m a mid-level backend dev, ~3 years YOE. I wanted to seriously start thinking about expanding my skillset and learning new stuff / new technologies outside of my daily tasks. But I’m unsure of how to start, how to decide, what would be most helpful to my career, etc. Any advice?

25 points

I found it crazy useful to study old, established, mature technologies, like relational databases, storage, low-level networking stack, optimizing compilers, etc. Much more valuable than learning the fad of the year. For example, consider studying internals of Postgresql if you’re using it.

permalink
report
reply
1 point

This is solid advice. Learn the fundamentals, and maintain conversational knowledge of more cutting edge tech. As you get stronger in the fundamentals you’ll be able to speak intelligently about why you might choose to use some new fangled thing.

permalink
report
parent
reply
18 points

Learn to talk to people and maintain connections. It is most invaluable skillet that will help you both carreer wise and professionally. The more people you know the better it is for your carreer. Learn to present yourself. Visibility matters very much, so it also good to “sell yourself” sometimes. There is really fine balance between making a sell and just bragging, people don’t like second, but okay with first. Learn to teach other people and help them. Most troubleshooting experience I get now is from helping other people. They have a completely different way of doing code that I am (as a whole) and I am just getting this free xp by helping them and also adding one more trouble to my personal solution cupboard.

As for technology, pick what you like and master it, but also make a peeks at what is currently “in vogue”. For example I really have no depth knowledge in the current frontend space, but I did take a passing looks (and build simple tutorial projects) with react, angular and dart. It didn’t really required a much effort from me, but this helped in the long run to be aware.

permalink
report
reply
13 points

There’s three approaches I use here.

  1. Find some bit that you bonk your head into regularly. Maybe it’s query optimization. Maybe encryption or auth. Maybe infra setup. You can usually muddle through it by reading the 5th comment on SE or finding a coworker’s working code. But you don’t actually understand how or why it works.

  2. Think more broadly of where you want your career to be in 5 years, or what you want your next job to be. Map out what you know and what you need to know to be successful in that role. Study the gaps. Sometimes it’s not technical skills.

  3. Pick a project you find interesting that has nothing to do with your current job responsibility. Frontend? IoT? Systems level stuff? Dig in! You will find that unrelated computer stuff is in fact all related in some way.

The least adventurous approach is to work at the edges of what you’re already doing. Are your apis usually consumed by react components but you’ve never written one? Try writing a react app that consumes one of your services and see where the pain happens. Even if you never use react again you’ll have learned something about your work from a new perspective.

Don’t spend too much time on anything that isn’t fun. Chase joy and fail fast.

permalink
report
reply
2 points
*

Solid advice. Try something tangentially related to what you do, at a sufficient but comfortable distance. This will help you grow as a developer. Also totally seconding the last line - it must be fun.

permalink
report
parent
reply
12 points

As someone with more than 5LOE I’ve found that technology matters less and general concepts are more valuable.

So look at system design concepts, how infra you use typically works (pubsub, databases, etc), how companies solve problems (engineering blogs from companies like slack, meta etc)

Learning new languages only helps if you are currently working on something obscure.

permalink
report
reply
6 points

undefined> 5LOE

What in the world is LOE? Level of effort?

permalink
report
parent
reply
1 point

I think level of experience

permalink
report
parent
reply
1 point

It’s apple autocorrecting YOE lol

permalink
report
parent
reply
3 points
*

When I was job hunting last time, I did a fair amount of studying into systems design. There’s always obviously more to learn but I already have a fair amount of exposure to it.

One of my plans is to read more industry engineering blogs for sure though

permalink
report
parent
reply
8 points

I mean I’m being honest I’m a little bit in love with Rust haha, so I can recommend learning that if you haven’t yet, it has teached me the most of how to design nice programs/libs (in an efficient manner) and generally just feels nice to write. And a very relevant side-effect: it seems like it has a rapid growth also on the job-market. I really feel that growth in terms of improving library quality and tooling (rust-analyzer is I think really the best language server by now), not the least seeing ever more often something like this: https://opensource.googleblog.com/2023/06/rust-fact-vs-fiction-5-insights-from-googles-rust-journey-2022.html)

permalink
report
reply

Experienced Devs

!experienced_devs@programming.dev

Create post

A community for discussion amongst professional software developers.

Posts should be relevant to those well into their careers.

For those looking to break into the industry, are hustling for their first job, or have just started their career and are looking for advice, check out:

Community stats

  • 4

    Monthly active users

  • 76

    Posts

  • 1.1K

    Comments