DEV Community

Sloan the DEV Moderator
Sloan the DEV Moderator

Posted on

Have you ever worked with an engineer who never leveled up?

A co-worker of mine was let go and the consensus amongst the team was an unspoken understanding that although they have 4+ years of experience, they never leveled up past the Junior level.

Have you ever had a co-worker like this?

Is there anything management could've done differently, or are some engineers just hopeless? Is there something we as co-workers could've done differently?

I wouldn't like to add further details for privacy's sake, so I'm more hoping to hear about others' experiences rather than the circumstances here.

This is an anonymous post sent in by a member who does not want their name disclosed. Please be thoughtful with your responses, as these are usually tough posts to write. Email sloan@dev.to if you'd like to leave an anonymous comment.

Latest comments (46)

Collapse
 
ssimontis profile image
Scott Simontis

After losing a relationship that meant the world to me because I was overworking, I have been forced to reconsider my career priorities. Did anyone at work give a shit I spent all that time on the project trying to make it succeed? Not really. Did my girlfriend notice where my hyperfocus was directed? Definitely.

Most careers don't seem to have this problem. I can't imagine accountants looking down at a coworker for not making spreadsheets in their spare time, but for some reason we're expected to dedicate all our time to pursuits which may or may not pay off and everyone acts like they always love the work they have been assigned. Then we wonder why we see such a massive burnout rate and some people walk away thinking the solution to burnout is to code even more.

Collapse
 
anilsansak profile image
Yaşar Anıl Sansak

Your point about other careers.. Wow. I have never thought about it. Really opened a whole new perspective for me. Thank you!

Collapse
 
kspeakman profile image
Kasey Speakman • Edited

Everybody is arguing about the semantics of the question, but I think it is fairly obvious what is being asked.

Personally, no I do not believe I have worked with a "first year of experience repeated X times" developer. I have certainly worked with developers whose coding practices I disagreed with. For example, our team once got a coding contribution from another team, and the employee had a more senior job title than mine. It was using all static classes and Hungarian notation. I was completely floored and didn't want it in my code base. Later on I discovered Joel Spolsky's blog and read Making Wrong Code Look Wrong. And then I also started to think about this employee's situation, the team they were in, the kinds of tasks they routinely did, their history. And their strategy made sense in context. And their code was sound, just not organized according to the best practice of the day. Sure, it was going to take some work to adapt to our code base, but my initial assessment of the developer was misguided. And maybe I also felt some competition because their title was above mine. Before I realized all that, I ended up wasting political capital with management attempting unsuccessfully to avoid integrating their code. And that pointless exercise could have been avoided by not presuming myself to be an impartial judge of code quality.

Collapse
 
lytecyde profile image
Mik Seljamaa 🇪🇪 • Edited

is not breaking under pressure also one of those reasons people might be not given contract renewal... I smell churn.
However, I came to read this post because it seems to apply to me too! I have not really levelled up.

Collapse
 
lgtout profile image
jabiodun • Edited

Let's not turn what's fundamentally an economic issue into a moral issue.

There are always companies that need junior developers. If your company has decided it needs senior ones, that's no reflection on the junior dev's qualities. There are other companies looking for someone with his skillset, and not willing or able to pay more experienced devs.

Furthermore, for all we know, a person like him could be a genius at what he does in his spare time. After all, Einstein did much off his early groundbreaking work while employed in a patent office doing what he himself acknowledged as grossly undemanding. That's why he took the position, for heaven's sake.

And such a person doesn't need to be a genius anyway to make their choice defensible. Think of the sacrifices required to "level up". Perhaps he doesn't do so because he considers spending that time enjoying the pleasure of watching his kids grow more valuable. Can you begrudge anyone that?

There are many paths to a good life. Those known to each of us are but a fraction of the vast possibilities available.

Collapse
 
cheahengsoon profile image
Eng Soon Cheah

Yes. From my previous company,they from company started until now. When telling the Management, move the data to the cloud , they just entertain the management ,just mention in Planning.

Current company, still got little co-worker does not upgrade their skills from time to time.

Collapse
 
k2t0f12d profile image
Bryan Baldwin

Imprecise terms in the problem description.

1 Consensus

  • argumentum ad populum

Didn't let you pollute the environment with yet another JS framework? Uses the wrong shell scripting language? Sounds like an office politics problem, not a technical issue.

2 Leveled up

People don't "level up" in roles, unless they are happy with employer exploitation. You get promotions and raises. You get what you pay for. Leveling up is doing 80 hours of work and getting paid for 40 of them.

Collapse
 
aminmansuri profile image
hidden_dude

That's not what I understand as "leveling up". What I understand is:

  1. When you start you can't do anything without asking a lot of questions (you best ask questions or you won't last very long)
  2. Eventually you start being able to do things on your own, you don't need so much guidance and mentoring, you can get the job done
  3. Over time, you begin to be able to understand bigger picture features, and develop beyond what you're told. For example, you don't need to be told to validate your form inputs, or write unit tests because you know you have to do that
  4. Later you're now able to give meaningful input in design decisions. While previously you just listened now you give valuable advice
  5. You are able to push back on more senior developer's bad ideas. You notice the mistakes they make and help in the debates to make things better
  6. etc..

