Hacker News new | past | comments | ask | show | jobs | submit login
Life's too short to write shitty software (adzerk.com)
168 points by snkahn on April 13, 2012 | hide | past | favorite | 99 comments



For those of you now browsing Hacker News at his cubicle during his break under soul-sucking fluorescent lights:

You can have it both ways (work for BigCo and build cool stuff), but it's not easy. You have to make it happen within the corporate systems and structure.

I have many times. A few examples:

- Boss to me: "Purchasing is complaining that the legacy system isn't doing what it should. Go find out what they need." 3 weeks later, my prototype is the basis for specs for a whole new system. "But you told me to."

- PM/BA to me: "I can't make it to the status meeting. Will you run it for me?" "Sure." Results: 3 new projects at the top of my queue. What the customer wants most and what will be fun to build.

- Big Boss in meeting: "I don't think corporate will approve $2 million for a Data Warehouse/Business Intelligence system, but we have to do something." One month later, after squeezing it in to my spare time: an MVP of a BI system that the users love and was fun to build. Now I get permission to finish it.

- Another boss: "I would love to sell our stuff on Amazon, but I don't know how to go about it." Me: "Want me to find out?" Boss: "Yes." A month later, we're on Amazon. Fun project.

- User VP: "Why do we have to wait 3 years to get anything done on our legacy system?" Me: "Send the quick critical stuff directly to me. I'll try to push it through faster." Almost always leads to building something cool.

The 3 keys to doing these kinds of things:

1. You must find the cool stuff to build yourself. No one's going to hand them to you. Opportunities are everywhere.

2. You'll probably have to make time for extra work. Shouldn't be a problem if you're a good programmer in an enterprise.

3. You'll probably have to hang your cool new stuff off something legacy. So what?

Maybe not as good as building something in a startup for the first time ever, but building is building. You can find a way to build cool stuff from whereever you are right now. "Finding a way" is the key.


One warning with this kind of behavior is that it doesn't actually insulate you from the insanity of the environment. Some of your cool stuff is going to be buried because people don't understand it and won't buy in, or because it obsoletes something they did, etc... People will complain about you "not being a team player" when you do things they don't expect. Some managers simply can't handle employees like this and will try their hardest to muzzle you lest you say something embarassing. I've seen all of the above, even at small environments where you wouldn't expect it.


This is why I have to wonder how old the parent is. When you're young and have lots to learn, sure, take on a lot and learn.

But as I've become older I've decided I'm not interested in putting in the extra time just to make my boss wealthier. Time is my greatest asset and I need to manage it with predictability. Time I spend making somebody else wealthier when I could be spending that time making my own business profitable is time wasted. I'm the one spending my time learning and building the application - that is to say, I'm taking the risk - so I should get the reward.

Performance reviews and bonuses are far too politically fragile and opaque for me, and the fact is unless you're a shareholder, you're guaranteed to never receive more than a small fraction of the true value of your work when you're working for someone else.

That's why I quit permanent work and have moved into contracting: I earn good money that I'm saving towards my own startup, I get paid for every hour I work, and as a matter of personal discipline if I'm not doing paid work I spend the free hours working on my own projects that - in the long run - should pay off far better than the contracting or permanent work ever will.

That being said, this strategy only makes sense if you believe you can generate substantially more money working for yourself than somebody else could pay you. If you don't believe in yourself you're stuffed.


Have another look at edw519's second point (emphasis added):

> 2. You'll probably have to make time for extra work. Shouldn't be a problem if you're a good programmer in an enterprise.

The point being that you can do these things on company time if you complete your day-to-day tasks efficiently.

Your points are more valid if you substitute 'energy' for 'time' in your reply. If you spend eight hours completely zoned in while working for the man, you might not have much energy left for your personal projects when you get home. You can mitigate this somewhat by working on your personal projects before work.

Or you can take the Einsteinian approach and not sweat your day job while you revolutionize physics in your spare time.


That second paragraph should be engraved.


I've never found that to be true. People love stuff being done a lot more than they hate looking bad. Managers at big companies know it costs almost as much as a programmer's salary to find a new programmer, so if the only problem that you're causing is doing extra useful work, they are not going to make it a priority to fire you and find someone else who will do what they're told. In fact, managers are often so overextended that a self-managing employee that's visible to the rest of the organization is an asset.

