Escape involves gathering the confidence and the determination for self study, so that applying for another job is even a viable option. Skunk-works type projects at work are strongly recommended.
Perceived value of a programmer at a start-up: Quality & quantity of software built and shipped.
Perceived value of a programmer in a legacy enterprise IT department: Knowledge of existing code base and ability to get things done with it.
Maintenance and production are two lexicographic options that somewhat relay the scope of the position: higher than data-entry, lower than engineering. Much in the same way that a front-end is not necessarily a web developer.
Maintenance is what the current discussion is about, but production should be considered as well: it's about interfacing with the existing tools to extend without fixing any of the serious architecture issues. As in a web producer. Or, someone who produces plugins for a given architecture, requiring extensive knowledge of the system but with no access to improve or modify said system.
Most of my time is dedicated to maintaining a legacy application that is horribly written, but my time is mostly spent either trying to come up with inventive ways to code around the existing design decisions, or trying to come up with a way to improve the design without disrupting service.
It's very challenging to do well, but it is definitely not fun.
Most colleagues did nothing of the sort and were roughly as productive without developing any broader skills, as far as any performance evaluations showed. It's spending an hour performing repetitive manual changes to some code, or spending 55 minutes doing it programatically in Vim and gaining some precious Vim-fu in the process. The output is the same at the end but the programmer isn't.
When there is no further scope to learn from my work (apart from pipe dream re-write projects that never materialise) and I am not doing any significant critical or analytical thinking, I leave. It sounds like your place had a lot more to teach you.
At least, I'm telling myself it's valuable experience so I can stick it out for the next six months.
I eventually realized that I needed to get out. I've sent out my resume and interviewed, but have had little success. I really had no idea how bad off I was until I started interviewing at other companies. I can't overstate the value of "practice" interviews. I wish I had done a few practice interviews before starting the process with Google because I did very poorly when I had a phone screen with them. That was a major confidence killer. After the Google failure I interviewed with Apple and went pretty far into the process. I felt like the interviews went really well (phone and on-site), but it didn't work out. I did a few other phone screens with companies after Apple, but nothing came of them. Ugh.
With a family to support I have to stick it out until I find something else. I really want to start my own company, but I can't afford to quit my current job. In the meantime I'm squeezing in work on side projects where I can. It's pretty depressing and stressful.
Interesting side projects are also really valuable. They can demonstrate individual initiative, show competency in different technologies/practices/industries, and provide interesting talking points in your interviews.
An additional plus is if you're good at pushing incremental change to the existing codebase to get it under control. (e.g. my company has a large pre-existing Perl codebase, some of which mirrors functionality of various modules/packages on CPAN -- some better, some worse -- and there is a lot of internal push to move towards things like Moose, Try::Tiny, etc where possible for newer classes, etc)
* My responsibilities as a programmer have constantly been increasing. Every year I become the maintainer of more projects as others quit.
* We fired a sys admin and now I'm outright doing his job in addition to my own. Management was slow to get a job posting up and has not brought people in to interview. I feel like my breadth of abilities are being abused to save money. At this point I can't be a good programmer and a good sys admin.
* I asked to telecommute one day a week and the response was actually laughter. After speaking to someone high up the policy was changed and now I need to "Justify why it would be good for the department." Which is literally impossible. There is a key set of words I need to discover that would actually activate the policy, like it's a game or something. Now I'm questing for a new employer.
* I'm working with consultants from a Big Name Firm currently modernizing our X. These consultants send conflicting information and documents which aren't even internally consistent and then bill us while I work with them to clean up their bullshit. These people are earning 5x my pay and can't do their job. Then I was asked to work while I was on vacation this week to check up on the consultants progress. And sure enough they fucked up.
* Salaries are frozen even though we are profitable.
* A majority of my coworkers have no will to learn. I can dictate pseudo code to them to help with an issue and they will actually start typing the pseudo code into the editor and then be confused when it doesn't work. And a week later they will have a very similar issue with no ability to make the mental connection to the work done a week earlier.
Whew, nice to actually type all that out.
You just answered your own question:
key set of words = "Now I'm questing for a new employer."
better key set of words = "I quit."
I don't want to bluff though, so at this point I'm just moving on. If I'm required to throw a tantrum and threaten to quit to get what I want I'm happy to find work elsewhere.
Oh, and I just remembered. The only training we were ever offered came in an excel spreadsheet with over 1000 courses offered by some training firm.
We were told to email back "Three of four choices" and if there was enough interest in one of the courses it would be paid for. There was no possible way for any single course to be chosen definitively by the staff with so many choices.
But at least management got to feel good about "offering training, but there wasn't enough interest."
Mtn View or Chicago, your pick.
Keep in mind, I may just be declaring myself Parfe, King of Idiots but when I'm happy with my resume I'll definitely be in touch.
If you like, I can review your resume privately and let you know an idea of your chances, as well as make any recommendations to help make yourself more attractive to good tech employers.
Never thank people for finishing something on time, on budget, and to the project specifications. Instead, heap attention on those who finish in an all-nighter that ends in the final demo. Heroic measures are sometimes necessary and deserve reward, but being part of the process is a big red flag.
Never set expectations or milestones, just expect the project to be finished on the due date. This had an interesting effect on the work pace. Due to Parkinson's Law, individual workers finish days before the deadline, but that's not enough time to test integration. Major problems are discovered late, and everyone works ridiculous hours to fix it. Thank everyone for making it work at the last minute, rinse and repeat!
Tell employees to work weekends and nights for projects that could be unnecessary. Make these individual efforts to maximize the time one person wastes. When burning the candle on both ends, it's satisfying when you're done and the work was needed. After all, you took on the impossible, and here it is! But when days or weeks of your life are thrown away with a laugh, you would find another job if you actually had the time.
The Perceived Threats were the Bad Things that would happen if our demos failed. Funding lines would dry up, the company would be in trouble, etc. So everyone pitched together to keep the system going. Everyone became so focused that they stopped realizing that it could be done another way.
Ideas only go down When employees tell you of actually useful innovations to a product do NOT agree it is a good idea. Mention that it is cute they are trying, and pretend to forget about it. In 3-6 months have a VP flash brilliance and push that innovation down from the top. All employee protests of "I have been pushing for this for months" are to be stonewalled, possibly with discipline.
Permanent emergency mode VP or CEO comes down to the dev team in a panic at least once a week handwringing about how "OMG we're fucked if we don't fix this" Complaints of "its been crunch time for a year" are met with replies about other duties as assigned, how if they just did their job this wouldn't be necessary, and company solvency.
Praise only the shitty employees Never ever ever praise the employees who solve a problem. Actively deride the employees who consistently solve problems, deliver results and so on. This triggers a "what am I doing wrong" response in them, and gets them working even harder.
Keep the situation confusing Give employees a set of tasks today and have them undo that same set of tasks tomorrow. In a week, do it over. Half way through a day, come down and demand something at top priority, then raise hell at the end of the day that they didn't finish the work you preempted w/ a top priority request.
rules! (this one works quite well in the food service industry) - impose rules that almost make sense at slow times, but which add unnecessary process and overhead. Insist on these rules being followed strictly during the busiest times. If the plebes find ways to speed up the process that is still with in the rules and has the same effect, begin the firings. Double down if the process reduces tips or rate of sales for the business. (It turns out most employees want to make you money, even waitstaff).
Find ways to keep your employees cash-poor Make them pay out of pocket and have very slow reimbursement procedures. Delay paychecks or even sneakier, have "problems" with direct deposit. The net effect is employees with less liquid money than they might otherwise have... helping get them into that nice trapped state.
Glad I'm out..
That a good list.
The thing is, the job I had that fit that bill wasn't Big-Company, or even Big-Contractor-To-Big-Company.
It was the one man operation. One man in the sense that he got ... well everything since his behavior fit your quite exactly... everyone else... wasn't there...
In fact, the one-psycho operation have an easier time being like thisthis, since they don't have to worry about liability or etc.
... just one thing to add to the list. At the same time as you do all the other stuff, claim that the person should be doing everything without putting in undo effort. Say soothingly, right after a psychotic fit, "...relax, you should be more relaxed..."
It's written from the opposite point of view and goes into more details - ie if you were a manager, you can do X, Y and Z to encourage Stockholm Syndrome and keep your employees emotionally bound to you. It's a pretty scary 'how-to' guide!
* If I don't like a situation, I will leave it. After all, the easiest way to change your environment is to escape it.
* Fear of failure is a great motivator. When you quit without having another opportunity already lined up, you have a lot of obvious motivation to find a new job since your income is $0. I've found it easier than lulling myself into complacency by continuing to get my income from the source I hate.
* Don't just zig, zag. I've been programming professionally for 12 years. Eventually I will stop, at the very least from being bored. Honestly, I want to work on Formula 1 cars, preferably before I'm 40. One day I'll stop building massive data engines for finance, and instead work on bleeding edge race car engines for racing teams. In the next 18 months I'm working on chasing another crazy dream successfully enough to have the option to walk away from big finance research.
It's difficult to describe my mindset about this, and being a ruthless, very self-critical perfectionist probably helps tremendously. I always joke that it's my mission in life to prove everyone else wrong.
The one that is hardest to follow is the first. For instance, I've never completely struck it out on my own, and have always worked for startups run by other people. My solution was to create a business that could be successfully run by myself, with no help from anyone. That's in the works... but in the meantime, I'm at another startup.
* If I don't like a situation, I will leave it. After all, the easiest way to change your environment is to escape it.
I feel conflicted with this one. While what you say is true I can't help but feel, when I try to apply to certain situations in life, like I'm quitting... or that I'd beat myself up for "being a quitter who didn't try hard enough to make things better" at a particular job or relationship or something of the sort. There's something to be said about the potential payoff relative to the amount of effort involved in making things better, of course.
Your second point is something I've been personally stuck in for awhile, mostly given the economic downturn and seeing friends go unemployed for quite a long time. Still, I probably have to make that jump sooner or later.
As far as unemployment - I only know of one friend who is currently unemployed, and that's by choice! Not that this is indicative of North America as a whole; but it does reflect what I've heard others say in regards to there always being good jobs available for good people who are skilled.
Regarding the second point, I quit my job in early October. I had my first offer in hand in 23 days, and three in hand after the first month. Income was $0, which was a good motivator.
Though the amusing thing this time around is my former employer is now looking to become one of my clients (the place loved me, I just didn't like them).
This is true - but this has to mean that you also manage your finances properly on the side.
People who are one late paycheck away from a cascade of payment failures and personal financial chaos can't operate this way. (So they should fix their financial management first, then follow your advice!)
Fortunately I was smart enough to fix it at one point, and got a 70% pay increase upon starting another job. That takes a few tricks, though, including being hard-nosed enough to call the CxO of a company out on the politics of his negotiating practices.
It has forced me to live simpler overall, and not waste money. That's stuck with me. But when you don't have much to fall back on, you'd be surprised at how fast you're able to find a decent step up.
Just remember that you are a more desired candidate if you are actively employed, and that other available jobs might be just as bad or worse than your current one. Also, if you don't absolutely loathe your job, you can use job offers as leverage in your current role.
This doesn't apply in all industries.
>and that other available jobs might be just as bad or worse than your current one
This also only applies if you aren't the one in control. I could get a substantially better job, and I knew it, not fearful if I could get any job at all.
This implied that problems were the workers' fault, not the boss's. Subtle, but effective.
Believe it or not, many people were actually glad to be given their own t-shirt by the boss.
Isolation from Other Perspectives
Everyone had the same t-shirt. Eventually, what started out as a joke became the accepted condition.
Perceived Inability to Escape
There was never any doubt who was in control. Resistance was futile.
Myself and other programmers that once worked there all feel so grateful, we all get together on a regular basis and feel so lucky to have gotten out.
Here's a funny anecodote. They were having a hard time finding new developers. About 9 months ago, if you look through my HN posts, I posted to a "Who Is Hiring" thread. I mentioned a few of the cool things about working at Clickbooth and put my work email address in my post.
The next day I was called into my managers office. The HR woman saw my HN post. She was upset. For some reason. Still don't understand why, exactly. But it's not "my place" to post these things, I was told. And I should go delete my post. And my manager, he played the "good cop" routine... "I talked to the CEO and I'm not going to pursue this further." Oh, really? How lucky of me. You won't discipline me for, ya know, going above and beyond and trying to attract good developers to the team. Oh, gee, thank you sir, so much, for your kindness.
I didn't mean to rant for so long, but boy, it feels good.
I see this type of thing all the time in the bigco I work for in my day job. I hate it because all it does in get in the way of solving problems while people jockey for control and credit. I recently had to take 'HR' out of the title of an application I wrote last year that did a bunch of HR functions. The reason? HR didn't like that 'HR' was in the title because they didn't control the application. Talk about wasted cycles that could be used for something actually productive.
Anybody know if there is a good place on the Web where people can be honest about what it's like to work at specific companies?
It's a little unsettling going there the day after a round of interviews and basically reading a description of what it was like to be interviewed by me. No names, but I can definitely identify myself and some other co-workers by the questions we asked candidates.
Learning something entirely new is more work, as is spending your own money on this given employers can tend to avoid funding career-unrelated tools and learning.
Corporations themselves can become locked into products and solutions and businesses.
Counterintuitively, there can be value in the bungee boss approach in countering this syndrome; of a policy of periodic and scheduled managerial evictions with business reviews and a review of the bosses, and of institutionalizing some instability within organizational management. A Darwinian policy of up or out; where each middle-tier and upper-level bosses are treated as and measured akin to a self-contained CEO and sales rep, and where each is going to be promoted or pushed out.
Even shops that style themselves as non-traditional will adopt this corporate body plan as they grow, because the new directors and officers have had "best practices" ingrained in them.
One term specifically stands out throughout my career: if you are told by the company that you are "empowered," then you're not.
Any idea how to solve this?
I find it ironic that a nation where freedom is supposedly so highly valued accepts relegating most of its people to corporate slavery.
"We run a tight ship, everyone has to be in at 9am" ... The employer had one person he believed is the cream for the week and their given top spot...everyone else is treated like dead wood for the next week or two. Percieved threat of getting fired if you were the dead wood, and some did...to our amazement..this kept the rest quiet, head down, trying utmost not to get noticed!
Small Kindness...This was amazingly executed. The employer introduced an great bonus scheme and got you to agree to it and the job/project delivery based on it. The scheme is known as "MBO"
The objectives were set, one/two meetings take place and then you got a nice tidy sum, around 8% of the total bonus...then the scheme was shutdown, your locked in to the project, otherwise...see perceived threat above!
Isolation from other perspectives - provided you met the project deadline, did the utmost to killoff the competition to be the "cream" mentioned about, you were in with a chance to be IT / Sales / product (you name the dept) manager.....keep waiting.....the perception was..."we dont need an manager, we do a great job without one". The employer is the manager for all depts, have you heard such tosh!
Perceived inability to escape - Majority was told, they could never get paid as well as they do there, the jobs easy and "you" make it difficult, all you have to do is A, B and C, we have to do D, E and F-Z..your lucky! They even went as far saying how would they cope without you...praise that were simply words to keep some staff working till 9PM when they would refuse to pay a penny over the 9-5 allocated!
Myself and other ex-employees all feel extremely grateful, we all get together on a regular basis and feel so lucky to have gotten out when we did too! We were only lauging last week when we found they were using their own employees to advertise their services on youtube (try serching for "comxo"), amazing what they got their employee to do in the name of the company!
Sorry for the long rant.
Addressing one's fear is a shared part of the human condition. Which may be why we admire those who act, persevere, and succeed.
- occasional bonuses
- competitive salary
- great tech to play with
- high status within the company that you might lose if not keep up
Now, the question is, does that really sound like a terrible job environment to you? Where one is supposed to go from there? Entrepreneurship? Consulting? Cause actual salaried jobs don't get any much better than that.
E.g. my employer was touting that our healthcare costs are ~$300/month less than the 'industry average' (though they didn't state which industry they think that we are in -- it's not cut-and-dry like 'financial services' or something). Someone that I know left the company for a ~$30K/year increase in salary. The difference in benefits payments does not out-weigh the salary difference, but if you're focusing too much on something like 'competitive salary package' you may not have the whole picture. [Obviously it's more nuanced that this, because different healthcare packages have different levels of coverage too, but this is just a simple example off the top of my head where focussing too much on the micro can cause you to miss the macro.]
Local technology associations are also good sources. I'm in Waterloo, where there are organizations like Communitech (http://communitech.ca) and Canada's Tech Triangle (http://techtriangle.com) that offer social events and whatnot. Also, if you're really bored or motivated, you can go through their membership lists checking out all the companies in the area and see if they're doing interesting things.
Look for Camp events in your area too. DemoCamps, StartupCamps, BarCamps, FooCamps, yadda yadda.
Moral of the story is, if you are getting bored you're probably not automating enough or making tools to let non-tech people do most day to day stuff. If your management has a problem with that, or prevents you from doing that, then you should move on.
Put in place a procedure to rate people in a relative fashion, and link this to benefits and compensation. Make hard slabs in percentage for each rating (excellent 10%, good 25%, average 50%, below average - rest). Does not matter if there is a team full of awesome wonderful guys, someone is going to get rated as 'below average'; and in a team comprising mostly of below average guys, many still end up getting 'excellent'/'good'.
Boast of world-class infrastructure, gym, sprawling campus. This would trump the fact that BigCo pays less than industry average, or the abysmal type of work involved.
>>Isolation from other perspectives
Again, the cult of personality and culture vacuum as mentioned in the post. And a lot of make-believe thrown in. And Goebbels style propaganda to instill that "all's well" notion, worked out masterfully. Not many within this BigCo would know that the tools of the trade are, or the best practices, or even the options in terms of technology.
>>Perceived inability to escape
In case of few places I know, this is not just perceived, it would be a hard fact and reality. Maintaining legacy VB code, spending an average of 6 months on every sort of technology (without mastering anything), and being an excel warrior aren't really great on resumes (except of course when applying for BigCo, that is).
"Institutionalization" is the word that many of my colleagues use to convey the feeling. :(
The difference is we get to choose who's the abuser going to be.
some will have SS in their job, in their affective life, in their intellectual life. others will use their job, their affective life, their intellectual life to achieve beyond. and sometime they ll even use SS of the first.
Apologies for going off on a tangent, but this sort of jumped out at me. Is this consistent? Shouldn't it be either
a) ... do things the BigCo way.
b) ... do things The BigCo Way.
Native is not my English tongue, so I just want to make sure. :p
It was enough to break my determination to quit and now I find myself looking for a new job much more casually. I have dreams about changing things from the inside. Let's see how long that lasts...
yep, i'm senselessly stuck in bad job situation. lol
After it was discovered I had actual development skills, I was asked to work on a project in my off time without any extra compensation for it.
They pretty much wanted me to go home after a full days work, and put in more work to develop a system for them, totally unpaid.
Later that month I gave my two weeks.
I made good friends with my boss though, so I probably could have used him as a reference and quit without the two weeks.