I am considering leaving my job for this precise reason. I feel if I worked under anyone else I would enjoy what I am doing but currently it is impossible.
The problem is the guy has no managerial skills. Employee moral across the company is rock bottom. We get tasks day-to-day because he cannot plan ahead. We often drop projects to work on something else, only to drop them and work on what we was originally. Manager never sends final designs or when he does they later change anyway. (These are not tweaks, tweaks are understandable. This is the entire page layout) I could go on...
Why haven't I quit already? I am currently indispensable to the company I work for. I need to support my family. Not sure if I want to risk it on a new job in the current climate. The short term plan is to continue being miserable.
NOTE: I would go around my manager if I could. Unfortunately it is a team of 7 and its this guys company.
>I am currently indispensable to the company I work for.
That was me a few years ago.
I ended up putting up with it for an incredibly stressful 18 months and leaving anyway.
If I could do it all over again, I would have made a stand leveraging my indispensability. Either I succeed and effect change or fail and leave anyway.
>I need to support my family. Not sure if I want to risk it on a new job in the current climate.
Obviously, you'll want to find a new job before you quit, not the other way around. Less obviously, consider the impact of your "rock bottom" morale and apparently dead-end job on your family.
>The short term plan is to continue being miserable.
Short term plans have a way of becoming regrets without a long term plan.
> Less obviously, consider the impact of your "rock bottom" morale and apparently dead-end job on your family.
to add.....
When I was much younger I took my mother out to a movie. It was a comedy and a pretty good one at that (don't remember the name). We got to the parking lot and my mom said "This is the first time I've seen you smile in 6 months". Resumes went out the next day and a few recruiters I knew were called.
You might not notice the cost of a bad job, but the people around you will see the signs. I did love the "concept" of the job I was doing, but it was killing me and looking back, it took a while to actually recover. I knew I was frustrated, but not how far gone.
That's my story too, felt like leaving after a year but ended up staying for 18 months. Even got a decent pay rise, and managed to change things a little, but the enthusiasm faded quickly, it was a dead end.
The day I stepped up and tried to set everything straight was also the day I decided to quit. Fast-forward a few months, I'm earning 2x as much, and working with everything I wanted to.
I too thought I was indispensable, but the company you have in your head can be very different from the managers'.
>I too thought I was indispensable, but the company you have in your head can be very different from the managers'.
This is an important observation.
I'd wager a manager who doesn't recognize the way he/she is allowing if not creating a dysfunctional workplace doesn't recognize how/what makes it work in the first place.
The only thing that's indispensable to shitty managers is their own power/security.
It's not even that. It's that they don't care. Most often they care more about power and process than results. It doesn't matter if you're "indispensable" to the company. A company will cut off its own nose to spite its face, and it will relish doing so. Sure, it may mean a huge setback for them, it may cost them millions even, but often they don't care. They'll just hire more people and apply enough effort to continue working.
The one thing that took me a long time to realize is that even when it comes to something like software if you throw enough half-assed labor at a problem there is a reasonable chance that eventually something of significant legitimate value can be created. No, it probably won't be as good as something created by a bunch of geniuses, but it can still end up being "good". When you play the long game or the big game you can afford to rely on half-assedness to work out in the end.
Oh, it's plenty different. First off, software is not one thing. It encompasses more orders of magnitude of difference than almost any other industry. At one end you might have throwaway fart apps or single serving joke websites and at the other end you might have spacecraft avionics or industrial systems control or banking systems, and in the middle there is a multi-dimensional realm of tremendous breadth and volume. Additionally, software construction is by its nature creative. Creating a million or a billion or even a trillion copies of a piece of software is a more or less trivial and heavily automated task. Software isn't like making cars or houses or bridges. When you make a bridge there is a lot of work that goes into design but most of the work is in implementation. In software the implementation (the actual running of the software) is automated, all of the development work and all of the so-called "implementation" work is in truth just design work on finer and finer scales.
The combination of all of these factors makes software a different sort of beast than a lot of other work. Now, as I said, that doesn't mean that you can't still attack it with brute force and obtain results, but software is actually one of the realms where that is one of the least effective strategies.
This is ridiculously arrogant. All of the arguments you make for software engineering being different can be applied to any other engineering discipline. Throwaway fart apps == single-use plate connections or custom fab bolts. Spacecraft avionics == spacecraft structural design. Etc, etc.
Your statement about design vs implementation shows that you're clearly outside of your knowledge space when talking about other disciplines. Depending on bridge span, length, and construction method, the man hours required for design can be much more than those required for construction.
Software is not really all that different from any other type of work. It even shares the trait that people that are part of the software sector think that their sector is somehow inherently different.
sigh Let's call off the angry accusation slinging straw man slap fight and just pencil in on the official forms that we did it, shall we?
I haven't said, nor do I mean to imply, that my dad is better than your dad, err, I mean, that software development is somehow on a higher plane or superior to other work. However, there is something that sets software apart from most other work in that it is almost entirely design work, even "construction" is design work. (Of course, there is often something that sets most genres of work apart from other genres too, every industry has its unique aspects.) A particular engineering task might require more man-hours in design than in construction but that is an edge case, and the ratio is unlikely to be higher than an order of magnitude, the norms still apply. And again, software sees a rather larger range of scale than almost any other industry. The difference in, say, the amount of data handled by a given piece of software can range from a single byte (or even a single bit) up to petabytes or higher (the LHC processes zettabytes of data per year). That's 21 orders of magnitude. The difference between the smallest features in a microchip and the longest superhighways on Earth is only 15 magnitudes, and those are considered to be hugely different industries.
The main point I wanted to get at though was that due to the primacy of design individual talent can often have an outsized impact on overall product quality or capability. You certainly see that in many other disciplines but not necessarily on the same scale. Because, again, it's not terribly rare to have a situation where a piece of software developed by a single developer is just generally better than one developed by a team working at a multi-billion dollar mega-corp. That's the equivalent of some guy building a Mach 10 plane in his garage that runs on solar power. You tend not to see extremes on such magnitudes outside of software.
Indeed, it's even a driving force in the industry, as the idea of being able to build some new or better product from nothing and scale up to a billion dollar company in a matter of years starting from only one or two founders is rather common in software and shockingly uncommon outside of it.
So your major point is that software is unique because it:
1. Spans N orders of magnitude in scale which is M orders of magnitude more than X sector.
2. A single individual can put out superb products while some teams put out mediocre products.
3. The possibility exists for companies to be created with J founders and reach a valuation of K in L years.
Sorry, but none of these are unique to software. They're just the same arguments for anything else with different values for the variables.
Again, your sector is not unique. Last time we thought software was a unique sector lead to the great "paradigm shift" (as Greenspan called it, I believe) of 2000. You might know it better as the dot-com bubble.
Being able to earn some money on the internet does not make you any smarter from any other profession. So it's just the internet what makes you feel so special. Good luck software engineering your bilion dollars without it.
I think in many cases people over-estimate their worth. Where I work I am the only real developer. I wrote and maintain all the products.
This makes me pretty indispensable. It also helps that before I arrived the guy in charge of the company had a bad time with at least 3 developers. If there is something I cannot do he tasks me to find someone and manage them so you know...
Obviously, guy could find someone else. Someone else could take the reigns of what I am doing. However transition time and the guys past experience with developers makes this very unlikely.
While I know nothing about you and your skills, this doesn't have to be always that simple. People who are "the only developer" in a company often get detached from the developer community, living in a kind of technology bubble they created. These people always solve the problems "their way", often obsolete, using inferior tools. They can write tons of code, when there's already a tool which does the trick just a google away. Again, I am not talking with you personally in mind, but simply being the sole programmer doesn't make one indispensable.
Please do not believe he is unaware of this situation and is not made nervous by it. Unless he is a fool - which he cannot be so much because he trusts you to get the job done :-)
He operates in a market for lemons, but one day it may be more comfortable for him to risk getting a Lemon Consulting firm than live with the stress of one guy who might leave and take the whole thing down with him.
I think, as a general rule, people overestimate the value of their own skillsets/contributions and underestimate the skillsets/contributions of others. It is probably a Jedi mind trick to make ourselves feel more important/smarter/what have you. Luckily the free market for labor mostly exists (ignoring possibly shady deals between certain large tech companies) and people feeling undervalued can test that theory by shopping their skillset around. I think more people feel undervalued/underappreciated than pursue the "shopping around" angle. There are lots of reasons/excuses as to why, but protecting one's ego probably has a role, acknowledged or not.
Once I was the only "indispensable" developer too. Also under a bad managing owner. When I left I offered to help in time of a crisis. Never heard of him again.
Ask yourself this: do you get paid for the risk of you leaving? And ask yourself this: can your family enjoy you when you feel bad?
I think in many cases people over-estimate their worth. Where I work I am the only real developer. I wrote and maintain all the products.
I learned this lesson the hard way, long ago, in exactly that same situation -- it took two times -- by attempting to use leverage I didn't actually have but believed I did.
I hope most people are less dense than I was (hopefully "was" is the right word there), because no matter what percentage of the work you do or how deep and unique your knowledge of a system is, you can be replaced. It may not be easy or quick, but if you make yourself a nuisance, get on someone's bad side, or any of myriad things in and out of your control, you can and will end up on the chopping block, wondering what just happened.
As an anecdote to disprove that, I know of a number of small businesses that were doing decently that tanked shortly after a key employee resigned. It happens fairly often in small companies, especially in the case of a sales manager who maintains most of the personal relationships with clients.
If I leave my company they would simply have to drop the system I basically made on my own.
Not saying it cannot be done, but it would lose them a ton of money. Yep, it's a double-edge sword because it puts a non-trivial amount of pressure over me. Even if they found someone with the rare combination of skills required, it would set them back years in the most optimistic scenario.
So yeah, "indispensable" people do exist. In the sense that you can lose big by parting ways with some people and not effectively replace them. Obviously life would go on, eh.
It can work both ways. A brilliant employee who is hard to replace can add a lot of value to a company. If you insist on creating a process where developers are replaceable cogs in a machine the output you get will look like something that came out of said machine.
Managers should encourage employees to become highly valuable and at the same time manage the risk of those employees leaving some day - preferably mostly by creating the right environment for those employees to flourish.
what this means really is that there isn't a lot of collaboration and communication between employees. If one person holds instutionalized knowledge that isn't written down in a wiki or something, then they, or their manager is not doing their job right.
I don't agree with my boss a lot of time. Recently he brought up the concern that "what if" something happened to me? He has a solid concern, I told him that it would be and is wise to have another developer on par with my knowledge and skill set. He said he doesn't want me to leave (sometimes I question that, because I'm not his deisred "yes" man). I've been on the fence for a long time about whether to leave or not, because of him. I enjoy most everyone else and the product we build/sell and company. After thinking about this more I realized if we do hire someone to cover me while on vacation or if I have an accident... the social norm/aspect/idea of duty and obligation to help and support my fellow co-workers would be lighted on my shoulders... making it easier for me to leave!
The option was basically not doing it. Since I made up for my cost it wasn't a bad idea I guess. Now if I get struck by lightning then they will lose future earnings but that's that. It's a big company and other parts of the company would continue just fine.
Not all resources are exchangeable, esp. when some niche research is involved.
The trick is to make people think you are indispensable.
I think more than often the real challenge is the knowledge, not the skills. IIRC there was a post linked HN about that problem, written by GitHub or Stripe maybe ?
Many times there exists the feeling that quitting your job makes you a traitor. Making employees feel indispensable feeds into the traitor concept, making them less inclined to leave. We hired a manager at one of my previous jobs who during a meeting literally told us to never mention any former employees!
Contracting, though I've never done it, sounds like a much healthier relationship between employer and employee. It does have it's own negative aspects though. I wish full-time jobs weren't such adversarial relationships where you're either with us or you're against us, if you quit.
I could put a monkey in someone's chair with the same job responsibilities. Doesn't mean I've replaced that person; I've simply found a way to occupy their space and assign their tasks.
I think people mean that in the current environment and configuration of the team, they are indispensable. And that of course, can be true. The team would not be able to function without them.
Of course a company can always find another fool to replace them.
Many smaller businesses work that way. They have a core group of often arrogant and unskilled old-timers that for one reason or another, cannot and will not be fired. I've seen this more than once, with clients and companies I've worked for.
The company cycles through talented new employees every other year. Once these employees are burnt out and move on to greener pastures, the company will find a new sucker to fill in their shoes. Rinse and repeat.
I think you've outlined just how undervalued managerial skills actually are. I have seen many that have claimed that they can take up a manager's position yet can barely manage relationships with their friends.
I think that relationship skills are key to being a manager, in addition to all the other planning etc.
I'm not sure how approachable your manager is but it sounds like he needs help from you to bring moral up. A leader does not necessarily have to be a manager but of course, with everything, do at your own discretion.
I have tried. I set up project management software to try to get the team on the same page. Team liked it, manager scrapped it after 3 weeks.
I sent him a feature development blueprint which was well received but ignored.
Suggested he gave people more responsibilities, he did but then didn't like not being the conduit in which everything flowed so took all the responsibilities back.
Spent a day with him writing development goals for the next month. General goals for 3/6 months. This would get everyone on the page and stop priority switching. Trouble is he never stopped editing the document. Instead it just became a documented expression of his managerial style.
One day I got pissed off and wrote a pissy but constructive email about his managerial style. Again, fairly well received. He left alone for a week to complete the task I was on. Then everything went back to normal with random daily requests and project swapping.
I care for my work and want the company to succeed. I haven't been silent passenger :)
Sounds like the situation I found myself in. I stuck around because I felt I was indispensable and I felt a sense of loyalty. In the end, I got fired because the boss wanted to "change things up" since he wasn't getting things done as quickly as he wanted (mostly his fault for changing requirements). It took me less than 2 weeks to find a new job. There is no reason that you can't start looking for a new job while still working for your current company.
While I am not sure of your locale, here in New York the job market is booming with a great pick of companies to work for. Even then, you can always look without quitting beforehand. If a company is interested in you, they will be happy to interview you on off hours.
Well I was going to ask if you couldn't go over the manager, but by the time i clicked reply you'd added:
> its this guys company.
well… can't you try to find an other job for that? While working for the company? If he's the owner, I don't see why you'd care for being indispensable, it's not a case of an asshole manager in a great company it's a broken company.
> well… can't you try to find an other job for that? While working for the company? If he's the owner, I don't see why you'd care for being indispensable, it's not a case of an asshole manager in a great company it's a broken company.
I am not leaving for 3 reasons.
1. I support my family with two young children. Partner doesn't work. As depressing as the job is I know it is secure for at least the next year if I want it.
2. I am concerned about the duration of any new job I take, especially in the current climate. I have friends who have lost their houses. If things were a bit rosier I would have gone already.
3. I am working on my own little side project which I hope to nurture into a full-time income. Trouble is work gets me so down I can barely look at a computer at the end of the day to push it along further.
> Also, you probably aren't indispensable.
I am currently essential to the smooth running of the companies products and systems. In my opinion that is as close as anyone can get to indispensable.
> Trouble is work gets me so down I can barely look at a
computer at the end of the day to push it along further.
Please do not take this the wrong way (esp with my other post) but it sounds like work might not be the cause of you feeling down at the end of the day - have you considered that you may be suffering from a depression. Especially in SAD-central January.
I have been there, maybe I still am, but its just a thought and it may well be worth opening up to your doctor.
And remember free, over the Internet, psychological advice is worth every penny :-)
Can't speak for the GP, but this time last year I felt the same way about my situation and had for multiple years. Last April I finally got out of that job and my disposition changed noticeably. Multiple people noted such, and my desire to work on my side projects returned. I still have other underlying issues I am addressing, but the job was an acute trigger.
The economy isn't that bad for techies. If you're unhappy, find a new job and leave. Don't wait for some idealized future where your side project pays out. You're not indispensable.
I am concerned about the duration of any new job I take, especially in the current climate. I have friends who have lost their houses. If things were a bit rosier I would have gone already.
What do your friends do and where do you live? Even in a rather non-tech town I'm constantly getting calls. If I was willing to move to one of the cities within a 5 hour radius the calls go up even more. Techies who know wtf they are doing are in high demand. What I did when I left my previous stable, but soul crushing job 14 months ago was remember I had a stable job and I had time to look and pick and chose.
As others have pointed out there are a lot of excuses in this post and I don't really understand. The line about being indispensable has been address so I'll focus on "looking in this job climate".
Looking is fairly inexpensive and near risk free. Why wouldn't you just be casually looking until you found the right job?
I have a speech impediment, fairly low confidence and generally interview fairly badly. The thought of being dropped into a completely new work environment makes me a bit anxious. I worry that I will simply exchange my current set of problems for a new set of problems.
I am a quiet guy. I took the job because of the fairly low social requirements. I had low confidence with my speech at the time... I find it difficult to express the problem. I worry that a new job - if it has different social requirements - will be a shock to the system and I don't feel I have the support around to help me cope with that.
I want, probably need, a new job. I just have no idea about how to go about it to be honest and that puts me off looking.
I'll probably get flack for this, but have you considered seeing someone about the social anxiety? If you feel like it's limiting your career options, it might be worth seeing a counsellor just to discuss some strategies you can use. I know us developers can get hung up on independent research and solving our own problems, but some problems can be worked out a lot easier with another person, rather than googling.
HN gives a weird perspective on what employers expect of developers. I know lots of places where devs aren't expected to be social/growth hacking hustlers who have met the president, etc. Most places just want competent developers, and they're willing to accomodate a lot of the typical geek social anxiety.
All this to say, I know it's a scary prospect, but you can change your situation if you try. Whether that's getting some interviews, or seeing someone about your anxiety. Feel free to email me if you want to talk.
Yeah.. and I totally feel for this person. I see now it's not actually low cost at all for them. Working on social anxiety will help not just with job finding but also at making your next job fit with yourself much better.
This is the one thing so many people fail to do, even though they don't want to leave. People don't suddenly stop being decent human beings incapable of change when they become managers or owners.
I've confronted people "above" me with their failures and have been confronted by people "below" me with mine. It hurts for a minute, but very rarely does that lead to escalation, and more often then not it at the very least a genuine attempt to change.
I could have written the first two paragraphs... Actually I also would have quitted already, but my situation is also uncomfortable for personal reasons.
Problem for me wasn't so much my manager. He did a good job, as far as he could. It was higher than him. But the last job I left was due to management.
The problem is the guy has no managerial skills. Employee moral across the company is rock bottom. We get tasks day-to-day because he cannot plan ahead. We often drop projects to work on something else, only to drop them and work on what we was originally. Manager never sends final designs or when he does they later change anyway. (These are not tweaks, tweaks are understandable. This is the entire page layout) I could go on...
Why haven't I quit already? I am currently indispensable to the company I work for. I need to support my family. Not sure if I want to risk it on a new job in the current climate. The short term plan is to continue being miserable.
NOTE: I would go around my manager if I could. Unfortunately it is a team of 7 and its this guys company.