(This worked for me when I was at BofA. I worked on a tiny team that nobody cared about, but people pretty high up knew who I was. This was generally good for my manager and her bosses. The impression I got was when I was on a conference call, I was the only person who ever wrote code to solve problems, and people seemed almost grateful for that. I didn't really enjoy this, and there was a lot of red tape and bullshit, but I do know people who do fine with this kind of job. YMMV.)


And if you don't have the people to complete or maintain these projects? Or how about when you build out a prototype and then corporate IT policies end up having you generate hundreds of pages of documentation and a massive Java application, when your self-hosted 2k LOC Python project met all business requirements and specs?

I'd rather be in a position that encouraged rapid, pragmatic development.


Out of curiosity, why the downvotes? When I worked at a corporation, I tried to do what Ed recommended here, and these are the problems that I encountered.


> Out of curiosity, why the downvotes?

Don't worry about downvotes until time has passed. Things usually balance out.


I see that now, thanks :) I don't mind being downvoted, I'd just like to hear out any rebuttals to my comment.


Agreed, I got paid to hack a VMS mainframe, buffer overflows, etc at 22, trust me it wasn't in the official job description but I found the company $3 million in lost rev.

Honestly, unless you enjoy reading about the company you work for in Techcrunch I don't get the whole startup hype for employees. Founders are somewhat likely to get a decent cheque but employees are not. For employees the EV doesn't seem to make a whole lot of sense.


How much of that did you see?

At my last employer, I was on a very small team that wrote code that made GBP 2M/year pure profit (minus the salaries of 3-4 people for a couple of weeks, in the first year). That 2M covered the bonuses of two execs, and I got a raise of slightly below inflation (and left shortly after - and they had no idea why).


Nothing for that project.

However I was a quick study and learned that truly there was no I in team. I created a win-win situation, and soon our sales team was dramatically outperforming other regions. Turns out the sales staff knew who to call who already had the service and merely needed to be added to the billing system. There was no way that that much revenue could be sold by one person, it really did require a team.

The worst thing I found was a report that listed expiring credit cards and allowed entry of arbitrary dates in the future for which to run the report. I had to wait until the C-levels visited and hand them a stack of paper with the numbers on them to get anyone to pay attention to it.

aside: Seriously Oracle for OCaml? That's awesome, I'm a big F# fan.


One data point, I've never found a large corporate job where I didn't feel straightjacketed and annoyed with my bosses/politics/organizational inertia. A small company fits me much better, it's mainly a personality thing.


"It is easier to ask forgiveness than permission".


"The nail which stands out gets hammered down."


"When life hands you lemons, make lemonade."


"Don't make lemonade! Get mad! I don't want your damn lemons! What am I supposed to do with these? Demand to see life's manager! Make life rue the day it thought it could give Cave Johnson lemons!"


"Never rub another man's rhubarb."


Wherever you go, there you are.


The words I live by.


One thing that I've found is that sometimes you just have to do things regardless of whether you have permission. But keep in mind that it's your ass if you fuck up.

Case in point, my boss has been out on leave for a few months already, in the meantime I've had a free hand to do whatever the fuck I want with some things. In that time I've completely overhauled several systems. With my boss around it would have been a teeth-pullingly laborious process that probably would have dragged on for weeks, been interrupted by other tasks in the meantime, or compromised in so many aspects to "reduce risk" that it might have ultimately been useless. As it was I did everything and migrated critical running systems over to the new stuff in only a few days of work spread out over about 2 weeks.

That generally applies to everything in the workplace as well. The best way to change your job is to slowly but surely start changing what you do while official recognition catches up.


You sir, are "Getting things Done!".

You are the real-deal.


This is kind of like wanting sex and getting some dirty magazines.


Taking the problem in hand so to speak.. Pragmatic!


I think the trick to surviving either big-company jobs (with the tendency toward bureaucracy and risk aversion) or startup (with the high risk and uncertainty) is realizing that it's just a job, not what you have to be doing for the next 15 years. If it's boring for a couple months, who cares? If the company goes out of existence (or fires you) there will be others. I think it's becoming increasingly important to learn this, although it's easier to give this advice than follow it.


I lived mostly the same story as this guy, except I was working in a startup when this happened. I was working on great software, but I hated my job and hated everyone around me. And yet I joined this startup because I felt it would be the best job ever. I was so wrong.

I finally left for BigCo afer 6 months and I plan on staying there for years and years because this job is incredible. We write the most beautiful software and the team is simply amazing.

And it seems every week I see my old colleagues post status on Facebook along the lines of "Look at us, working hard into the night!" at 9 or 10pm. They seem to take pride of this sort of thing. Now that I'm at BigCo, I get to leave every day at exactly the same time and 3 days / week I have activities planned on my evenings that I will never miss again because of overtime.

