Signs You’re in a Dead-End Job
thedailymuse.comFor software developers, I feel this career thing works a bit differently. Going up the ladder means managing people or projects, but that is not necessarily more fun than writing code.
I don't know where I see myself in 5 years, but it might actually be still just coding, no actual change in title or function. It's fun and challenging and I imagine it can be like that for a long time.
Instead, a dead end job for me would be caused by projects that are boring, or that the process has become overly bureaucratic, or that the company interests or culture have become too corporate or political.
I moved into management not for career purposes (I could make more money being a programmer elsewhere than being a manager at my current employer), but because after 20+ years or programming I felt I was just repeating myself.
There was no more challenge in it. I could still learn new tech, but I wasn't learning anything new about myself an my abilities.
Even when it came to doing "new" stuff (which as you discover in time is often just repackaged old stuff), I already was 99.9% sure I would master it, and it was just a matter of time and hard work. That not only took away the challenge, but also made me less motivated than my younger coworkers for whom everything was shiny and new, and who didn't have the experience to always avoid obvious (to me at least) modes of failure.
Managing was a challenge I could actually fail at (and still do on a regular basis...).
Yeah, programming is still more "fun" to do than managing, but it now is the kind of fun I do as a hobby (as in, hacking in stuff that will never get finished), not a job. A dead end job for me is a job that offers no more real challenges, and a challenge for me includes the risk of failure.
(Of course one other key motivator was 20+ of experiencing how bad management can completely suck all fun and productivity out of programming.)
That's a great reason to go into management. I also was in a position where I felt there was nothing else to learn as I could just build the same thing over and over. I moved into a different technical area instead.
justinhj, would you mind to tell what you did and what you do now? Did you prepare the move or was it painless to find a different position?
I also don't want a management position and plan a technological move. Are you happy with what you did?
I used to write animation, physics and AI code for video games. I got the point where I was just moving company to company and writing the same system. What I moved into was still video game related but server side. This way I had to learn a whole new set of skills and a new knowledge domain, which brought challenge back to the job. But in addition I had been changing as a person, and I fit in better with server guys and execs than game devs.
My previous company had a "technical ladder" for promotion of engineers without making them into managers.
The general idea was that as you progressed through your technical career, you would be making more and more important technical decisions, measured by the impact to the company.
A junior engineer would be making technical choices that affected one subsystem, a principal engineer might define a protocol between two large components, and an architect would be making technical decisions that affected the entire company.
You can always nitpick these things to death, but I liked the general idea.
It's good that it's a real ladder. My first employer made a great show of having a dual career latter, but in reality there were very few people getting promoted on the technical side. The end of year performance reviews devolved into, "How many reports do they have?" This is ruinous. Software firms are (or at least should be) better at this.
I read that first paragraph "Are you sitting at the same desk, working for the same manager, doing the same work, and earning the same salary as you are right now?" and thought, if I've still got all of this in 5 years time, I'm going to count myself very fortunate.
Office Space: "It would be nice to have that kind of job security!"
Same here. I feel sorry for people feeling like that but I can still relate since I've had soul destroying jobs before (non-programming ones).
I was with my CIO the other day. He turned on his monitor and said 'look, is this what you want to really do?' Spreadsheets on time management, project management, and convincing his fellow Chiefs that he was on the right track. He had a damn good point. I love coding and math.
I have never understood why many companies have executive and managers doing administrative tasks. They should get administrative assistants tracking time, projects, resources, etc. It is a waste of their executive and technical talents.
There are many great things that a CIO can do without having to spend a lot of their time tracking things.
The admins create the spreadsheets, the CxOs argue with each other about the spreadsheet contents.
We can't assume that GP's CIO is not title-inflated.
I don't think it works that differently. If you're happy where you are, that's fine, but working in the same position forever is not my idea of a software development career unless you receive steadily more pay for doing the same work.
It depends whether there's a viable route to promotion that doesn't quickly lead into management territory.
One thing that a friend in management (on the technical side) said that he felt least secure in that position as it meant that he would most likely be fired first if something happened at the company.
Also: Because he was a manager for a few years, that means that his technical skills were almost zero. So he wouldn't be able to be as agile in finding another position as he was as a developer.
The title says it is about Dead End Jobs, but it is not. It is about People That Cannot Stay Put In a Damned Place. Look at this quote:
> "Yes, unfortunately, even good jobs can be dead-end jobs—or positions with little to no room for advancement."
This is the massive obsession our culture has developed around growth and progress. The whole premise of this article is that if you are not eager to make it big and shoot for the starts in your chosen profession, there's something flawed inside you and you should take immediate action to fix it.
There might be a bit of hyperbole from my part, but the article actually suggest to switch careers and follow your passion if you find yourself unable to keep moving ahead. As if the work of a lifetime can be thrown down the window every other day.
Another petite peeve is that you shouldn't want to "still [be] doing the exact same work today as you did two years ago when you first started with the company." If that is the case, it either took you just a few weeks to master your position, or you have never taken the time to actually master anything. Whichever it is you better keep hopping, because sooner or later someone like me is going to come and automate that job from under your feet.
If you ever find yourself in a dead-end job that you love, you'll understand.
In my case, I had to leave a position I really liked because it simply didn't pay a livable wage, with no raise or promotion in sight. Taking low pay to engage your passion is great when you're single, but the game changes once you get married and/or have kids. For me, leaving had nothing to do with the rat-race and everything to do with meeting the basic needs of my family. I suspect others who've found themselves in this situation would be able to give other reasons, too, that are not related to growth for the sake of it.
I have found myself in that situation too, and I also decided to jump ships.
My original point was that it is a qualitatively different position to be stuck in a job that prevents you from reaching your goals (or even get a paycheck above poverty line), than to be "stuck" in a job that fails to challenge your intellectual curiosity.
I agree with you to a point. I do think that society is obsessed over "growth" and "progress." If you are happy where you are, then stay.
The trouble is that I am one of those people who feels a drive to keep "moving forward," whatever that means. I have had a job that was by most measures great, but after 5 years, I was still doing exactly the same thing. I was very good at it, and could do it in my sleep, but that meant the challenge had gone out of it. I needed something new. Sadly, I expect that I will spend most of my life like that. As soon as I master one challenge, I will be seeking a new one.
I think there is a time for everything. Early in your life (professional or otherwise) the heuristic to grow/progress/move forward makes a lot of sense, because you have limited resources. So whatever are your goals, you are better off if you start moving ahead in a somewhat general direction as soon as possible.
But as you make progress, you hopefully gain experience and insight. You learn what it's like out there and what role you want to play in it. Otherwise, the world comes and tell you who you are and who you should be. At this stage, course correction and precision triumph over raw speed. There's a song I like a lot which says: "I don't know which goes faster, the mountain or the crab".
At the end of day, every life form starts with rapid growth. Some of those reach stability, others reach the carrying capacity of their environment.
> " The whole premise of this article is that if you are not eager to make it big and shoot for the starts in your chosen profession, there's something flawed inside you and you should take immediate action to fix it."
It seems a reasonable premise, given the audience of that site.
Though they might want to have considered prioritization. E.g. If you're constantly networking, job-hunting, and proving yourself at new firms, that's necessarily less time for you to 'hack' other areas of your life.
A 'good' dead-end job is a pretty great place to be if your spare time is focused on writing a book, building a house, training for a triathlon, etc.
Personally, I don't advance solely because of the money. My main motivation is facing and overcoming new challenges. I've worked for a couple startups and another small company. In my experience I face challenges at the start and overcome them while leaving my imprint. Soon after, things are better then when I showed up and the place starts feeling stale. I suppose I just hunger for more punishment. :p The increases in pay are just an added bonus that makes the other stuff in life slightly easier.
I'm in a job a bit like that, not much room for advancement. Not much of a challenge, but the pay is about double what most other places in my town are paying because it's a small location of a much bigger company. my family is here and we have no intention of leaving so for now it's a very comfy dead end job with good benefits etc.
The biggest threat with this kind of job is the growing inability to work elsewhere.
if been in this position once, good pay, secure job, no risk of being fired even during crisis ( apoint proofen during 2009 and 2011). Yet, being under 30 back than I considered the risk of being unemployable hire than the benefits. Would I have been 50+ I would never have considered leaving.
What actually shocked me was how HARD it really was to work somewhere else. And I almost failed, so only one year more at this job would have been my career end. Yet another shock was how used I had been to that kind of security, it's right that freedom can be scarry. in retrospect, despite everything, I still consider that one my better decisions up to now.
I'm in a similar situation, very good pay, comfortable, family. No room to advance in anything but pay, the job is rarely interesting with a very high level of frustration due to ever present politics.
I've basically given up on fighting the politics and instea focus on working on self-starting things that can't be derailed while studying for a career realignment.
My biggest fear is staying to so long that I atrophy and/or find myself molded by the culture such that I'm unhirable.
I'm hoping to move on without taking too dramatic a pay cut (<25%).
Golden handcuffs.
Yes I agree. My brother works in a bank and I think he complains since 25+ years. The only problem: he earns so much, where ever he'll go, it will be significantly less.
In an interview many years ago, an HR monkey told him, he'll just hire 3 young people for the money. One of them will certainly make it.
Golden handcuffs indeed. So the point with the missing raise is not necessarily a good point.
Velvet coffin.
If you are a programmer in a company where IT is seen as a cost center, you are in a dead end job.
If you are programmer and your manager and his/her manager are PMPs , you are in a dead end job.
Spot on.
The tendency of any cost center is to be replaced by cheaper consultancy or automated away. And in companies with entrenched managers, hackers never move up.
When I think of "Dead End Job", I think of a clerk at a convenience store or fast food joint, the guy who drives a tractor for the company that won the contract to cut the grass on the side of the highway, or the janitor comes to clean our offices at night.
It's hard to imagine a working programmer making $80K at a stable company as being in a dead-end job. Maybe in the strictest sense of the word it's a dead-end if they don't have the opportunity to advance, but if that is the end, then they didn't do so bad - and if you're in that situation and you do think that way, ask the janitor who empties your trash at 8pm how he feels about your dead end job.
If you feel like you're not reaching your potential, then yeah, I know what you mean. I feel the same way. But me not reaching my potential is different than having a dead end job.
5 years experience is very different than 1 year of experience repeated 5 times.
Many positions aren't designed for growth, and you really need to ask your self if you have been growing professionally when in that position. You risk losing whatever edge you once had.
IMO having side projects (with some sort of attached business goal) / and some contracting is a great option if you aren't ready to leave a job that is going nowhere.
Most of the responses here are from developers but from a more business perspective, I find this article somewhat flawed. Regarding "It Would Take a Big Event for You to Get Promoted," the author says "For example, say your boss has been in her position for five years, and her boss has been in his position for seven—and they both seem very comfortable where they are. That means, in order for you to move up, something would have to entice one of those big wigs out of his or her position. "
A good manager should be able to promote and advance their employee if they're adding significant value even if it doesn't mean taking the manager's position.
> A good manager should be able to promote and advance their employee if they're adding significant value even if it doesn't mean taking the manager's position.
Do we live in the same world?
I've never seen a manager promote anyone based on performance, this is even irrational (if it's doing a good job with the current salary, leave at it). If you're too valuable to a company, chances are your manager is looking at ways to not be dependent on you rather than luring you in staying with a promotion.
The only time I see employees promoted, it's for political reasons (e.g., a manager promoting someone he can control between himself and some employee he can't deal with).
You're making it seem inevitable that valuable people will be held back in stale roles. Things don't have to be this way, although I have heard of places where they are.
In other firms, new tasks come along and they need good people to lead them. People who have developed a smaller system that is now in maintenance mode are a perfect candidate. And that is how you advance.
I've found myself recently in that situation. That's what I am going to do about it:
1) I've been reading about startups and etc for ~2 years but have never did my own project ("but well there is XYZ which is perfect..."). At the moment, I have tabs open and looking for ideas for MVPs home page's design. The experience will be extremely valuable for the future.
2) I felt like I have something to say, but kept in my mind. Now I write everything to google docs, leave for a while to cool down (sometimes it looks like awesome idea but a day later I find it as an embarrassing) and going to publish as a blog.
The hardest thing about it? There's almost all the time "well it's not totally perfect... just few more days!".
Since I'm still a student (one year left), many people at networking events are like 'oh sounds interesting... you just graduated?' 'nope, one more year' 'oh......', the opportunities are a bit more limited.
You're still a student? The first year at a full time gig is going to feel a bit overwhelming. You'll have so much you have to catch up on, either technology wise, development practices with a larger team-wise, or just design-wise. This type of thing will sink in once you've been somewhere at least 2 years. Then you'll understand.
I know what you mean :)
For the last nearly 2 years I make living from doing part-time gigs. At one gig I was lucky to have a rather experienced manager and he taught me about OOP design, a bit on Agile practices and testing. That was an eye opener and put me on the right track for other gigs.
When my class mates talk 'oh man that agile thing is such shit, I just wanna write some code' I tried to convince them at first, now I just smile :)
To be fair to your mates, a lot of places that claim to do 'Agile' do a shit job at it. It turns into a cargo cult where they wrap their bad practices in Agile lingo to make them sound good. I've seen that happen a lot at various companies.
If that's the only 'Agile' you've been exposed to, then it's perfectly reasonable to think 'oh man that agile thing is such shit'.
I agree with you. It was somewhat reasonable basic stuff - asking for requirements (because they were intentionally ambiguous), working in sprints (rather than you have to do this, come back in 4 months), etc. I just believe it is hard to totally 'get' it in university and when your biggest previous application was ~3 days of coding lab :)
How can I tell the difference between Agile and 'Agile' then?
The same way you spot other cargo cults: look at the team's processes critically. Start from the basics, with the Agile Manfiesto. It's well summarized on the Wikipedia page here: http://en.wikipedia.org/wiki/Agile_software_development#Agil....
I believe that manifesto is the only important part of Agile. Everything else is just suggestions about how to accomplish that goal. If a particular practice does not make sense for you, in your particular situation, then it's garbage. So, look at your team's processes and ask yourself this:
If you were to reverse engineer a process that would accomplish the goals of the Agile Manifesto (e.g. the developers know what needs to be built, and there's short feedback loops between developers and stakeholders), would you end up with something that looks like what they're doing? Could you drop any part of your process and have things still work?
If you discover too many red flags -- things that serve no purpose except to "look Agile" -- then you may be in a cargo cult.
If you see this on a slide, you'll know: "Sprint 0: Envisioning and Planning"
If you spend 40+ hours a week working on other people's projects, hasn't the worst that can happen already happened?
The plan is that you work until you have enough money to hold you for a year or two (so you can work on your projects). If they cut your pay then the quit date is pushed back, if they give you a raise then it's pushed up. I think that covers it.
So dead end means... no raise in sight?
But what if I don't want a promotion and want to cultivate mastery instead? This article is kind of wide of the mark for HN.
It's kind of depressing to see that the current mindset seems to be to quit as soon as it gets a little difficult.
I have gotten used to taking pride in the fact that I deliver only slightly shitty work under very shitty circumstances.
I think the attitude is more like "quit when it gets too easy".
Oh, that's simple - you are 9-to-5 coder in a language which name begins with J or ends with #.
In what kind of mind distortion field are you living? I used to write code in Java and Jython for a big science project. Now I switched (avoid the word advanced) to a new big science project, where we use c, c++ and python.
This is a nightmare compared to everything we did before. I always liked to work in Java, but I never realized how powerful it is compared to the other stuff. We as a team are close to switching languages and starting from scratch, its so bad.
A significant portion of the ML/NLP world runs on Java. Its the worst language for the job, except for all the others.
A lot of people (myself included) see Scala as being one step forward, two steps back. Some good features, and then a whole bunch of poorly thought out, wankerish features that can only serve to screw up your code base if some developer gets bored and makes the mistake of using them.
> and then a whole bunch of poorly thought out, wankerish features that can only serve to screw up your code base if some developer gets bored and makes the mistake of using them.
I'd love to see an example of that!
Sure, the crazy symbolic operator overloading and a bunch of libraries that encourage you do do things like a :=: b and have it mean something.
Also, there's something about the net sum of the type system where it feels like there are a lot of concepts at work and it's easy to get lots with what type something is, exactly, especially if you didn't write the code and you're just skimming it.
Scala has neither operators nor operator overloading and I don't know any library which "encourages" doing those crazy things.
There are a few places where symbolic method names are used, and in pretty much every case, it is well-established prior art: +, -, *, /, etc for math operations, ! for sending actor messages (Erlang), &, | ,^ for bit operations (C and friends).
Regarding the type system ... well, the alternative is stuff like reflection and casting. Both introduce the possibility of runtime failures and make refactoring and reasoning a lot harder.
Sure, sometimes a well-placed I-assume-this-can-never-fail cast is exactly what one needs, but I'm happy that Scala gives developers another, safer option here.
well said.
Of those 3 languages, I would blame C++ for laying out a minefield.
Considered FreePascal or Go, maybe? Pascal doesn't have a garbage collecter, but it's not "pointers everywhere" like C, and string values are reference counted. Having done a lot of C, I really miss function pointers when working in Java. (Pascal calls them procedural types instead of func ptrs)
What field are you in, and what are your biggest pain points with that stack? (I have a long list of issues in "small" science, curious how they compare)
I am in astrophysics (lots of telescope and satellite data). Our main point is that Java provides a complete environment: no shared libraries, no compilation problems when moving to other machines.
The next is productivity. In java, I could focus on the problem. In c/c++ it takes only minutes, until I have to think about why my code doesn't compile. That can easily take me away for hours, sometimes longer.
The most significant downside of java is for me memory consumption. It needs a lot of care and experience to get that right.
Python on the other hand is nice. Although it does not integrate with c++ as nicely as jython integrates with java.
Thanks for the perspective. Sounds pretty familiar. Aside from missing math syntax, Python by itself/packaged can be great -- until it's slow, which leads to the real problem for me, that compiling mixed Python/C[++] and dependent libraries is just absolutely horrendous on Windows. Unfortunately, Windows is where my users are.
Here is a glimpse of that reality distortion field on this site: http://talks.golang.org/2013/oscon-dl.slide
And this very site itself is another reality distortion.
What are your particular problems with C#/F#? Honestly interested.
They probably get paid more than him ;)
There is a lot of truth to this statement. I've seen so many jobs that are looking for .NET coders that pay so much more than most other languages...
So everyone working in J or F# has a dead-end job?