
Life's too short to write shitty software - snkahn
http://team.adzerk.com/post/21024440104/lifes-too-short-to-write-shitty-software
======
edw519
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.

~~~
ajross
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.

~~~
lusr
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.

~~~
snikeris
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.

------
Khao
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.

~~~
debt
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..."

~~~
Khao
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.

------
daeken
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.

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

~~~
daeken
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.

------
geophile
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.

~~~
bricestacey
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.

------
bri3d
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.

~~~
wpietri
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.

~~~
mkramlich
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.)

~~~
Drbble
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.

~~~
mkramlich
> 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.

------
kirinan
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.

~~~
paulhauggis
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.

~~~
kirinan
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.

~~~
paulhauggis
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.

------
Roboprog
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.

~~~
pelemele
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.

~~~
fusiongyro
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?

~~~
pelemele
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.

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

------
Poiesis
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).

~~~
benblodgett
"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.

------
danso
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...](http://online.wsj.com/article/SB10001424052702303772904577336230132805276.html?mod=e2tw)

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

------
fierarul
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.

------
edwinnathaniel
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?

~~~
gaius
_JDBC sucks? Make Hibernate._

Because JDBC didn't suck _enough_...

~~~
dstywho
because Hibernate is awesome!!

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

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

~~~
cpeterso
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...](https://twitter.com/#!/FAKEGRIMLOCK/status/189522728452231170)

------
ChristianMarks
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...

------
paulc
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.

~~~
peacemaker
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.

------
dylanpyle
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.

------
advice2012
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.

------
j_baker
_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".

------
lnwilliams
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.

------
Produce
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.

------
MatthewPhillips
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.

------
skrebbel
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.

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

------
Znash
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.

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

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

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

~~~
alttab
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.

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

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

------
blowmage
Truth.