Just remember that these horror stories of "I hate my job at BigCo, let's join Startup and everything will be better" can go both ways.


I can hear the chorus of HNer's working at startups saying "yeah, but just wait until we go IPO or get bought or go viral then you'll see why we worked so hard so late so often for so long..."


I prefer having time for myself rather than killing myself at work hoping that it will pay out. If it does, great for you! But if it doesn't, all those years you've worked your ass off and didn't have time for yourself and people close to you will never be given back. I have my good salary at BigCo and I know that the moment I leave the office, I don't have to think about it.

I think this work / life separation is really important (to me at least). I don't personally think that what you do at work represents who you really are, and having activities outside of work defines you way more than that thing you do from 9 to 5 to earn a salary. In the end, a job is only there to provide you enough money to pay for your lifestyle.

If your personnal goal is to be crazy rich, then go and work your ass off like crazy for years. But when your job pays enough that you can keep your current lifestyle and you like what you're doing like this, I don't see anything that would make me leave BigCo for a startup filled with dreams of being rich.


it's also a risk that might not work out.


At the end of the day, you should be having fun. I lost sight of that for a long time and wrote a lot of software that I thought would make money (it didn't), but I hated working on. This led to me falling out of love with software for a long while.

It's only in the past few months that I've really come to love it again. Between my day job at Mozilla, working on ridiculously fun optimizations, and a startup that went from no code to a damn near fully functional product in a week and a half (including the time it took to build the framework that the product itself is built on!), I've been having a blast. I forgot how fun it can be to just dive in and make shit work, and do it in the way I think will work best. I spent years over-thinking my development, with nothing to show for it; a couple months of coding with reckless abandon and I'm happier and more productive than I've been in damn near a decade.

Stop hating life, go have fun.


How do you get a day-job with Mozilla optimizing code (or do you mean writing optimizers and optimizations?)?


So, most of what I do is optimizing the graphics stack on Boot2Gecko (Mozilla's new mobile OS). That ranges from coming up with new techniques to offload work to the GPU to digging deep into code to find slow portions and optimize them until my fingers bleed. As for how I got it, a friend on the team prodded me and told me about the project, and during the interview process they found out that I had fairly deep knowledge of graphics optimization, and it just went from there.


There's always stuff to speed up in gecko, and mozilla has a jobs page! :)


I joined my first startup in 1988. My previous company was acquired by Xerox, and I met "lifers", (in their 60s, worked there since graduation, looking forward to pension). I didn't want to be a lifer.

My parents thought I was nuts for not going to IBM. My wife was working at Digital, and hating it. She encouraged me to go to the startup. Which I did, and I'm still doing startups 25 years later. (I predicted that my startup would be in business when Digital no longer existed, and for a short time, that was true.)

At that first startup, I formulated a very simple test for deciding where to work and what to work on. I ask myself: Am I having fun? Am I creating something new and valuable? Am I being rewarded adequately? (i.e., financially).

This has worked out really well. I've worked on and shipped really interesting software, I am constantly learning new stuff, and it has paid off nicely.


I've met a lot of "lifers" too. I worked at UMass Boston for a few years and it's depressing. It's like working with indentured servants.


The basic idea of this article is awesome - right now is certainly the right time to get a non-shitty job.

However, I disagree strongly with the idea that startups are some sort of panacea for bad jobs. There are plenty of bad startup jobs, and they're generally easier to get than a corporate job. It's easy to talk yourself out of the bad corporate job somewhere in the 5 levels of HR review and background check. It's harder to argue with "free beer, flexible hours, $90k, and you start Monday" - even if none of the above end up being true.


Some corporate jobs are better than others. There are cheap-skates, and those that will reward talent. But if paperwork kills you, it won't work, no.


I agree that not all startups are good. But I think your odds are better at a startup. At IBM, you're 0.00025% of the company. At a startup, it's more like 10 or 20 percent. You have a lot more ability to shape your job and the company so that it's non-shitty.


Further: if you're at a large company and do something that saves/makes that company say $5M, you will get somewhere between 0% and 0.00025% percent of that money as a bonus. Whereas if you're at a startup, and have 10-20% ownership, then when you save/make the company $5M, there's a good chance you will get 10-20% of that. (Speaking in rough terms, of course. But you get the point.)


Do you have any backing for that? Usually at a big company, your team makes the 5mil. Good luck conjuring 5mil at a small company with no scaling infrastructure and few users. And not working for a CEO or CTO or whoever who takes credit for your work. Sure it's possible, but it's a gamble not everyone feels like taking.


> Usually at a big company, your team makes the 5mil.

I don't think we live on the same planet. :) I'm talking about modern/recent software development roles in the US/West. Are you talking about a Wall Street job? Are you talking about a banker or a full partner at a financial firm or law firm? I'm talking about an employee. And I'm talking about the general case, not the outlier cases.


Im sitting my in my cubical hating my job right this moment. I applied to ycombinator and I will escape cubical hell. If you've never held a corporate job, you are lucky. It sucks your soul and crushes your dream. The anti-ambition of people around me is discouraging and depressing. I work on software that is meaningless, and that just kills you inside. Its the feeling that you are spending days/months/years of your life not adding value to society but simply writing software that doesn't matter because odds are it will be shelved for another project when an upper manager decides that it was the improper path for the business to go down. I wake up every morning excited for my lunch break because I will get to escape into a book on some assorted topic in order to gain the knowledge to escape this hell hole. Yet, the fire inside me won't be quashed and I will escape it. I refuse to feel like this my entire life. I will get out and I will change the world with my talents. That feeling, that fire, keeps it bearable.


I'll have to express the opposite sentiment, I am sitting in my cubicle overlooking a river. I've got VS2010 and Eclipse open, and I've got 5 different browsers installed in my machine. I was previously working at a smaller company (closer to a startup), and while I enjoyed it, there was no career growth potential, at all. When I moved to Mega Corp, I found a place that actively encouraged career development. Also, our technical leadership is always evaluating the latest technologies to see which ones make the best fit for our offerings, so while I may no be using the latest JS library on Github, I'm using more than a few of the more accepted ones.


I don't have a window near me, although that may give me a bit more Zen than I Have now. I get loud support people near me instead. We are stuck in the 90's with our technology and are a Microsoft shop. We do have "career growth" opportunities, but they are the standard tuition reimbursement kind (which are fine). There are great corporations to work for (Google, SAS, Facebook), but the majority of them are soul crushing boring with no care or love for the developers.


Saying that, "the majority of them are soul crushing boring with no care or love for the developers" is a pretty strong claim, for which you've provided no evidence. Certainly some corporate jobs are soul crushing, but the "majority"?

The wrong startup, for the wrong person, can be just as soul sucking as a large corporation. There's plenty of startups that I would never want to work for. This suggestion that corporations are inherently bad and startups are inherently good is overly simplified, and very naive. Google, Apple, and Facebook I'm sure all have employees working on their TPS reports as well. In fact, I'm sure they have security guards, lawyers, and janitors many of whom enjoy their jobs, and add value to the world, despite not being software developers.

I guess I just find the attitude that everyone should be a developer working 80 hours a week for a hot web 2.0 startup very troubling. I worry that some of us have some strange delusions of grandeur. Is the CEO of the next Instagram, working 80 hours a week, really living a better life than the guy next door? In the end, if you're living a life you enjoy, what differences does it make where you work?


Almost all the people I know that work for corporations hate their jobs and would call their job's soul crushing. Granted, I would not be able to find empirical evidence for this claim,it is just based on my experience. There are plenty of good corporations like I stated though. I will agree with you that a crappy job is a crappy job no matter where it is, but I would argue and say that there is a higher possibility of getting a good job at a startup because of the very nature of the work. I will also agree that you should do whatever makes you happy, including if that means you don't get rich or you dont even make money doing it.


How old are you?


Beware that this mindset is what some shops prey on. They entice those who have gone from college to corporate and now want an exciting change. Then they work them to death with dreams of stock options and label 80+ hour workweeks as "work hard, play hard". They're unabashed about it--I've even seen "willingness to put in extra hours to get the job done" in their job description!

Just because you dislike your cubical job now doesn't mean you need to go to the opposite extreme, spending extra hours at work just because a ping pong table is there. Don't end up at a place where working overtime is revered among the staff, it's a toxic mindset that really only benefits the bosses up top.

If you want to go somewhere to change the world, just make sure the people who are running it can first effectively manage the small world that are their employees.


If you've never held a corporate job, you are lucky. It sucks your soul and crushes your dream.

There are good corporate jobs and bad ones. When I, for example, worked at IBM, I had a pretty good time and enjoyed the work, the people and the environment tremendously.

Conversely there are small company / startup situations that are totally soul-sucking. Especially when the economy goes into the tank and layoffs start and the managers start acting like fear is their only tool to motivate people. This happened when I worked at Lulu.com, and I never felt a great sense of the relief than the day I resigned and walked out the door.

I mean, don't get me wrong... I loved my colleagues there, so nothing about this is meant as a slag against them... but the job itself, the management and the vibe had reached a point that, when I walked to my car on my last day, by the time I got to my car, I felt like a 10000 lb weight had been lifted off of my shoulders... I could almost swear that the sky was a brighter shade of blue, and that the grass was greener and that the air smelt better, on the way out than on the way in. Sometimes all the nerf gun fights, and free soda, and $whatever, just can't make up for the other stuff.

If there's a point to all this, it's that whether a job is good or bad does not come down to whether or not you're working for a large corporation or a startup. There are a LOT more variables in the equation than that.

That said, if your job is sucking your soul and you feel the drive to quit (or get fired) and go found a startup, I absolutely advocate doing so!


your post describes so well how I was feeling about a year ago before I switched jobs, and I regret so much that I just didn't leave sooner even if it meant being unemployed for a few months, because life doesn't come back and I didn't really need the money. That was my case, not saying you should do this or that, I'm just saying to never leave happiness for tomorrow, that only worked for Cinderella.


Who says I'm not Cinderella. I agree with you, I have a plan that will get me out of here as soon as possible. I am working on a product that I will launch (with or without Ycombinator's help) by the end of Summer (sooner if I can wrangle it) and that will be my out. I still need the money however (material things owning me and all that jazz), but the moment money isn't going to hold me back I'm out.


It's worse knowing you are slaving away your life (which can't be replaced) only to make someone else rich and get a sliver of the profits. Oh yeah, if the wind blows the wrong way, the boss may just decide your are fired and all of your hard work is no longer yours.