Other aspects also include the ability to estimate code and actually meet your estimates, organize your time well, ask the right questions before jumping into coding, etc..

The problem is when someone starts in #1 and can never make it to #2. Or gets to a certain level in this list and years later is still stuck in the same level. If you're going to work for me for 5-10 years, and you get at least annual raises, the expectation is that over time you're contribution will be more. If your contribution level stalls, then you're stagnant and we may consider either freezing or limiting your raises or even firing you.

Your reference about "employer exploitation" doesn't seem fair. Most place I've worked in, if you do your job, you get some nice raises, you get stock options, you get profit sharing or other benefits. If you've never seen that then you either: live in the wrong place, work for the wrong sorts of companies, or are limited by your own attitude. After college I was quickly making a lot more than my non-tech peers. I never felt exploited. Rather I felt guilty that a lot more hard working folks with a lot more experience (like teachers with over a decade experience ) where making about the third of the salary I was making.

Collapse
 
kelvinmai profile image
Kelvin Mai

Yes plenty, and it goes to show that years of experience is a terrible indicator of skill, expertise or passion. But I think it has to do with their perspective and possibly the developer culture at the company. Some people are just doing it for a paycheck without any passion behind it which means minimal effort and stagnation, and a friendly culture that promotes learning and doing your best goes a long way to reinforce that self improvement mindset that we like seeing.

Collapse
 
almostconverge profile image
Peter Ellis • Edited

To be honest, I don't really like the terminology, as it implies some kind of gamification which work shouldn't really be in my opinion. But that's probably for another discussion. :)

But of course I know the phenomenon and I've seen it happen in many different ways.

I worked with people who were simply not cut out to be a developer. They hated every second of the job and were really difficult to work with. I always wondered why they were doing it in the first place.

Then there were those who reached the end of their abilities. Maybe not the absolute end, just a point where it took tremendous effort to learn more stuff. They were much easier to work with but you had to account for extra time to explain problems and be aware of their limits. The main problem here was when management weren't aware of this and lumped everyone in their charts as 1 developer-month.

The third category were the 9-to-5 developers. They came surprisingly often with maths PhDs and were undeniably clever but they had no motivation to do anything beyond the bare minimum. At first I found this irritating but once I got used to it, they were one of the best co-workers to have around: they were very reliable in their output and fun company.

And I'd add a tentative fourth subgroup too: those who at some point realised their calling was elsewhere. They'd go on to become middle management or project managers, architects or something even less technical. My experience in dealing with them post-transfer is that they were generally competent in their new jobs and their ability to switch perspective to see the dev team's view served them very well.

All in all, I think it's perfectly fine for people to approach their work however they want so long as they deliver what is expected of them. Whether it's financially worth it for a company is another matter but I'm not the guy making THOSE decisions.

I would however gently ask people in group 1 to try to find a more fulfilling job, for their own sake really.

Collapse
 
nuculabs_dev profile image
Nucu Labs • Edited

At my first job I felt the same for almost one year.

I was a junior developer, passed interview and got to work on a massive embedded Linux C project, over 2 million lines of code. The project was also in maintenance, with very few features being added.

My first 3 months were spend writing unit-tests, but management didn't care about the tests or if they were written correctly or not, code reviewers (which were more seasoned developers) didn't care either, all they wanted was to raise the code coverage so they could have a nice tests report, the higher the better...

After finishing with the unit tests I got some dev tasks, extremely boring and unsatisfying. Half of the time I'd triage tickets to send them to another team to fix, and the other half I'd look at a file of 800MB of logs, with very little time spend doing coding. Imagine that you've never saw the code that handles Bluetooth and you get a task complaining that some random phone brand from china can't connect to the device via Bluetooth, all you had was your code and a huge log file.
This has been going for about one year.

Luckily, I got moved in a different team and this is where I got my first promotion from Intern to Software Developer 1. I've began to work closely with a brilliant senior developer. The component on which we've worked did well and got signed off, although the project didn't and in the end It failed.
I left the company about 5 months before the project was announced a failure and right before I left I got promoted to Software Developer 2 for some reason.


Now, I still have friends working at that company, they aren't very passionate about coding and they spend most of the time doing "unit tests" to raise the code coverage. From my perspective I don't think they will evolve if they just come to work, do the tasks and go home. You have to do something extra to improve your skills if your job doesn't challenge you, or else you fall behind.

I think the best thing management can do is to pair a senior developer with a junior developer.

Collapse
 
olegthelilfix profile image
Oleg Aleksandrov

It's a violation of the "KISS" principle. A code should be short and simple. A 1 string of a code is better than 6 strings of a code.

return isSomethingTrue();
Thread Thread
 
jenc profile image
Jen Chan

I would love to be told this at work. At some point he'll learn!