I quit my job 2 years ago after I saved enough money to live on for a year (which took 4 years). I always hated working for other people. I not only couldn't be honest to questions like "Where do you see yourself in 5 years?" (I can't exactly say "working for myself" but it felt like I was in Jail.

I despise having to ask my boss when I can take a day off or go on a vacation. I'm about to launch my next company and I've contemplated working part-time to bring in some extra income for some business expenses.

Whenever I start the interview process, I feel like I'm back in high school again. Mostly because I feel like I should be interviewing other people for my business and not the other way around.


I know this feeling. Its painful knowing that I should be making my own decisions and deciding my own fate, rather than seeing the VP's bringing home the million dollar salaries for the value I am adding to the business. I promised myself I will escape and never look back. Obviously there is no certainty in startups, but from my point of view, that's comforting. Even though there is no certainty, you always know you are in control of your own fate, and that's reassuring at least to me.


This. A million times, this.

I promised myself I will escape and never look back. Obviously there is no certainty in startups, but from my point of view, that's comforting. Even though there is no certainty, you always know you are in control of your own fate, and that's reassuring at least to me.

Exactly. I would rather take a chance and fail, doing it on my own terms, than continue to waste my life away doing shit that is highly unlikely to move me significantly closer to living out my dreams. Life is too short, as Kacy said.


I made almost nothing and I was living on my savings for a year. I learned more and felt more alive than when I made $80K/year working for someone. It's never really been about the money for me..it's about the freedom. Money just happens to be required for that freedom.


Whenever I start the interview process, I feel like I'm back in high school again. Mostly because I feel like I should be interviewing other people for my business and not the other way around.

OMG, I know that feeling all too well. At my last dayjob, I spent 8 hours a day basically asking myself "why am I taking orders from these mindless drones, instead of working on building my company?" Talk about soul-sucking / soul-crushing / whatever.


While I sympathize, my wife and kids need to eat now, not in 2 years when I pull equity out of an IPO.

If you can avoid the TPS-report-factory-factory (wink), by all means do so. But don't look down on those who are doing what they have to.

There's something to be said for knocking off after 8 hours, and going home to one's family as well. What I do is technically boring, but necessary, and doesn't consume my personal life. I don't have to spend 2 hours each way going to work through bay area traffic, either.

Yeah, I'd love to be building something super cool from scratch, but that lifestyle has a cost, as well.


If you are sure that you will be able to market yourself after years of working on some no name corporate stuff, by all means. I've been there and seen guys working 10 - 12 years at the same company, enjoying their 8 hours shift just finding out one day that they are not needed anymore - and with obsolete skills set (you get into comfort zone pretty easily in corp world), some of them having really difficult time to find another job.


But layoffs don't just happen in corporate, they happen often at startups too, and without warning (oops, just ran out of funding). Remember the last dotcom bubble? There were a lot of folks laid off with new technology skills that nobody was hiring for anymore.

My point is that classifying corporate:bad, startup:good is just unsafe thinking. If you look at the company on its own without stereotyping its demographics, you'll come out better in the end.


I have a hard time imagining that this guy reading HN is going to let his/her skills become obsolete. Besides that, was there really no writing on the wall? They really had 40 hours of work to do every week, and then suddenly none, with no warning?


1. Comfort zone - if you ever worked in corp world you know what I'm talking about (he mentioned that he enjoys family time after 8 hour work shift so I would like to know how he keeps up to date with skill set). 2. I've seen it myself at least two times - no warning, nothing. Thank you for your service, here is you severance package - 2 weeks of pay and application for COBRA coverage.


Yes the only way to keep your skills up to date is to completely ignore your family.


I'll second this. I had this happened three months ago, the owner walked into the office, sat down and apologized profusely, and handed me a months severage. No advanced warning, no slowdown of work, jsut boom, you're done. Doesn't pay to be comfortable.


I don't understand your stance on family time vs skill set? My day to day is usually like this: Get up, shower, pick up my house, go to work for 8 hours, come home where I make dinner and invariably end up cleaning my kitchen. Then i sit down with my boyfriend and just do whatever so that we're spending time together.

This past weekend I managed to pick up a book on Go and hoping to deploy something through appengine by the end of week. If you want something, you find the time.

And I work 48 hours a week minimum.


You have a rather small family. That's cool, but not everyone does.


That is a danger, yes. So don't let it happen.

Like most people here, I'm often learning something new, or new aspects of the familiar. Despite the inertia, large comps need people to lead the way, whether it's training how to properly use source control, teaching new languages or platforms, setting up application standards to make troubleshooting possible and aid comprehension for maintenance.

The problem is actually having a large amount of existing code, and having to live with it for a few years, rather than a blank slate to be written with whatever Apache (or others) just released last week. Don't think that code won't feel old in 2 years.

DHH did a wonderful talk about "legacy code" a couple years back, I think it's on the IT Conversations site somewhere.


A startup's not a panacea, but--man, he sure knows what buttons to push.

This is for the guy who browses Hacker News at his cubicle during his break under soul-sucking fluorescent lights

...that's 10 hours of your workday that is devoted to your job.

The Java Struts web app that you're working on needs to be able to support IE 6, especially because you're not able to install Firefox or Chrome on your locked down desktop.

I could add so much, but he's got the big ones. How about "browsing HN from your smartphone because of the proxy"? We're actually working startup hours here, so combined with a large family it's difficult to get the time to work on the side project. Luckily there are people out there who have demonstrated that it can be done under similar constraints (looking at you, Patrick).


"This is for the guy who browses Hacker News at his cubicle during his break under soul-sucking fluorescent lights."

Described my previous-life to a T, best decision I ever made was leaving those fluorescent lights.


Small caveat: the OP claims that the WSJ named "software engineer" as the best job and links to this: http://online.wsj.com/article/SB1000142405270230377290457733...

Actually, WSJ was just reprinting a listing by a company named CareerCast, whose metrics are a bit suspect.


The gist of these kind of articles is that you have a choice! A job is just another kind of mutually agreed relationship and you have the power to change its parameters or end it. But I guess some kind of Stockholm syndrome starts developing and some people need to be reminded that. Not only that, but their skill is in high demand so the is little to no risk in switching -- something that also needs to be said out loud. It's basically a form of self-help which isn't bad but should be labeled as such.

The assumption that only large consumer-facing products are worth working on is wrong. There is a whole world out there you don't know about and it doesn't run software on iPhones. It depends on the person, but you shouldn't need external confirmation to be proud of your work -- either you did it well or you didn't.

Generally, the problem isn't the project per-se, it's just the management. A horrible boss, ie. a horrible person will wreck your day regardless of what are you working on. If you are hired to write internal reporting software, don't be surprised you will work on internal reporting software. Make the most of it!

Software is depressing because that's the best you can do sometimes. There is this type of corporate developer that's just at the edge towards a good developer but he just believes he's the greatest. He'll always be unhappy because the Man just won't let him try the latest fad and if he only would be allowed he would make such great software. But what does he do? Crappy software! A certain degree of modesty is required in software because not everybody before you was an idiot, and if you had free reign you would make an even crappier solution with the latest fad and all.

But essentially, the kind of people feeling bad are just unmotivated because the job is not a good fit. That's it! As the RSA video said, they need more autonomy or a "higher" purpose or just want to get better at something else (mastery). But sometimes what's missing is a degree of realism.


This piece of article is definitely targeted :). Kind of like self-help but for geeks. Nice SEO though.

That aside, I believe people can find a niche developing software targeting these soul-crushing jobs. Basically have a product that solve problems people hate to deal with.

Java EJB 1.0 and Struts sucks? Write your own framework, call it Spring Framework: worth $400M. JDBC sucks? Make Hibernate.

Dealing with Rails deployment sucks? Cloud hard? Come up with Heroku.

Silo-ed web-apps, always have to custom build CMS and comes up with your own workflow? Build SharePoint: $1B market.

Configuring and maintaining WordPress are not interesting? I heard WPEngine is making money left-and-right...

I learned that before you can call yourself a real entrepreneur, you should learn to get over yourself on these "shitty" stuff because what if you got your dream job but is interrupted with "shitty" stuff in between? Call it quit again?


JDBC sucks? Make Hibernate.

Because JDBC didn't suck enough...


because Hibernate is awesome!!


Your last sentence really hit the nail on the head. Start-up or corp, you'll have plenty of shitty times along with the good.

It's an attitude issue. The right attitude towards the bad (and good) things will make all the difference to your happiness in life.

What people often forget is that they are completely in control of their own attitude towards life too. The way you react to situations around you can be a positive influence instead of negative if you want it to be.


You so hit the nail on the head: being awesome by doing CRAP that nobody wants to do, and making it into something easy. Interesting book called "The E Myth" about entrepeneurship about 20+ years ago, talks about the myths of freedom to do more "worker" stuff, and the reality of building a business to provide a consistant user experience and a system to enable the workers to provide it. Seems along the same vein.


The "non-shitty" software the author works on is an ad-serving platform. Advertising is only one or two steps above TPS middleware.


That hurts a little. Sorry you feel that way. :-/ I particularly enjoy working on the technical challenges, but to each his own. Cheers.


I'm sorry. My comment was supposed to be funny, but it was just rude. Thanks for calling me on that. <:\

All kinds of software can be shitty or non-shitty. I appreciate the call-to-action to developers stuck in the "trenches" of corporate software development. The "C++ coding mines", as one co-worker put it. I just feel the world is inundated with advertising and I hope inspired hackers have the opportunity to solve problems that help people more than businesses.

As FAKEGRIMLOCK says: "FIND CONTENT USERS WANT TO PAY FOR. ADS JUST WAY TO GO BANKRUPT SLOWER."

https://twitter.com/#!/FAKEGRIMLOCK/status/18952272845223117...


Advertising is only one or two steps above TPS middleware.

What's your problem with middleware? Building middleware gets you closer to doing systems level programming that a lot of things.. you get to deal with challenging problems in data storage and retrieval, concurrency, networking, filesystems, etc. when you're building infrastructure code. And middleware is used to build solutions to massively complex and challenging business problems that have a real impact on how people do their jobs and how companies run.

Personally, I'd rate working on a cool middleware platform (preferably something Open Source) as one of the best gigs you could have as a developer.

(Disclaimer: I'm the founder of a startup that builds Open Source software that would probably be lumped into the "middleware" category.)


Existing advertising solutions are, but it's a business that most good developers/designers/product people don't want to touch, so it continues to be shitty. I've been following Adzerk for a little while and wish my workplace could try them out, but I don't get to make those decisions. Still, I've long thought writing a non-shitty ad server is sort-of noble and interesting, so I'm hoping they continue to be successful.

Advertising is a mess and most of it is terrible and the problematic mindsets that have made it that way are pervasive... but what I see there is a ton of hard problems and it will be smart, entrepreneurial people that attack those problems.

Also: money


Spring is in the air--it's resignation time. The abysmal enslavement of family life never appealed to me. For that reason I never got married and never had kids. (I have a cat though.) Worked for a decade supporting other people's research--tremendous error. A new non-technical VP was hired (he is an ABD in math, I have a Ph.D. in math--a source of tension between us). A year ago the non-technical VP hired a smug, platitudinous non-technical director, whom he installed over two directors. I was one of them. Since directors could not report to directors, our titles and job descriptions were downgraded. I abruptly resigned. During the exit interview, the head of HR wanted to know why I was leaving. I reminded her that she was cc'd on the restructuring memo, which stated that my title had changed from director to Zweiter Beauftragter für Administrative Fragen, that the position no longer reflected my education, interests and ability and that I had been immobilized under an incontinent rhinoceros. I jumped to what I thought was a research position...but I won't describe the often mutually undermining responsibilities the position actually entails. It's still superior to the Bolshevist ITIL-addled regime I left, though the article inspires aspiration to something greater...


I have looked in the mirror every morning and asked myself: "If today were the last day of my life, would I want to do what I am about to do today?" And whenever the answer has been "No" for too many days in a row, I know I need to change something.

- Steve Jobs

A couple of years out of college I started living by this quote and it has worked out great for me.


I really enjoyed that speech too, in particular this quote.

It can be hard to live by that quote though, especially when you have a lot of responsibilities.


I subscribed to the StartupDigest newsletter to keep track of local happenings. Content aside, every week their email begins with the same line, which becomes the snippet that GMail shows in the preview.

"Life is too short to work at a boring company".

Quite a reassuring reminder.


As for quitting- never quit unless you must. And don't sabotage yourself to get yourself fired. You suck less than you think you do, and if you work hard enough, you will hopefully find something somewhere to transition to.

I worked in golden handcuffs, unable to leave because of the good pay, benefits. I felt I was getting less marketable by staying there, and that I couldn't work somewhere else. Friends told me about other opportunities and I ignored them because I had no motivation- I was miserable with the job, the politics, everything. Luckily, an old co-worker provided me with a great opportunity. For others I knew who were even more able than I was, it also took spending a lot of time polishing his image and interview skills. You used to be able to just get jobs because of your resume. But these days, an interview can be like a black belt test. You have to show skills as if you were applying for an enrty level position, mid level, senior and executive all at once. Once I broke those handcuffs, I knew I was better off. It is scary, but it is worth it. I still don't know if I'm doing what I should be doing, but it has got to be better than hating every day at work.

And when you accept the offer at another company, treat the first company with respect, but tell them honestly what you think in a way that you'd be proud if your assessment of them went public.


I later asked him directly, “…but do you love your job?” He paused, looked down to his drink, and replied, “I love my team, but I fing hate my job.”

There's one thing that I heard pg say one time that's always stuck with me: people make the difference. Good people can make a boring project fun. Bad people can make a fun project hell.

It sounds to me like the person quoted likes his team, but it doesn't sound like they're meeting this definition of "good".


Love, love, love this post. I'm not a hacker so to speak but I can totally relate. I've always had an entrepreneurial spirit and NEVER wanted to be a lifer who spent 20 years bored to death making someone else's dreams come true. And, I think that spirit is the trait that marks the startup generation and the reason posts such as this resonates with so many.


I've taken this sentiment to heart over the last couple of years and went from hating my profession and seriously considering finding a new one to rekindling that passion. The key was getting a position where I can help make critical decisions and have a real say in what happens. At jobs where the decision making process was deferred to people who were either out of touch with reality or thought that their voice should be louder than the other team members' the feeling was soul draining.

I think that there is a sweet spot in already established, small to mid-size businesses looking to step their game up. They have the resources to Do It Right, the patience to carry out the process and the wisdom to trust what your experience and knowledge tells them.


I think a more general piece of advice is to work somewhere where the software you write is the product. For corporations, the programming department is a cost center.


What's it with HN blog posts and dividing the world in:

1. BigCo. 2000+ employees, mandatory suit and tie, great income, soul-crushing work.

2. Startup. 14 employees, sneakers, Macs and fancy goatees, work 16 hours with fellow brogrammers, life is amazing and awesome.

Really guys, the world isn't this simple! It's a very nice way for the recent Graham converts to beat their chests, but there's a lot of cool stuff to be done between working at Accenture and working at Quora.


I read this while I was writing my TPS cover sheet.


I think that this is true no matter what field you are in. Income is important and it is very hard to change course in life when you have a family and other financial obligations but it is worth it. A happy person makes a much better partner then someone who is frustrated and depressed.


When I read "Jonathan [has] a fiancé", I have to ask myself whether:

1. Jonathan is gay, or 2. the author can't spell.


Thanks for the article; back to the florescent lights for now. Soon...


I started at what is probably the "very very large software developer in RTP" (there is only a handful of them), and I visited Hacker News every day under the terrible lights.

I've since quit and never looked back. Start ups are definitely for me. I'm already making more than I did at Initech.


Anyone of you identify in the former group, at a corporate job and loving it?


That's why I want to make a great, revolutionary hardware.


Truth.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: