Well, this weekend I'm particular happy. A private equity guy in NY paid me $150 an hour to 'learn PHP immediately and fix his site.' He paid me for all 48 hours because he assumed 'I ate, drank, are his job the whole weekend.' I told him it was too much, I usually charge $100 an hour. He said he hopes I'll be available whenever he needs me. Best believe I will.
Reminds me of a time I was Skyped at 4 AM by a previous client who needed my help. Told him it was 4 AM in my timezone and I was well past when I needed to sleep. Offered an hour at double my usual rate for 10 minutes of work, you bet I was wide awake.
Yeah, in my case, ithe work was very very simple. Slightly tedious because I had to type up lookup tables, but once I familiarized myself with php, it didn't take 5 hours.
Can't complain. Great company. Constantly wondering if I'm good enough to keep my job, though. I'm trying to prepare for that day I'm told, "Let's talk. We like you a lot, but we've decided to let you go. If you need referrals, let us know." I mean, everyone says I'm doing well. I just don't feel it, so I work a lot more than I probably should, and I'm always ridiculously paranoid. I'd say I'm happy but I'm worried. I bet it's more common a combination of feelings than I think. The funny thing is that the company is full of really nice managers who keep it honest (as far as I know), and would tell me if I'm under-performing. I'd hope so, at least. So I guess so far, so good.
> Constantly wondering if I'm good enough to keep my job, though.
I wonder this quite often too. It would be interesting to see a study involving programmers and their confidence in their skills compared to what other people think and also how much they read about programming online.
My gut instinct is to say that because we want to read a lot of new/interesting stuff online, we're exposed to (seemingly) tons of people who know TONS of things that we don't know in the aggregate, so it affects our self esteem...
I'm surrounded by the people we read material from, the guys who write it all. I try to learn everything I can from them. I'm just hoping I can express a level of competence that enables me to keep my position. The longer I can keep it, the more I'll learn, the better I'll be a year from now and after.
Being aware of it does nothing to remove the certainty that at some point the people you work with are going to turn around and tell you to go home and never come back. Just as soon as they realise you're worthless.
The most interesting thing I've seen written was on here, pointing out a problem in the logic. "If they haven't noticed you're as stupid as you think you are, they themselves must be even stupider. Therefore imposter syndrome at some point requires that your colleagues are morons, yet if you believed that you probably wouldn't feel as inadequate."
Especially as I went from "on my own" to working with a team of f*cking brilliant people, I had some serious self-doubts. We instituted a review system that includes anonymous peer reviews, and it was insightful to see what others felt I was both good at and upon what I needed to improve. Seeing what others value in me helps me realize that, while I have so much to learn, I am providing value not only to my employer but also my team.
Second-guessing yourself is a good sign. As Michael Atiyah said, "Only the mediocre are supremely confident of their ability. The better you are, the higher the standards you set for yourself."
I'm not. I have been doing it since I was 9. I pulled most of the heavy-duty, hardcore all-nighters during my teenage years; I grew up writing C, and was hacking on socket code and compiling kernels when I was 12-16. So by the time I was 20, I was utterly burned out. Most of my peers discovered the crazy, hyper-caffinated, 24/7 techie life in university years, and still have a few years of this insanity left in them. I don't.
I'm 30 now, and feel like I've been running on fumes ever since. I am still interested in software architecture at a conceptual level, of course, but suffer from immense fatigue at the keystroke-based deliverables aspect. It's always a motivational struggle to write even a little code, with few exceptions. I procrastinate horrifically, because I find it tedious.
Some of it may be because my work entails dealing with fairly uninteresting and unexciting things, and some of it is the cash flow schizophrenia of constantly operating at the very margins of economic survival, but above all else, it's just psychological, cognitive and physical fatigue. I'm also fairly extroverted and have always been interested in the social and political dimension of what I'm doing, but, through eight years of self-employment, have pigeonholed myself into a solipsistic role without a collective--rewarding to those who crave peace, quiet and code, but not at all catering to my particular reward centres. I love selling what I do, but the dreaded implementation of what I just sold is like pulling teeth. Deprived of a collective, recognition, the competitive aspect, and any sense of larger purpose, it's a real challenge to get myself to work on code.
In retrospect, I probably would have been better off sticking it out in corporate America and tracking myself into technical management. However, I left the employment world at age 22 and decided to hole up in a business model where I'd be most economically rewarded if I could get myself to write more than a few lines a week.
I am deeply specialised in a niche vertical that can pay well, so one would think the money would keep me going (I can easily bill $250/hr for what I do), but it doesn't. Some of that is a business and life problem, but some of it is that I just don't care enough to pound code anymore at virtually any price--though, of course, that's not to say that taking the bricks of economic stress that come with a bootstrapped eight-year consulting-turned-product death march off wouldn't help.
I still do it, but it's taken me five years to write a slightly half-assed software suite that an energetic and motivated programmer could have done in far, far less time.
It is far from amazing, and I'm not saying it always fetches that kind of bill rate, just that it is specialised work and requires telephony domain knowledge.
I read your description of your work and how it makes you feel. I thought it sounded awfully familiar. It isn't you, it's voice. I've worked in this industry for 18 years and it keeps getting worse, but there is money to be made. It's a trap, but a mildly soul destroying comfortable one. Do get out if you can.
Thanks. I do wonder if there's something in particular about voice that lends itself especially to cynicism. Every time I wonder that, I always figure: surely not, when there's actuarial software, Wall Street...
If you can bill $250/hr, why not hire people? Sounds like it would help fill your social/conceptual gap.
Someone in a regular job might need to ask for a promotion to management, but with your own company you become a manager as soon as you're willing to pay for someone else's time.
1. Because I'm not billing $250/hr @ 40 hours/week. I wish! I just meant it's considered a normal consulting rate for what I do.
2. I've tried to transition out of consulting and into 100% product company, but have not so far been successful. There's a significant short-term revenue hit in that.
There's plenty of recurring product licencing and support revenue, but not enough to break me even, so it gets supplemented with consulting. And you know how lopsided that distribution is; 75% of the work for 45% of the revenue, or something like that.
Amidst that kind of schizophrenia, it's very hard to hire someone, both for financial reasons and because the hiring decisions that would need to be made are very different in those cases.
3. I've hired numerous people over the years, back when I was doing consulting/project work full time and not engaged in this productisation effort.
The people I could afford were mostly entry-level. In the niche vertical I'm in as well as the high-expertise business model I've created for myself, customers expectations are specifically for domain knowledge and multifarious skill sets. In other words, it doesn't scale out much beyond me and other folks exactly like me, so I couldn't find ways to bill my employees out.
Being a conscientious person who largely blamed himself and chose to view it as an entrepreneurial & management failure on my part rather than on theirs, I kept them on far longer than I could afford to, effectively working 2-3x as hard to keep the lights on and subsidise their salaries.
Clearly, the solution is to hire non entry-level people. But the folks with the expertise to be able to do the work are definitely a high-salary proposition, and I can't afford it.
4. Hiring is very much a question of cash flow. Learned that on hard mode. If someone took my $ANNUAL_GROSS, divided it by 12, and disbursed it to me on the 1st of every month, damn right I'd hire someone again. :-)
Have you considered that there's something wrong with you emotionally? You sound like you're constantly under stress and even anxious about your economic survival. Those two can very effectively dig you into a slippery hole of depression which would just amplify them and you'll falling into that depression even further.
It's like a loop that nearly impossible to break out of, and even when you do returning to a comfortable life rhythm will take considerable effort, too.
Also, for a lot of people there is no rock-bottom, you'll just keep slipping deeper and deeper.
So, my advice is to ask for professional help—which I realise is one of those "easy to say; hard to do" type of advices, but try to ask for support from your friends—and try discovering something new, which can be completely outside of IT!
Another thing that you can try—which is very effective, but doesn't require you to dish out money is downloading some CBT (Cognitive Behaviour Therapy) tracks or guidance applications. There is quite a few of them and they can help a lot (although they might not be as effective as with professional guidance).
Also, something "odd" which I can also recommend is 7cups.com (which is an online therapy platform; you can have 1-1 sessions or group sessions, it's great if you need to just talk to someone). You can even try becoming a guide (called a "Listener"), helping others can also help you (and this especially true, if you're an extrovert).
1. If there are objective sources of stress (e.g. problems of economic survival), I don't perceive that to be an emotional problem. Emotional problems, as I would use the term, are problems which are strictly endogenous in nature.
2. I generally go about my business just fine and am quite functional. But since the OP asked if I'm happy per se doing software work...
3. I'd probably be happier in engineering management, or in technical sales and marketing (i.e. of the highly consultative sort). I seem to have a pretty healthy - even cheerful - appetite for those things, when the opportunity to do them arises.
I'm not depressed. I'm just beyond burned out on coding as a mode of existence, and then some.
> 1. If there are objective sources of stress (e.g. problems of economic survival), I don't perceive that to be an emotional problem. Emotional problems, as I would use the term, are problems which are strictly endogenous in nature.
I meant psychological problems rather than emotional, but I feel like those two are intertwined, anyway. Sorry for the confusion.
Being burnt-out is also a type of stress. What I meant to say is that, if you're constantly under stress it can have an impact on your emotional/psychological state as well, and you shouldn't underestimate the damage psychological stress can do to your personality.
Duly noted! But the question was about whether I'm happy working as a programmer, not whether there are large, existential and cosmological life issues to solve here apart from and beyond that.
I would sincerely, sincerely suggest to research the MISERY most of our world is in. There are 1 billion people without food or clean water. Imagine what someone with your skills can do to help? You don't need to make any money - and implementing deliverables in that scenario will only alleviate actual, real PAIN for others - not fuel the chase of more profit for someone who has hired you.
I'm sure you've probably thought of this before, but I thought I'd throw this out there anyway. Volunteer to make the lives of people trying to help people better, with software. You probably don't even need to write anything new most of the time, just know the good software from the bad and deploy it to awesome effect on operations for good across the world.
I'd be interested to know a good place to start with this kind of thing.
Do you have some examples of software engineers contributing their skills to charities, open source projects aimed at assisting in these situations or just some boards or communities that can assist in finding a starting point?
I'm searching for an efficient (read: not waste my time and affect my means of living) way to do this myself. The easiest way to start is to look for non profits operating in your area - or close to you - ask them to go have coffee with you (use LinkedIn). Do a virtual chat if necessary / pressed for time or distance. Discuss their work, and I guarantee you that ideas will come rushing out, this is what makes us tick. Then, just start. Do something for someone, talk about it.
Okay; I can empathise with that (not an empty statement).
In that case, I can suggest that your happiness (and 'effortless' productivity) can stem from wanting to dig yourself out of that hole and "set your family up for life" - because looks like you've committed to that direction.
This is easily construable as a presumptuous statement, these things are so much easier said than done. I have no right to play "guru" out here. I just care that a fellow peer in this same struggle is unhappy and talking to you as I would talk to myself and self-counsel.
Whatever you do, good luck, because you don't seem like one of the "bad people". Cheers.
I don't know if my goals are anything so lofty as setting my family up "for life", but certainly, part of the issues are economic and, to some extent, money can cure them.
I'm not a low-income individual--certainly not by non-SV US standards. But I started this business with $200 to my name and a high personal expense base, and ground my financial history and financial position to powder as a result. I also lost big on an upside down property in the housing crisis, a still ongoing matter. The volatility and sliding-backwards stress of self-employment in a non-scalable niche is a big part of my stress, with cash flow being the dominant stressor; a highly volatile $200k income can be effectively discounted to like $65k. I'm often envious of people who get paid a good salary to just code and not have to think about anything else.
However, I'm capable of conceptually and emotionally disentangling all that from the question of whether I fundamentally like programming per se. I'm still burned out on it in the best of circumstances. If money were no object, I'd do it a few hours a week to meet some functional need, but I doubt I'd be writing new software.
Apart from the highly rewarding business model I've gone through exactly the same path as you have. I have no appetite for coding now. But at the same time I don't know what else I can do. I don't want to give up the lifestyle I have now but starting from scratch will mean getting a pay cut. It's a vicious circle.
I hate programming, but I couldn't think of a better place to "sunset" my programming career! I'm really lucky to be working with such kind & talented people.
I just want to note that there's strong social pressure to not to claim that you don't love working as a programmer on this site. The odds a future boss or coworker is an HN regular is extremely high, and "passion" is high valued. Weigh the responses accordingly.
Well, as you can see from my comment, I, at least, am quite immune to this pressure. :-)
It's funny to feel like an old-timer at 30, but I've been doing it for 21 years. Everything old really is new to me again. There's nothing less exciting to me than the latest 100-line .js dependency to include or yet another API reference to glaze over.
Not a professional one, of course. :-) However, I think it's fair to say I've been programming since that age because of the sheer amount of it that I did before I was 18, as it relates to the theme of burnout. I wrote fairly complex systems all throughout middle and high school. As I recall, I wrote my first multiuser server when I was 10 or 11.
If you're scared of putting your actual opinions on here, why do it in the first place? Why even have an account? I'm sure if you searched through most people's comment history here, including mine, any given future boss could find something they take offense with, if they only looked hard enough.
I also find your implication that everybody here is (or should be) lying about their experiences reprehensible.
Disagreement is natural, and so is having different life styles. There are lots of people on here who view programming just as a means to a (business) end, or who only learned it in college and see it as a job skill, as opposed to a creative outlet. These people don't generally have problems getting hired, and I can see how some jobs and bosses would even prefer them.
I'm in the "programming as a passion" camp, and I can see lots of reasons why bosses would prefer not to hire some opinionated old neckbeard who thinks he's a creative snowflake.
It depends on the project I'm working on. If I have to work on a Wordpress site and write plugins I really want to quit. But then there are interesting (hobby)projects where you can decide on how to build your app and how to solve problems which is rather fulfilling.
Overall happiness at the moment: 60/100
I am happy at the moment. Doing contract work, have clients I've known for years, and getting into my own IoT projects. Life is good for now. I just told me wife though that it feels like it could all come crashing down at any moment.
I worked for a few years as a programmer but also exercised my people skills over time (being in NYC). I eventually realized I didn't want to write code for work anymore, only for fun. I eventually did a bit more management related stuff at one of my gigs, and now I run a small development shop which requires very little coding on my part. I'm really happy with how things have turned out.
Great story, I'm jealous! Assuming by "run" you mean you own the shop, I would love to learn in more detail how you were able to leap from day-to-day programming to being able to afford your own company.
I see a lot of responses like that in this wonderful thread: I used to program for a few companies, then I got into management a bit, and now I own my own company. That's listing step 1, 2, 3, and then jumping to step 59!
I had been freelancing on and off for years, so I understood how those relationships worked. I started off freelancing on my own, then brought on a part time contractor to help take on some of the extra worked and scaled up from there. Now I have multiple contractors working all the time. I did the jump while also moving into the "nomadic" lifestyle, backpacking around se asia while building everything up, which kept expenses way lower than my nyc rent.
3 years since I graduated from my CS program. Enjoyed the internship and the first year as a python developer. Then I had the bad luck of landing a Node.js + MongoDB project. I've been hating on programming (particularly JS) ever since. Just like @abalshov, I procrastinate as much as I can. Side projects and Open Source contributions have dropped to practically zero. It's just...tiring. Assembling X library with Y framework and then spend 10 hours trying to figure out that one bug. This isn't what I got into CS for.
The pay isn't amazing either. Though I'm good at what I do (a lot better than some colleagues who are getting paid much better), I just can't get excited for yet another startup job (which is where I've been most of my career) which is working on a non-problem.
The work needs to be interesting for me to be motivated. So far, it's mundane. And given I'm not in the US or any western country, I haven't found many companies working on interesting stuff here. It's all ideas copied from the valley and hammered into the ecosystem here.
Perhaps I need some inspiration or some creative idea to put things into perspective. But yeah. Things could be a lot better. I've recently started getting into Statistics/ML and learning Clojure on the side as a distraction and that's been going well.
I am doing contracts (enterprise java), it pays well so my wife doesn't have to work and takes care of 2 kids while paying mortgage. Happy? I believe it is about the people who surround you at work - where you spend most of the time - i like my team and many other people in my current company.
The work is boring in general but i am trying to make it more interesting in getting more involved in production investigations (can be exciting quite often) and helping other people at work find some crazy bug or better understand something...
6/10. I'm less than 3 years into my career, but I think I've worked for some of the best companies with great pay, benefits, environments, etc, including a tech giant and two startups. End of the day though, work is boring. Its always work. Your time and effort is going towards making someone else rich and their priorities are more important than your own.
The only things I really look forward to are vacations and events outside of work. Learning things is always exciting and sometimes its extremely rewarding getting a project (or even a feature) off the ground and seeing a company rise and beat projections. But then a few weeks later, its just back to work and nothings really different. Its a temporary victory at best, then expectations just get higher and more grind.
The best you can possibly hope for is enjoying the people you work with and getting a couple good exits. I'm never married to my work and I would be incredibly depressed if I allowed it to define me as a person. It pays the bills, and generally pretty well.
Even compensation wise, it peaks very early and probably won't get most rich without a ton of luck. Its depressing to make comparisons, but 99.9% of developers will never make half of what a specialized MD or successful lawyer or someone in finance might make. Granted, the barrier to entry is much lower in CS (sometimes nearly nonexistent depending on the line of work).
edit: Reading some of the other comments made me realize how dissatisfied I am with this line of work. On average, the people really are incredibly boring, especially at large companies. It is true that it is dominated by men and many are socially awkward. Its even worse that I think being on a computer for so many hours a day for years at a time makes everyone a little less socially adept, at least compared to the sales folks who spend most of their days on the phone. I'm literally spending my weekends looking for the most reckless and dangerous things I can do (lately its been surfing 2-3x head high waves, before it was motorcycling through snow/ice storms) to compensate and its completely unhealthy.
> End of the day though, work is boring. Its always work. Your time and effort is going towards making someone else rich and their priorities are more important than your own.
I feel exactly the same. I've been in the game for nearly 8 years now, and it doesn't get any better. At the end of the day, as you say work is work, I don't think I would feel any better working in another career. I like programming, I just don't really like working as a programmer :D
For the last two years I've been contracting which helps as I get to pick and choose projects a bit more, and if I get bored, contracts are only usually a couple months at a time so it's easy to get out ("I can't renew, I've already got another contract"). I'm focussing on saving to buy a small property outright with no mortgage, so once I am living there my living expenses will be greatly reduced and I'll have more freedom to explore my interests outside of work.
Its depressing to make comparisons, but 99.9% of developers will never make half of what a specialized MD or successful lawyer or someone in finance might make.
Why not make a much less depressing comparison and compare developer wages to manual labourers or retail staff? Compare a typical developer to a typical retail worker and we get way more money for way less stress. We're not at the top end of the scale, but we are nowhere near the bottom either.
We get to sit in comfortable offices, working on interesting projects (mostly), building things that make a difference to people, without getting dirty or abused by the public, and we're pretty well paid for it on the whole. And there's always the possibility that we might hit on an idea that returns literally billions of dollars. Or work for someone else who had that idea and walk away with literally hundreds of millions of dollars. Most people don't have that sort of opportunity.
I've been a professional developer for over 20 years, and I've enjoyed most of it. It afforded me the opportunity to do my own startup for a while, and when that failed it was easy to get back in to work with a job that pays quite well. I certainly wouldn't want to do anything else.
But the thing is I could have been an MD, lawyer or someone in finance - these things were well within my reach. But I was sold a false dream and now I am stuck in misery.
working conditions in all of those industries are terrible compared to almost all software jobs. and the work in finance and law is tedious. you're dreaming.
While I see your point (and I agree a bit), it's not exactly fair to put it this way.
There are many people working in these industries who didn't have much opportunity to get decent education, etc. For example, my parents. They are from rural areas from Soviet Union, where getting higher education was not something that goes by default as it is now (which might not be a great thing given the number of people with worthless law/business management degrees from the bottom 10% of universities... oh well).
Obviously, there's a segment of people who didn't give a crap and held an attitude that education is for losers / nerds (before the word 'nerd' was cool) and I don't have much for them sympathy.
So it's not fair to just disrespect everyone working in the retail as 'zero brains'.
I'm saying the job requires zero brains or education. I did not mean to imply people who work in retail have no brains or even less than average. in my country it's not really a legit career choice. it's mostly high school kids or people under 23 who do it as it's compensated below adult minimum wage. after a certain age you either get promoted or fired.
Meanwhile in Lithuania, it's fairly typical that the majority of people working in retail are in their 40s and been doing that for the last ~20 years with very minimal increments in salary (usually because of increased minimal salary).
It's not about disrespect. It's about how much effort you put in to get to that point.
How much effort is needed to get a cashier position? Show up, be sober - you got a job. Many people in IT started learning the ropes in their own time after school. Although it was a hobby, it was still an effort that turned out to be helpful in job market.
Here in the US it's not so different. When I was 20, I worked at Target when I took a semester off school. I think only two or three of my coworkers were around my age. The rest were 30+.
Depends very much on the retail job. If you're expected to sell stuff and work on any sort of commission, then retail jobs take a lot of (a certain type of) smarts if you want earn good money.
Hardest management job I ever had - working night shift manager at a food store while going to college during the day. Like surviving a hurricane while running a marathon while the building's on fire, every single night. I lived roughly a decade of "real" management in my senior year.
Cashiering required a surprising amount of memorization of obscure procedures and policies and item codes, not to mention carefully tracked flawless arithmetic skills when giving change.
The general manager was an artist of endcap design. At non-megacorp retail you're on your own when designing displays. Its truly an art. At the megacorps you have teams of CAD drafters, graphics artists, and sales consultants designing displays, at a non-megacorp story you have yourself, and the boss expects you to do as good of a job as the team. Teams are usually much less productive than individuals, so its not as hard as it sounds.
Stock clerk at higher levels was insane. Its really a two level job and the new hire teen kids merely threw product on marked shelves, but if you were there more than a year and were not an idiot you watched the more experienced guys and took over for them, after which you spent all your time on rotations and resets and price changes and sales stickering and being a reception clerk for the 50 or so direct store delivery trucks we had. I don't care if you have 20 pounds of soup cans for a 10 pound shelf, make all of them fit somehow and you need to accept deliveries from dairy and bread and beer and you have two hours until break time to get this all done plus or minus helping out everyone else.
I've noticed over many decades that despite enormous quantities of (self serving) propaganda, the hourly pay rate people get generally has little relationship with how difficult or important the job is, on a large enough scale.
Another interesting observation is the dumb people didn't survive on the job nearly as long as the smart people, and the dumb people absolutely suffered horribly compared to the smart people.
Retail managers certainly act that way, but I wish it weren't so. The one thing that has the potential to bring me to a brick and mortar store instead of buying online, is the chance to talk to an employee who is an expert on the product. Sadly it doesn't happen too often. Usually you get someone with enough brains to operate a cash register and no more than that. Ask a good question, you get a blank stare in return. Or they tell you to google it. And because they get paid garbage money, they often can't even afford to buy the product they're selling, so they don't have firsthand experience with it. Could be so much better...
On one hand, yes, absolutely. We have much better than the vast majority of the people and there are times when it doesn't feel right to complain about it.
On the other hands, it's turtles all the way down until you reach "well, we are still alive, at least that's something".
While some humility and reality check is good, aspiring to have something better (be it in the monetary terms or whatever drives you) is also important to make progress.
Less stress? Retail workers turn up a 9 leave at 17:30 - they dot get called up outside of work in an emergency to fix some one elses code that causing a problem.
If I'm 45 minutes late for work 3 days in a row with no good excuse, no one gives a fuck. Retail worker shows up 45 minutes late one day and they're most likely fired. I also don't have to worry about people fucking around with my shifts and thus how much money will be in my next paycheck.
Having even a modicum of job and financial security removes so much stress from your life.
> If I'm 45 minutes late for work 3 days in a row with no good excuse, no one gives a fuck.
Unfortunately it doesn't work that way for all developers. At my last job there were continual reminders and reprimands for being even five minutes late.
In my first job ~25 years ago I got told off for coming in 5 minutes late even though I had gone on to a customer site at 9pm the previous evening and worked to ~1am to fix the problem.
Left there after 9 months and have never worked anywhere like that since.
If you are a salaried exempt employee, you should not have to put up with that BS from timeclock nazis. But it is all entirely legal, and for many companies, obeying the letter of the law on paper is the only requirement for corporate policy.
Sadly, without the muscle of collective bargaining to back you up, your only real options are to politely beg your management to stop being timeclock nazis, or to leave for greener pastures.
In retail, you don't get free food / liquid. You have to stand on your feet all day. Customers are allowed to scream at you and you have to figure out how to make them happy. Bosses are more than happy to fire you because, let's be honest, there are 1,000 others that can do your job. No guarantees of a 40 hour work-week. No paid holidays, no benefits. Raises are like 25c, and that is only if the boss really likes you and you aren't in a union, shifts well past midnight on Friday and Christmas Eve... (don't care to continue)
Water is free, most likely. I've never had free food programming, beyond nutra-grain bars, once.
> Customers are allowed to scream at you and you have to figure out how to make them happy.
Toxic clients exist in the programming world, too. And as a low-level peon, you have a lot more leeway in telling an abusive customer to get out than you do a multimillion dollar client.
> shifts well past midnight on Friday and Christmas Eve...
Still happens for developers.
As strange as it may sound, I think I personally was happier waiting tables. But it wasn't going to pay the bills. In general, I totally agree that most people, all things considered, are better off programming. But let's not overstate our case. :) There are definitely some programming jobs which are light-years better than any retail job because e.g., you don't have to deal with customers, but that's not all programming jobs.
> I think I personally was happier waiting tables.
Sometimes, the social aspects of your job outweigh other factors. Throw in the simplicity of jobs like waiting tables, and I've found that it can be a lot of enjoyment.
I was a "pest control technician" (exterminator) before I started programming professionally, so I know how you feel. My life now is a cakewalk by comparison.
Oh, man. At 16-17, I used to do that installing HVAC systems. At 21-22, I worked in a factory to support a family. Then I spent the next 3.5 years selling cars. Finally said, "Fuck this", and decided to start programming as work instead of just play.
Even the worst days of the last 9 years have never been as hard as the best days before it.
Ignoring the financial aspect of it, I actually didn't mind working in a department store all that much. During downtime you got to socialize with coworkers (many of whom were female), during busy times the time just flew by, you got to move around a lot and be active, you weren't expected to know every detail about everything you were responsible for, just be able to answer some basic questions about certain products ("Why is this more expensive? Which one is best for situation X?"). Also your friends could stop by your workplace to chat from time to time.
As for the no guarantee of 40 hour work week... well, again ignoring the financial aspect of it, only working 20 or 30 hours a week was much more enjoyable than 40-55 hours (or even higher at some places) work weeks.
There are plenty of people on so-called "zero hours" contracts who don't know from day to day when their working hours will be, may be called in at short notice to work an off shift, and have no predictability of pay.
As a retail worker, the pay is at or just above minimum wage and benefits like PTO and health insurance do not exist because the jobs are usually part time. Additionally, retail work always comes with irate customers who will piss you off, your coworkers off and your bosses off. So everyone is angry. Retail workers often do not have a set schedule, this is especially true during the holiday season. They have to find coverage before taking an unpaid day of leave. Lastly, because no real skill is needed to work in retail, workers are easily replaceable. 1 mistake can get you canned.
How is a situation like that more stressful than being on call of which you get paid to be on?
We get to sit in comfortable offices, working on interesting projects (mostly), building things that make a difference to people, without getting dirty or abused by the public, and we're pretty well paid for it on the whole. And there's always the possibility that we might hit on an idea that returns literally billions of dollars. Or work for someone else who had that idea and walk away with literally hundreds of millions of dollars. Most people don't have that sort of opportunity.
> Why not make a much less depressing comparison and compare developer wages to manual labourers or retail staff?
Some software engineers undertook difficult curriculums in highly selective universities. In that case, I think it's understandable to feel a little bit depressed when comparing to former classmates in more prestigious fields. Personally, I have to admit that sometimes I feel that way (even though I'd probably do the same if I could go back in time because I love this field).
> compare developer wages to manual labourers or retail staff
apples to oranges.
we're highly specialized knowledge workers. well most of us are, so it is more fair to compare with bankers, lawyers, medics, architects, politician and middle managers which can count on a year to year income growth instead of having to playing idea lottery.
I wouldn't exactly call developers highly specialized. Specialized developers work in a tiny niche and make lots of money by being one of the very few in that niche. Any of us could potentially become specialized, but very few of us actually are.
Hell, most of us could jump fields without losing steam. Systems administration, security, database administration, all of these can be done by a decent developer.
At some level. But I would never hire a developer to do security, or sysad. Because they have the wrong mindset for it. I want some OCD single-minded person keeping my network safe. Not someone who like to just 'get it done' as efficiently as possible. Totally different goal, and to be really good at it takes a different person.
I'd compare us only superficially to capital-P Professions like lawyers, architects, engineers and the like. There are no bar exams to get a license to practice programming in the industry; no liability -- it's really easy for people to misrepresent themselves and for companies to take advantage of us.
Comparing us to retail workers has some merit. We're not professions, have no collective representation, and can be easily replaced (despite current myths about how difficult it is to hire programmers there are hoards of new graduates and self-taught individuals making the leap from other careers and professions because of the money and cushy benefits -- most hiring processes seem to be designed to keep the majority of people out).
> And there's always the possibility that we might hit on an idea that returns literally billions of dollars. Or work for someone else who had that idea and walk away with literally hundreds of millions of dollars. Most people don't have that sort of opportunity.
This reads like a sales pitch for the lottery, and as a random developer, your odds are pretty similar.
Uhh... I have to ask: what, exactly, were you expecting? Exhilarating highs and a path to millions?
It's a job. Most people don't have jobs that'll make them "rich". Be glad you aren't living paycheck to paycheck, or worse, are unemployed because the job you had was optimized away with computers.
To be blunt, there's a sense of entitlement evident, here, that I have trouble grokking. You get to spend all day in a comfortable office working with no more than your hands and brain making double to triple what a day labourer pulls in with a hell of a lot more effort.
And your complaints are, what, you have to hammer someone else's nails, the work is repetitive, and it isn't a fun party every day while you amass untold riches?
Look, I get being dissatisfied. Humans love looking at that greener grass on the other side of things fence. But appreciate what you have. Seriously.
A lot of the loudest voices in tech are people who appear to be rapturously happy and fulfilled working 10-12 hour days. It's easy for young people to get the message that good coders love working all the time, with the obvious corollary that if you don't feel that way, you're not a good coder. It's not an accident--spreading that idea makes it easier to buffalo people into the ruinously long hours that some parts of the industry are infamous for.
It's important to cut through the 10x rockstar ninja buzzword bullshit and remind people--especially young people--that most coders are working for the weekend just like anyone else.
The pop culture obsession with the valley tech industry, and the resulting insane expectations folks hold when entering the industry, is a disservice to us all.
I love the work I do. It's not life changing. It's not going to make me rich in money or in spirit. It's a cushy lifestyle job that gives me the time and monetary freedom to do the other things I'm passionate about.
But that doesn't align with the fantasy of the valley, or frankly, the American protestant work ethic.
This is a horrible comment. There is 100x more to a career than living a comfortable existence.
Personally, I want to feel purposeful at work and that I am contributing to a better world. I also absolutely require regular challenges or I end up severely depressed. Also, I have undertaken extensive education partially as a way of raising my standard of living and having a more enjoyable life outside of work.
THERE ARE SO MANY THINGS TO DO WITH YOUR LIFE! Yea, it's not always going to be a party, but there's a hell of a lot more to it than sitting in air conditioning. And you're allowed to demand a hell of a lot out of your career as long as you are willing to put in the work to get it.
My search for a challenging and intrinsically and extrinsically rewarding career brought me to study the life sciences. Then I ended up in a healthcare company doing menial crap and then a graduate degree in bioinformatics. I'm looking through job-ad after job-ad, and while the occasional one looks challenging I am absolutely terrified that I am going to end up as a desk-monkey who doesn't interact with people and again gets no challenges.
I hope I am wrong and I can make this career work for me, but I am already looking at applying to medical school in a year if can't find a challenging and decently rewarding job in bioinfo. Sucks, because I had originally intended on being a doctor when I was in undergrad but went in another direction because I wasn't 100% sure about it at the time. Unfortunately, I am 100% sure I do not enjoy being a desk jockey.
> This is a horrible comment. There is 100x more to a career than living a comfortable existence.
I thought so too. However, the funny thing with market economy is that it IS pretty efficient, so jobs that are regarded as satisfying and challenging are approached by so many talented people that they don't have to pay very well and the conditions are usually not great.
The solution is to either accept that the role of a career is to get to you to early retirement ASAP (Mr Money Mustache style) or to get excited about something that most people don't care about.
> jobs that are regarded as satisfying and challenging are approached by so many talented people that they don't have to pay very well and the conditions are usually not great.
Agree! If I could be a florist on a developers salary I would jump at it and never look back.
They don't owe me a purposeful, challenging job with a livable wage you are ABSOLUTELY right. However, I don't owe anyone 40+ hours a week when I get nothing out of it but the ability to pay rent and eat.
I am okay with dying. I don't see a point in living a life where I spend my days contributing to a company that does nothing for the world and I am bored out of my mind. I would rather work at McDonald's if that's the case. I am being serious! Money is only a secondary goal.
My ultimate goal is to work for myself and I will at some point. Hopefully that means starting a company focused on genomics, big data, or healthcare, but if not I will buy a gas station and run it myself.
THERE ARE SO MANY THINGS TO DO WITH YOUR LIFE! And you're allowed to demand a hell of a lot out of your career as long as you are willing to create it.
No one will ever just give you an interesting career tailor-made for you. Find out what is interesting, fulfilling, and challenging, and make that your career over time. You start in your company doing menial crap but then move to interesting crap over time, by being intentional about what the company needs, what you need, and how you can leverage one to get the other.
I spent 4 years in a healthcare company in a job that REQUIRED a BS in the life sciences. I never had single day where I was challenged by the goals set by my managers. For 2 years I doubled those goals every single month, some days I was able to quadruple those goals. I was the highest performing one in the department, I asked regularly for new "opportunities" only to get more crap that would not have been challenging for me at the age of 15.
I am sorry that doesn't fit with your world view, it was the worst experience I have ever had and I won't go into another job where they promise me career growth, opportunities, and challenges after I "prove myself." I've already wasted a HUGE amount of time, the past 4 years have been extremely inefficient compared to what I could have been learning in a challenging job.
The only reason I went to college was because I thought it would lead to a job that was actually challenging. My parents never had those, they don't have beyond a high school education. So fuck me for believing education could lead to a challenging job (and you better believe I am prepared for extensive work on top of my education). I've been working since I was 15, I had a full-time job the last half of my senior year in high-school as a stock room manager and yet I still have never had a regularly challenging job. I have never had less than a stellar performance review.
BUT, all my experience isn't the right experience. It seems I am assumed to be borderline mentally-retarded on anything I have not done 100x before.
> I hope I am wrong and I can make this career work for me, but I am already looking at applying to medical school in a year if can't find a challenging and decently rewarding job in bioinfo. Sucks, because I had originally intended on being a doctor when I was in undergrad but went in another direction because I wasn't 100% sure about it at the time. Unfortunately, I am 100% sure I do not enjoy being a desk jockey.
Do it. I'm a programmer in my first year of med school. Love every single day. Beats sitting in a chair from 9-5 pounding in to a computer. FWIW I still do a ton of programming on my own.
Also, the field needs more doctor-programmers. You'll find boundless areas to apply your CS skills. Plus, if you don't try, I think you'll always wonder: what if?
How did you make this transition? Did you take the necessary course work in school, or take time off of work? Where do you get meaningful recommendations after leaving school?
While I agree with many of your feelings, I think you should try to think of this in a more positive way. Many other people go into med school without really having any professional experience at all or knowing what they are signing up for. You on the other hand now can be pretty confident that if you do go to med school, it's what's best for you.
Working with your brain takes just as much effort as working with your muscles. Think back to taking a multiple hour exam in school, and how knackered you'd feel at the end of it. Now imagine doing that for 8+ hours every day, trying to solve problems that you don't even know have a solution. Yes, your body may still be ready to go, but there's nothing left upstairs to make it happen.
"Working with your brain takes just as much effort as working with your muscles."
Well, funny you should say that. Years ago when I first moved to New Zealand (as a backpacker) my mindset was to find a job immediately, then look for a better one. My first "job" was as a labourer. Carrying large marble table tops up narrow windy stairs. Hardest job I ever did! Quit after one day, and my back is probably still thankful for it.
Working with your brain is a breeze. Yes, you get mentally exhausted. Eat some damn sugar, problem solved. You know what you don't get, that manual workers do ? Crippling disabilities, having no energy left once you get home, a terrible salary, dangerous work conditions.
Exactly. My partner hates it when I mention that I had a boring day with little interesting to work on, so I spent a couple hours reading reddit. Meanwhile she works in a fast-paced, no stopping, energy draining customer service managerial job. She hardly even gets breaks, no less time for catching up on your favorite internet blogs.
And yet, for some reason, I get paid almost three times more than her per hour.
You've obviously never heard of repetitive stress injuries like carpal tunnel and others. Your brain doesn't do the typing/pointing and such crippling injuries are fast becoming the norm in most long-term tech workers. For some, it's putting them out of a job or even out of a career. Easy my fucking ass.
Now, I hate the "but other others have it worse" logic, but let's go ahead. I have a family member who was a mason. Started at 16. He is now 45, is unable to do anything properly because his back is completely busted.
I'd love to say that this is an isolated case. I'd love to say that the other construction workers I know are in better health. And I'd love to say that percentage of construction workers with health problems is extremely low. But they're not. Their job is physically hard. They're laying bricks, moving things, moving around on roofs. The body can take it, but not for too long. And they can't take breaks, because their job doesn't allow it. Their body is perpetually being used, and all they can do is reduce the rate at which the damage is done.
Now let's compare with the average developer, which can do regular wrists exercises, sits in a comfy office chair and can perfectly well go exercise after work. Whee, such danger. Take care of your body at least 30 minutes every day.
And yes, carpal tunnel sucks, and can put you out of a career. It can't put you out of 80% of jobs because your back, or your leg, or your shoulder is busted.
Compare both, and tell me the construction worker doesn't have it a thousand times harder than the dev, I dare you.
I don't know how old you are, but I have a similar experience level with the person you're responding to and I think I and many of my peers relate in some ways. I think the parts he said about getting rich are a bit silly; that's probably more of a personal regret of his/hers then anything else.
On the other hand, I think many other people I've talked to who have only worked for a few years kind of feel lost. I guess in a way we've been so busy with school and constantly pressured into finding a good paying job and that it would all be worth it that we didn't take enough time to experience life and find out what actually makes us happy. In fairness, it's also a bit difficult to know if you'll enjoy a job until you actually do it for a while.
I like my job, don't get me wrong, and I really do appreciate all the opportunities it gives me. I think the real question is whether that job enables you to do what you truly want to do, or handicaps you instead. I am fortunate enough that my job is the former, but I've certainly taken jobs where it was more the latter.
On the other hand, I think many other people I've talked to who have only worked for a few years kind of feel lost.
And that, I think, is a failure in our culture. American Protestant ethics teach us that your job should be a deep, elemental, almost spiritual part of who you are as a person. The result is that, when people graduate, and get that job, they discover that working is, quite often, a pretty shallow experience that, if you let it define you, will lead to a pretty unsatisfying existence.
So now you have a choice: get dissatisfied and start changing careers, hoping you can find something to give you a sense of meaning and purpose (which, if you're like a lot of people I know, very probably means you never excel at any one thing and therefore never get to the point of having a sustainable career that can fuel a fulfilling lifestyle). Or, start spreading those wings and becoming a well rounded person so that you're defined by more than your career.
I advise the latter.
Speaking for myself, I have a great lifestyle job. I love the people I work with, and the projects are reasonably interesting but not life changing, and occasionally repetitive. The work environment is comfortable and laid back, and I get to leave work at the office. The job absolutely will not make me rich, but it allows me to engage in not exactly cheap extracurricular activities (traveling, skiing, etc), while leaving me with free time to pursue numerous hobbies beyond programming.
Indeed I'll admit I had a rough transition but I've come to accept that my job is just a job. I really like the people I work with and the company I work for, but the thing I like most about it is that it enables me to do the other things I want in life.
Of course, one day I would like to pursue a PhD so that I could study full time, but that's a dream for another time I guess.
I agree with you, but there are two very different angles on this.
On one hand, there are programmers complaining that they can't get exactly the job they want at what they feel is good pay. Your answer to these complaints is fair enough - lots of people have it tough. Nobody is entitled to a job on their own terms. You choose your own life.
The other angle is the employer who complains about the "shortage" of software developers out there who have top skills and are ready and willing to work for the salary the employer feels is fair in a big, loud, open office with little autonomy or job security. This second, employer-based sense of entitlement is no less appalling in my opinion.
I'm going to guess we disagree on the stress level involved in being a programmer, where you are almost always pressured to commit to deadlines on things you don't yet understand, where people blame you for schedule slips, where you are tempted to compromise to meet deadlines but know that you are cutting corners that may lead to real risk, where you can make errors that destroy data and/or prevent thousands of people from getting work done, where you may severely compromise secure data, and so forth.. in short, I do think it is a job that people can reasonably find very stressful. I think that people overstate the "cushiness" of programming and IT jobs. These jobs can really induce and trigger anxiety, it doesn't take an entitled whiner to feel that way, at all.
Say what you will about programmers, it's the employers (at least here in the States) whose sense of entitlement about who they should be able to hire at "market rate" is so strong they will lobby congress rather that pay more or find ways to make the job less stressful.
Paying people the same value they contribute is not socialism. It's called: Being a good person.
Capitalism seems to have made us all think it's completely okay to exploit someone else's surplus labour. How is the risk the founder takes that different to Employee #1's? Their payout is usually vastly different, but their contribution not so much.
You misunderstood me, I am not saying you should exploit your workers, pay them fair wage. What I am saying is that founder who took the risk should enjoy the fruits.
> How is the risk the founder takes that different to Employee #1's?
Employee #1 will probably be getting a salary, if the company fails he can get a job somewhere else. Meanwhile the founders who worked on the idea probably used their savings initially not to mention quitting their jobs and working on the idea and facing humiliation if the company fails.
That takes courage which everyone cannot do which is why founders deserve to get rich if they build something valuable, employees not so much unless they are willing to stick it out till the end.
I am not sure what you mean by the high flying CEO, I am talking more from the founder's side who puts his money and time on the line. Take Musk as an example, he invested most of his money in Tesla and Space X and both the companies came close to bankruptcy.
Those companies and many others will not work as a cooperative.
Because most people who will be working in the cooperative are sane and will bail out if things get tough. You need a crazy founder to take enormous risks.
Just look around you, most of the tech titans are founders who took risk, can you give examples of tech cooperatives which are equally famous?
>if the company fails he can get a job somewhere else //
Because it's so hard to adapt CEO skills to the jobs market? Whilst peons can pick up a low paid job and should just lap it up and be happy about it??
If the founder is taking a risk running the company then the employees are taking a risk working there; their risk is often as great, the chance to lose one's livelihood.
To my mind a guy in sales that wrote up £1 million of orders in one days work and a guy in janitorial that cleaned the toilets all day both did a days work and both deserve a days pay - they're both humans who gave a day of their lives to the purposes of the company.
The founder is also putting his money on the table while the employee is not. The employee can just say no to working in a startup, nobody is forcing him to work there.
The janitor should be paid the market rate, nobody is denying that but he should not expect to get rich via the company
> Paying people the same value they contribute is not socialism. It's called: Being a good person. <
I am sorry but the whole disagreement is on what value a worker contributes.
According to Capitalism and Capitalism supporters, a productive activity is the sum of (Land/raw materials + Labor + Capital). Capital is nothing but deferred consumption. If you don't consume what you could consume, then that constitutes as capital.
When you say that Capitalism exploits another's surplus labor, what you don't understand is that the Capitalist pays for that surplus labor via capital (or time). Any worker in Capitalism is entitled to the full share of the profit as long as he does not expect wages to be paid out immediately, and that he is willing to wait until the profits pour in.
Because most labor is paid immediately, and workers have no risk or delayed consumption, they don't get the share from the profit.
Karl Marx noticed this phenomenon, but was unable to understand the role of Capital(and yea I know he wrote a whole book on this concept). To him, careful inspection revealed a 'conspiracy theory' among the capitalists which he dubbed as class struggle and class interest.
> How is the risk the founder takes that different to Employee #1's? <
When you compare the risk of the founder vs risk of the employee #1, it is the matter of how much capital is on line there. Clearly the risk taken by someone who has invested $1000 is less than the risk taken by someone who has invested $10,000 into the same venture at the same time.
Funny thing is when people talk about a cooperative, it's no different than an early stage equity startup where nobody gets paid a salary. The moment a cooperative pays salary before the revenue, it will need capital and the person providing the capital would deserve a bigger share from the profits.
> Karl Marx noticed this phenomenon, but was unable to understand the role of Capital(and yea I know he wrote a whole book on this concept). To him, careful inspection revealed a 'conspiracy theory' among the capitalists which he dubbed as class struggle and class interest.
You possess an either infantile and misinformed understanding of Marx, or you're just being ideological here. Have you read Capital? It's not just one book. Marx very well understood the concept, role, and agency of capital. His careful inspection did not reveal a conspiracy theory; instead, it elucidated the ways capital influences our material existence. There was no conspiracy among capitalists, only naturally flowing consequences of capital's impact on the material bases of society.
> You possess an either infantile and misinformed understanding of Marx, or you're just being ideological here.<
I don't understand what is offending you so much here. I am claiming that Marx does not understand Capital, and just because he claimed to have analysed the role of 'capital', it doesn't mean that he 'understood' it. A christian biologist writing about the role of fossils doesn't mean he understands it.
> His careful inspection did not reveal a conspiracy theory; instead, it elucidated the ways capital influences our material existence. <
Did Marx not say that the employer is able to claim a right to 'surplus labor' because the capitalist class (state being one of them) protects this right(property rights)?
Does he not claim that almost all property is acquired via theft and coercion of the labor class? I understand that conspiracy theory is a loaded term, but his idea of 'class interest' is nothing but a conspiracy theory. That somehow all the capitalist are conspiring against the workers, without being explicitly aware of it.
Karl Marx did not understand that Capital allows production but doing division of 'labor'(used here to mean 'tasks'). Workers don't need to invest their time in the production process, and wait for the revenue of a business to pour in, while a person specializing in saving, does the job of providing the wages.
That this is a necessary factor needed in any economy and it's impossible for any society (including the one recommending by Marx) to live by not having division of capital accumulation from labor.
> I don't understand what is offending you so much here.
Why are you assuming I am offended? I'm calling out your erroneous claims of Marx's work as either misunderstanding or ideology. I'm not in the slightest bit offended. Your clarifications haven't moved the needle on being unable to determine if you're being purely ideological, or if you're infusing ideology into what is, fundamentally, a misunderstanding of Marx.
> I am claiming that Marx does not understand Capital, and just because he claimed to have analysed the role of 'capital', it doesn't mean that he 'understood' it.
Just because you think you know what Marx says, and because you have a couple of his terms in your head, does not mean you understand Marx.
You are claiming that you understand capital better than Marx, who devoted 25 years to analyzing and explaining it--particularly insofar as it relates to the material conditions of our existence, and how it informs, produces, and reproduces the social, economic, cultural, and political structures of human society. Considering the vast breadth and depth of Marx's work, that is a very bold claim to make. You can certainly disagree with the more philosophical and political conclusions Marx draws from his understanding of capital, but to make a blanket assertion that he simply does not understand capital is something that requires an incredibly strong argument. Even Marx's detractors do not make such wide-sweeping, hand-waving claims as "Marx doesn't understand capital". They typically disagree on finer points, many of which have more to do with the material ramifications of capital on political economy and social structure.
> A christian biologist writing about the role of fossils doesn't mean he understands it.
Please. You're creating a ridiculous argument here.
As an ignostic, even I wouldn't say the religion of a biologist is inherently relevant to determining whether or not that biologist understood the role of fossils. There are plenty of Christians who do not find their faith at odds with the scientific consensus on evolution and the fossil record. If you read the biologist's writing about the role of fossils, and it accurately describes the role of fossils in accord with the greater body of scientific work on the matter, what exactly does the biologist's faith have to do with determining or proving anything? Sure, it might be worth considering as a signifier of a certain probability of misunderstanding based on factors external to the biologist's own work, but it's sounding like you're giving automatic preference to a non-Christian biologist's writing about the role of fossils for absolutely zero reason. The non-Christian could be a complete imbecile who winds up on the History Channel shouting, "Aliens!" You're making errors based on a loud segment of Christians who reject the science of evolution, and automatically applying their ignorance/misunderstanding/ideology as something that the Christian biologist shares. That's foolish.
---
Anyway, this is really an irrelevant tangent from a thread that was asking about people being happy programming. Although, Marx might find it rather relevant, as there is quite a bit of voiced discontent that he'd categorize as expressions of alienation. The labor of the many is transformed into the capital of the few. Dialectically speaking, it's a struggle of contraries that co-exist with different interests. Labor has nothing and its members are required to sell themselves to subsist and exist. Capital has everything, and is motivated to keep as much of that everything as it can, while expending as little as necessary to further increase the share of everything it has as more of everything is produced by those who have nothing. What does labor get in return? Nothing but a wage that is (ideally) as low as ...
As someone who extremely capitalist and believes in free markets, I don't believe cooperatives are inherently socialist.
In a free market people are free to create their own ownership structures. If people want to setup up a company, and distribute equity equally to employees that's completely up them
The problem is that risk has become an absurdly exponential factor of increasing wealth where hard work is at best only additive. Risk should not take the value that you provide and raise it to the power of 10 just because you might have failed.
For whatever reason, society seems to value risk-taking 10x more than it values work. Just look at the replies in this thread. People are actually arguing that founders deserve their megawealth because at some point they risked something, and that employees do not deserve it, regardless of how much they work, because they didn't risk anything (although I would argue that employees #1-4 risk a hell of a lot more than most founders).
I've often thought about the possibility of designing a company specifically to maximise the wealth of its employees. Choose a location with a low cost of living, give equity to all employees, maybe provide accommodation / food as part of the benefits package.
I'm not sure if I'm describing a cooperative, I just know that most normal companies do the exact opposite of this: they force you to live in a high cost area where you spend a large proportion of your salary on housing and other living costs.
I know there are plenty of good reasons why humans have decided to live in cities, but I can't help thinking there's a better way.
>I know there are plenty of good reasons why humans have decided to live in cities, but I can't help thinking there's a better way.
The fallacy is in believing you can't have both a reasonable cost of living and the benefits of a city. There are plenty of such places, globally. As more and more people realize that it's unnecessary to assemble in specific places I think we'll see a sea change. Programmers are going to be some of those most able to take advantage of it (they already are).
It would be cool if you could expand on this. Do you live in one of these places?
I'm also wondering when there's going to be a sea change. London is full of people in their 20s spending ~50% of their income on rent, and pretty much just breaking even overall.
I feel like people are going to get sick of this eventually. Either people will leave the most expensive cities, or new ways of "hacking" housing will emerge.
That's basically the point of most law and financial firms (at least when they start out). Until it went public (and still to a large degree), the whole point of Goldman Sachs was to make its' employees rich.
> Your time and effort is going towards making someone else rich
I don't mean to harsh but I don't understand this sentiment. Will any serious company exist if everyone thought like this? Why would a builder put another brick if he thought he is getting paid very less compared to million dollar building he is creating? Will any sales guy put so much of effort if he thought he is getting minisicule % of what he is selling?
Yes, lots of serious companies would (and do) exist; they're called worker-owned cooperatives, wherein all members of a firm share the risk and reward/of running the business, instead of one or two individuals paying themselves an arbitrary "risk premium" that workers have no say over.
Its depressing to make comparisons, but 99.9% of developers will never make half of what a specialized MD or successful lawyer or someone in finance might make.
What percentage of people with law or finance degrees to you think actually make what you seem to think people with law or finance degrees make?
Not to mention that by being a developer, I started earning money in my early 20's, without hefty university debt. Less risk (plenty people study for the bar and fail) and upfront costs.
There's also less chance of getting a casual 9-5 environment in finance.
I'm having a tough time finding it, but there was a really good article that analyzed median performance of law school grads and found that, if law school was a security, it would be below a junk rated bond.
Nice chance is overstating it by a HUGE amount on the 'making it big part', yes quite a few developers in the start up world can get equity, the former rarely happens.
If you miss excitement, social connection, and orders of magnitude higher compensation cap in your life, while you still like coding, then I suggest you consider sales. Not just technical sales (though that gets your foot in the door), but eventually landing strategic sales accounts. It is pretty thrilling cold-calling people to establish your bona fides with a new customer; only a tiny fraction of the population finds it and public speaking (which you will also be called upon to perform in sales) not paralysis-inducing terrifying. You have to genuinely like people and be interested in them to really excel at sales. At the high-end of sales, where you lead sales organizations, sales-metric-based compensation plans will easily exceed that of nearly all programmers save the ones exiting unicorns with founder-level equity positions intact. You are constantly learning both technical and non-technical subject matter. There are grind-y parts, sure (every job has that), but I've never seen in sales the kind of grind programmers routinely endure.
Once you establish a successful sales record, you wield enormous influence upon product direction and implementation. If you keep your coding chops up to that point, then it is not inconceivable for you to be able to throw your weight around and pick and choose both what to code and actually implement it. Of course, if you aren't good at coding, then the engineering lead will continue to hate your guts. They will all hate your guts at first regardless of your skill level and ability to smoothly work with their teams, but if you are really, really good you can earn the respect of most after awhile.
Very good sales people who are still top 20% coders are an extremely rare combination. It would be difficult NOT to stand out in the crowd. That's good and bad.
The Great Filter in my suggestion is getting out and meeting people trying to connect with them. There are lots and lots of programmers, even "brogrammer"-types, who claim they are very extroverted, etc., who I find will freeze when faced with a list of contacts or a room of strangers and tasked with establishing connections. The vast majority of people, extroverted programmers included, are extroverted with people they know; it's human nature. Of those who can manage to overcome that nature, even fewer will come back with a systematic collection of facts and data about their contacts that you can work with as the start of a sales funnel. Of THAT population, even fewer will actually follow through the sales funnel. Out of THAT, anyone who can continue following up prospects and re-running them through a sales funnel under different campaigns is a unicorn. This is why sales is often broken up into pieces and parceled out to different people. But programmers possess a systems-thinking background that uniquely positions them to excel at sales if their personality really fits it.
>Even compensation wise, it peaks very early and probably won't get most rich without a ton of luck. Its depressing to make comparisons, but 99.9% of developers will never make half of what a specialized MD or successful lawyer or someone in finance might make.
Software engineers in Finance can make a pretty good living though. Definitely not as high as specialized MD or M&A specialists, but rivaling some successful lawyers for sure. Then again even for people with top business degrees M&A is a top tier which takes quite a bit of luck to get into. My 2c.
> but 99.9% of developers will never make half of what a specialized MD or successful lawyer or someone in finance might make.
It is exactly the other way around. Mark Zuckerberg is a PHP programmer, not an MD or a lawyer. Same for Bill Gates, Sergey Brin, Larry Page, and another host of lesser known billionaires and millionaires. In other words, an MD or a lawyer could impossible make what a successful programmer might make.
You're talking about the 0.1% of programmers who became millionaires and billionaires. The parent comment was specifically about the other 99.9% (and he/she even specified the number).
You are less than 3 years into your career, and you think you have worked for some of the best companies, and yet you are unhappy. How do you know you have worked for some of the best for you? You are going by names.
My guess is that you are talking about hot valley companies, and guess what? In those, someone with little experience will not get to work on anything fun, because they have enough talent that almost everyone is batting below their weight. You see similar things in startups where there is no challenging technical component to the business: If all you need to do is scale an app that is just a bunch of forms, then guess what? it will be boring. Go work at a company that is doing science instead, and then tell me it's boring.
You complain about compensation peaking early, as if that's a bad thing. In the US, 300K is not insane for senior devs, and that doesn't count miraculous exits. Many doctors don't make that, and they had to pay for a lot more education, and handle the terrible life of the resident before they can get to real money: And let's not forget, the top of the market for doctors involves getting your own practice. How long does it take to save the money, and have the name, for the practice to be that profitable?
There are a lot of people with law degrees that wish that, at 45, they made the money that anyone with a breath makes in SV when they are 22.
I have seen finance: You don't have a life when you work for a big hedge fund. Not even close.
And let's not forget, you don't have to live in San Francisco to get paid very well writing software. I have a 4 bedroom house that is worth about 200K. I work from home. It's not hard to amass major savings when you don't have a $5000/mo mortgage. And if I am sick of the place, I can spend a month working from Puerto Rico, or an island in Georgia, go to conferences in Europe. How many doctors can say that? How many lawyers? And I am no early googler: I have never made a dime in equity.
As far as people being boring: Different people have different ideas of boring. For instance, I find the classic "I work in software, but look at my unique outdoorsy activity" profiles that most of SV seems to follow to be very boring. Yes, you can enjoy your rock climbing, or your kayaking, or whatever else you do, but it's not something that is really any fun to hear about: People with different activities like that just get to vomit information onto the other. At the same time, many people find the things I do, like reading literature, history and philosophy, to be boring as hell. There's nothing wrong with that.
Also, in America, we hide the things that might make us interesting, different from the crowd. When instead of belonging, we try to fit in, we do what everyone else does. For someone to be really interesting, they have to be different. To be different is to take personal risks of being disliked, because what will make you interesting for one person will make you a weirdo to another. In my experience, the more you get to know about someone, the less boring they are, precisely because of all the little things that we couldn't see before, when all they were to us was a role at a company and some clothes.
$300k? Where? How? While I have metric-tonnes more to learn, I'm a senior developer. I write and maintain (with our team) the main services (it used to be _all_ the services before we grew) at our SAAS providing 10s of millions in revenue. I make less than half that.
Be realistic. 300k a year is waaay above the median for senior dev salaries save for a few very specialized niches (fintech and biotech spring to mind).
This is exactly the kind of misinformation that makes newbs to the industry think they're gonna be rich rockstars programming... stop it.
I don't think this invalidates your argument, but your assumptions about my work choices are completely wrong. I have almost always been the youngest person at offices dominated by scientists and mathematicians. Most of my work before graduation was at a national lab in condensed matter physics. I joined my current job as the 7th hire because the team is mostly comprised of math and EE PhD's from MIT and Berkeley. I'm not working on creating "forms" that "scale". Its all data science and optimization models/machine learning and the related engineering.
At the end of the day though, the business isn't about how much you are learning and any early stage start up is going to conduct R&D based on short term returns. If I could work somewhere like Voleon, I might have greater freedom, but I don't have an advanced degree to get a foot in the door.
I agree about traveling. That is one of the only things that continues to excite me. I spent several months working remotely and plan to continue doing so once this company starts to get revenue (if ever). That's certainly one freedom working from a computer provides that most other occupations don't get to enjoy.
That being said, at the end of the day, its just work. And thats fine. Thats still better than most jobs. But this line of work has a relatively low ceiling (in terms of job satisfaction, not compensation) if you want more and I feel like sticking too it makes it only easier to accept that ceiling. Maybe this is too strong, but it almost feels like giving up and settling for something easy/cushy.
Why do you think most developers should be paid similarly to a highly specialized doctor?
First of all, you might be thinking of doctors like neurosurgeons. Less than 1% of practicing physicians in the US are neurosurgeons, and some neurosurgeons make as little as $250k (often ones with special academic appointments). Not all of them make $1M/year or even $700k/year.
Second of all, you might in general be overestimating doctor compensation. See this report:
Primary care doctors earned an average of $195k in total compensation. Half that is $97.5k. There are many developers who make more than that -- certainly far more than .1% of developers. That is, in fact, the median pay for software developers:
Granted, you did say specialized doctor, and we see from the MedScape report that they make $280k on average. Half of that is only $140k. There are fresh college graduates who make more than that in total compensation. I've even known relatively new developers making $250k once bonuses and vesting stocks are taken into account. Either way, $140k in total pay is not uncommon at all for an experienced senior developer. Again, certainly far more than .1% of developers are in that income bracket.
Finally, and perhaps more importantly, I think you might underestimate the difficulty of becoming a specialized doctor. It's certainly much harder than becoming an average programmer. The educational requirements are vastly higher and more rigorous. The debt load is in the six figures for all but children of the rich. And the time investment is at minimum 11 years (4 undergrad + 4 medical school + minimum of 3 residency). But since we're talking about specialized MDs, the residency will actually be longer than that, as long as 7 years for a neurosurgeon, plus an extra 2-3 for a fellowship if desired. After all that, the doctor will potentially work twice as much as the programmer.
It's not fair to compare the average heart surgeon to the average programer, because the heart surgeon is by definition vastly above average among doctors in both education, grades, and pay. It would really only be fair to compare the heart surgeon to, say, a senior engineer at Google (or similar), where a total compensation exceeding $250k is common.
As for lawyers, many law school graduates I know don't even have a job. The days are long gone where a law degree was automatically a golden ticket. It's certainly true that the top lawyers make a large amount of money, but becoming a partner (say) at a large firm is just not comparable to becoming a programmer. These days, it's like winning the lottery.
Why feel depressed about it then? The statements were also factually misleading -- (far) more than .1% of programmers make more than half of a specialized doctor on average.
> Even compensation wise, it peaks very early and probably won't get most rich without a ton of luck. Its depressing to make comparisons, but 99.9% of developers will never make half of what a specialized MD or successful lawyer or someone in finance might make. Granted, the barrier to entry is much lower in CS (sometimes nearly nonexistent depending on the line of work).
Med student here. Programmers don't have to take out 200K in loans. Also, when you do something like medicine, you're basically giving up a DECADE of you life before you actually start making the big bucks. Residents make less than the average programmer. Med students make negative $$. Debt compounds.
But seriously, if that's what you want, stop romanticizing and just do it. Though I have to say, do law school. Doctors that became doctors for the prestige and money are really the worst.
Thank you for pointing out the fact that software compensation peaks early, and you pretty much hit a ceiling unless you win the startup lottery. A lot of people see the early money and forget this. As a software developer, 20 years into your career, your buddies that majored in finance, marketing or anything else, really, will likely have eclipsed you in terms of compensation, as they'll be senior directors of this or vice presidents of that.
I am quite happy with my work and work environment. I think for the following reasons:
Management that knows the field and knows how to manage. A delightful combination that is rare.
steady release cadence. Every 4 weeks a release, new features land as ready. Always more data.
Long term vision on product improvement and let us programmers decide on how to improve it.
Combination of research and production work. Can be on the edge,but make sure it doesn't cut to much.
In summary we are treated like professionals and work professionally.
It's not pure commercial work at uniprot.org but it must deliver. The site is popular enough and constraints are interesting. All in all happy.
The job pays decent and allows me to be flexible with time. Which is important to me as a dad.
I have been programming for 22 years. There have been times where i hated it and wanted to get rid of my computers. However, presently I'm really happy working as a programmer. The key for me is curiosity. How do things work? How should i solve this problem? If I'm not curious then I'm not having fun, and if I'm not having fun I'm not happy. My job at present doesn't feel like a job because I'm learning all about Hadoop and solving new and interesting problems with it. I'm sure I'll have down periods again, but i know i can find ways to regain my curiosity by switching tech stack or problem domain and get through those rough patches.
How's the job market 20 years down the line? I'm ten years in the field and trying to switch into management, becase growth prospects and scarcity of senior opportunities scares the hell out of me.
Basically I live in constant fear of the day I'll hear 'overqualified' at a interview
I've heard a hiring manager label me overqualified just 5 months into my career.. It was a company handling outsourced QA work. Worked out good for me.
Only half of those 22 years have been spent as a professional programmer, so I'm still young enough for it to not be a problem. Besides, i have spent my entire professional career at the same company which is big enough for there to be enough internal opportunities to switch focus. Still, if it ever does get to be an issue I'll just become self-employed. I doubt that age matters all that much if you're a consultant / contractor.
I have been offered a management track several times and always say no. I don't think i would be happy doing it.
I enjoy it, but only if I'm treated with respect, not micro-managed, and trusted to do my job. Ironically when managers set deadlines and add process, it demotivates me and the code ends up shipping later. The silver lining, however, is that I learn what not to do if I decide to start my own company (I have a note on my PC called, "Mistakes from previous companies that you shouldn’t make"). So in general, even if I'm unhappy at a job, I try to consider it a learning experience and move on to the next thing.
Edit: I should add that working remotely has been absolutely fantastic and adds to why I enjoy being a programmer. I feel lucky to work in a profession that allows this amount of flexibility.
(I earn around $100/hr, but my life organisation skills are so miserable that I can't yet make the ends meet. And I have to travel around 50 times per year).
$100 an hour? If u work 5h per day for 22 days it's like 11k per month. Unless you got some serious addiction/debt problems I don't see how can u be broke :P
50k debt, living in world's most expensive country (Switzerland) as an immigrant, working remotely as a consultant with sporadic work patterns, having a diagnosed ADD. :)
Right now? I'm pretty unhappy. I don't think I want to talk about exactly why publicly while I'm still in this job, but to give you an idea of how bad the situation is, literally all of my friends have been trying to get me to quit for months, with the exception of people who have given up because they think I must be insane.
On the other hand, I have a decade of full-time experience and I've been happy for about seven out of ten years. All things considered, that's not too bad. The other way to look at it is that I've had maybe five roles at one company, two another another, and one at a third, and I'd say four of those have been good. That's only 4/8, but it's possible to bail on bad roles and stay in good ones, which is how it's worked out to being good 70% of the time. Considering how other folks I know feel about their job, I can't complain about being happy 70% of the time.
In retrospect, some of my decisions have been really bad. If I could do it over again, I'd bail more quickly on bad roles and stay in good ones for longer.
My dumbest mistake was the time I was in an amazing position (great manager & team, really interesting & impactful work), except for two problems: an incredibly arrogant and disruptive person whose net productivity was close to zero who would derail all meetings and weird political shenanigans way above my pay grade. When I transferred, management offered to transfer the guy the guy to another team so I'd stay and I declined because I felt bad about the idea of kicking someone off the team.
From what I've heard, the problematic dude ended up leaving the team later anyway, so not having him kicked off didn't make any difference, and the political stuff resolved itself around the same time. The next role I ended up in was the worst job I've ever had. And the one after that is my current job, which is, well, at least it's no the worst job I've ever had. Prior to leaving the amazing job, I thought that it was really easy to find great jobs, so it wasn't a big deal to just go find another one. Turns out it's not always so easy :-). If I hadn't bailed on that and just fixed it, I'd be 4/6 and I could say I was happy with my job 80% of the time. Oh well, lesson learned. Looking back, I was incredibly lucky to get the roles that I did, but that same luck blinded me to the fact that it was luck and that there are some really bad jobs out there.
I had a nearly 20 year career in software, excellent references and well paid. I became completely burned out and hyper-cynical at the pointlessness and shallowness of it all. I can't get excited or even much beyond passing interest in an industry that is almost completely devoted to making the problem of too much stuff far worse.
So instead of getting excited at another pointless startup or tech that's "going to disrupt x" (it usually won't, and often it isn't even a sensible idea to), or "change the world" (nope, not that either), I gave it all up to work with my hands doing something. It's nice to actually feel like I am /doing/ something I can feel proud of, and is sustainable. Moving electrons around is just so unfulfilling.
I'm utterly jaded at the constant replacement, or latest shiny framework that's going to improve little, just change lots and sell more crap. The web has become an almost unusable mess where a single page loads 30 or 40 domains of ad, crap and tracking bringing us back to dial up speeds unless you block most of it.
I still follow tech, but my personal projects are dead as even when i have the time to (I have far more of that now and I feel so much better for it), I can't bring myself to code any more.
The money was nice, but I don't even really miss that. I do regret not being able to afford aerobatics as a hobby any more though!
Many of my peers have quit tech too, and of those who remain some would like to do something, anything else, but mortgage or other commitments keeps them tied to the money.
After three years I'm happier, healthier and don't miss it in the slightest.
I'm utterly jaded at the constant replacement, or latest shiny framework that's going to improve little, just change lots and sell more crap.
I can relate to that feeling intimately.
The intellectual content of programming has definitely changed since the simpler times which were, for me, formative. There's a combinatoric explosion of proper nouns, frameworks and libraries, and doing anything seems to entail 95% of time spent pouring over 27 browser tabs of API references.
This wasn't what made me love programming when I did systems programming in C as a teenager, and it's a different skill set. I wrote things like highly asynchronous & modular MUDs, chat servers, etc. Sure, one had to consult man pages of system calls once in a while, but fundamentally, it was much more of a closed system with a straightforward standard library and few dependencies. Of course, some of that is because my tinkering wasn't subordinated to economic imperatives or Enterprise Business Rules, but I do think it was qualitatively different in a more objective way, too. Now, it's an overwhelming river of gewgaws that each have their own APIs, conventions, methodologies, life cycle, etc.
It doesn't help that a lot of these gewgaws are clearly conceived for the same reasons academic advisors conceive schools of thought and seed conferences with spam publications relating to them by their pet graduate students. Maybe I'm just old, but it seems to me a lot of fashionable frameworks and doodads are more about O'Reilly book royalties, speaking engagements, consulting projects and *Con registration fees.
Similar background here, and complete agreement with you!
Started out seriously with the Amiga and it was a delight - the OS was beautifully designed, and there were so many ideas that should have caught on. I'll name just one - datatypes.
Work started out with C and Unix, and so long as you had K&R and W Richard Stephens you were good to go. Loved the design of this too until I got to the GUI - X was not fun. Messing around with MUDs was fun, as was knocking up internal chat servers etc.
Now programming is gluing modules together with the aid of a web browser, often with little real understanding (no time for that). No need for a real grounding in the math or tech when you can just plug lego bricks together which leads to the mess that's PHP or most of the PHP code I've seen.
Design has moved on but it's as much about change for changes sake as improvement. It's now about driving the advertising click stream, or locking us in to the app world, even on our phones rather than improving productivity.
I agree that's it's about fashion and selling those certifications, exams and training - yearly (lol) microsoft certified x etc. Can't say I've come across a one of them that indicates in any way that someone is even basically skilled in the tech in question.
It's just a continuation of that complexity for complexity's sake.
I remember being 16 and forging teacher's noted to get out of study hall to go to the library. Why? Because they had a REAL computer there! A Commodore PET! With 4K of RAM and BASIC!
I came in, sat down, and thought "what do I want this machine to do that would be cool?"
And so I wrote a game. Other kids loved the game enough to fight over who could play it. That was pretty cool.
But I look at programming now? Damn, those days are gone. You don't sit down and in a day or so create something totally from scratch that people love. Instead you get a framework, or another, or half-a-dozen frameworks bolted onto a 3-year-old programming language. You head a bit down the happy path -- until you don't. Then you spend the rest of the development effort either a) giving up on what you wanted to code and instead coding what the framework makes you, or b) struggling with the framework instead of the problem.
Worst part? I don't think it's needed. You can do a ton with just plain html, some css, and a bit of simple functional-like programming. But if you try to show that to a new programmer? It's like telling them they need to carve their computer out of bear skins and tree stumps. The culture itself rejects just freaking doing stuff people want. Instead, if it ain't new, it ain't cool. And if it's got one piece of complexity? Might as well have a thousand.
I hear you guys. Sad that it's turned out this way.
By "you", in the latter paragraphs, I mean "one" As in "one doesn't just sit down"
Apologies. Of course that's what I keep doing. Really happy about it too. That just ain't the way 99% of development happens.
ADD: The point of my OP wasn't that I hate programming, it was that programming itself has changed. It used to be a direct expression of creativity and had quite tight feedback cycles. Yes, I still code that way. But for all the other coders I see? Most of the profession is stuck inside a prison of its own making.
> You can do a ton with just plain html, some css, and a bit of simple functional-like programming
Or, you know, you don't need a virtualenv running inside of docker running inside heroku running whatever to make your stuff run
Or setup 20 "automation chores" before you write a line of code
Yeah, things today look like 80% is nitpicking and 'best practices' (by whom?) and 20% writing some code that will fall off because of bugs in all those abstraction layers
You don't need
Let's suppose I want to write a quick app to text people horoscopes. They enter their phone number and the horoscope is texted to them.
My first step now would be write a command-line function to send the texts. Once that's working, I'd knock out 5 lines of html and start showing it to people. I'm not even sure I'd wrap the freaking thing in <html> tags. For something nobody may ever use, it's simply not important.
The way the vast majority of programmers would begin this would be to set up a container. Then start installing a framework. Then buying a domain, downloading some tools, purchasing a gateway....
Programming is still programming, of course. But the way people think about programming today is total crap. You can ride the "It's cool! It's new!" horse around the merry-go-round a few times, but sooner or later it's gotta start getting old if you have any sense at all. Know what's a travesty? The number of working programmers in the world who have worked for years and have yet to actually make something that people use.
I've been thinking a lot about those days, and how magazines like Creative Computing and the Commodore computer manuals provided all the necessary foundation to make engrossing 1-2 day projects. It is totally possible today, but one needs to realize those magazine articles and project tutorials need to be created that guide new developers. That is us, we're the people that need to create the engaging, he's how its done in a day tutorials that do not depend upon new fangled shiny frameworks, but rather implement the new shiny idea in the minimal form that is its essence. With WebGL, creating jaw dropping tutorials is simply a matter of time and creative effort. Many new developers are fascinated with graphics and 3D - and the browser supports it much better than BASIC was supported back in the Apple II, Commodore era. Minor plug here: I've been pursuing this idea of a browser based return to the magical creativity of those early days with my www.3d-avatar-store.com - a web app and API that creates lip syncing 3D versions of real people. The combination of technologies that enable me to make this site is a gold mine of creative technology. My major issue is finding the time to create the tutorials, now that I have most of the hard stuff done.
IME the barrier is much higher now; if a kid writes a tetris or space invaders, he would be laughed at by his peers, when in fact either of those are significant accomplishments for a beginner. Expectations are so much higher now, it really changes the dynamic.
I'm curious; what do you consider of something working with your hands? I came from the opposite background (former chemist, process engineer, chemical engineering) and opposed the minimal work that hardly anyone cared for. With programming, moving electrons makes it a much bigger impact with much ease.
I can sympathize with anexprogrammer and I think by working with your hands he might mean something like woodworking, metalworking, generally working "in the shop" making stuff.
I'm not unhappy being a programmer, but from time to time I immensely enjoy fixing things at home myself - I see result of my work here and now. Being a programmer I may not see finished result of my work for a long time.
I think it is quite beneficial for programmers to dabble in some hobbies that involve some handiwork - be it knitting or making playing dices out of metal.
I'm now in conservation and restoration, so a bit of all of those.
I considered restoring old vehicles, but didn't want to end up "just" a mechanic. It was working on cars that was my trigger to get out - I felt so much more satisfaction from restoring a car than I ever did from meeting a ship date. I think because it has a tangible sense of progress and completion, and there's something to point at that's more "real"
There's a (fair) book on this very subject: "Shop Class as Soulcraft" by Matheww Crawford. He earned a PhD in economics and after working briefly in a Washington think tank he quit and opened a shop repairing antique motorcycles. (That was the plan anyway. I think he really makes his living writing.)
I can totally relate to the need to have a life outside the virtual world. I've been programming for 30 years (data analysis in R&D mostly), and while I love the intellectual stimulation from writing code to do something new, I also crave physical contact with the world. But it's still not clear to me how best to make that work. Can I do this as part of a job, or must this happen only after hours?
I considered working in robotics, since that seemed an ideal mix of the two realms, but I'd rather not feed the military maw, which is where 95% of the work is. Maybe I should just reorg my garage to add room for a workbench and join the ranks of shadetree mechs. Lord knows I have enough machinery that need wrenching...
Ah, I agree, we all need to see progress and potential eventually. I was previously working in semiconductor and it would take 3-8 months to see any effect of my work. That long cycle time pushed me away. Now I am a front-end developer and love it. The feedback of aesthetics, no matter how small, reminds me that I can still have an impact. Thank you for sharing your new found love!
Conservation and restoration. Some of the things I do will hopefully outlast me. Your typical piece of software is replaced or rendered obsolete in a year or two.
Unless you do something out of the ordinary, in five or ten years time the app, game or website you built is long forgotten or replaced.
That's why I'm losing some of my excitement in programming and getting it back again in designing physical board and card games. Video game development used to excite me, but now most games are made to be consumed in an hour or two and forgotten for the next game.
Meanwhile board games last, there's value in old editions (I picked up a 40 year old copy of Diplomacy recently), and people still play games that are decades old (not all games, but enough to be worthwhile).
Also, even if I never get a single board game published (unlikely), I will still leave prototypes behind for my family to encounter. Meanwhile, my video games are on my hard drive and could disappear if they don't keep perpetuating digital copies of them.
Also you can make a video game version of the board game you made and now you can sell in two different mediums.
"I gave it all up to work with my hands doing something."
Yes I did this as well. Worked for 15 years as a programmer in financial services. Really found it depressing.
Retrained as a care assistant to work in a nursing home. Find the physical work suits me better and enjoy spending time with the residents. Also did a Physics BSc part-time.
But mainly my headspace is free now when I come home from work. Still do some side programming though - starting Scheme and SICM at the moment...
>The web has become an almost unusable mess where a single page loads 30 or 40 domains of ad, crap and tracking bringing us back to dial up speeds unless you block most of it.
I choose my current job because it was a small company, that actually shipped stuff to customer. You give us money, we'll ship you something in the mail. To me that is an honest, simple and satisfying business. Now the company has grown big, we spend most of our time figuring out how to do up-selling, tracking of users, social media bullshit and tries to push useless subscriptions. We still have basic stuff like order tracking and returns that aren't working correctly. Sadly better service always lose out to "more features" for some reason. I think we could save a ton of money by fixing the basics and trimming features not used by most customer.
The level of tracking and tracked advertising we do pretty much sickens me to the extend that I want out. I just want to solve people problem, not push them to buy hairdryers and batteries.
I don't think I would want to leave the business, but sadly I'm a little to insecure in my own ability to start my own business. Right now, what I really want to do is help small non-IT business getting the services and solutions they need, without ripping them of. It just quickly because terrifying. The prospect of maybe not finding customers, or not being able to solve a issue scare me beyond belief.
Programming is a means to an end for me, not an end unto itself. I like to make products, and—in many cases—the path of least resistance is to write code to make that happen.
As a result, my happiness as a programmer is directly correlated to how much user impact I see in the work I'm doing.
I also love my immediate coworkers, which helps immeasurably :)
edit: I'm in my 13th year of professional software development, and I have worked at a company where I can reasonably expect a 40 hour work week for the past 2.5 years. My stress level is at an all time low, which helps my happiness, too.
Pretty happy.
I was stuck for ahwile on php, and then found out you can do stuff in Python. So I can imagine that a switch of another language can make you happier. (Feeling like a beginner again and getting more confident by each thing you learn new).
Also, programmers like to create things, and if you're just maintaining projects, you're probably less happy.
So for me moving from employee to freelance (creating over maintaining) increased happiness.
9/10 - I program for work and for fun. I am doing the thing I was born to do. I haven't become wealthy doing it, but I'm upper middle. I am enthusiastic and amazed and lucky to live during the time of nascent technological marvels (that I expected to happen) with virtualization and massive scale solutions.
I'm not, at least not really. Started to code at the age of 15, been doing this for 16 years everyday now. Currently working in a big corp, where you have the feeling that people won't let you bring any positive change, won't let some innovation coming to their desks, you just have to do what people have been doing for years because "hey we've been doing it for years for a reason". It just feels like trying and trying but nothing will change.
Its been pounding on me for years now. I have no reason to complain yet I feel sad, empty, I reckon I'm useless at my job and yet my boss is way more than happy of what I'm accomplishing, I don't understand.
I wanted something great from my career, I thought I'd be surrounded by passionate people, but to this day it's been a huge joke, you just have to do what someone higher in the food chain tells you to do and use that bullsh*t bloatware because he's got some present from another bigcorp placing its product making you more entreprisey and more agile, to no avail. You just have to accept choices made by someone. You just have to contemplate others on the market using something exciting while you're stuck with Java 6 with no one around you wanting to move on.
I feel I have no reason to complain, because life could be so much more painful, I'm well paid and I could be working on an assembly line for way less or living in a country where fear for your life is the only thing in your mind all day long. But... It's just that it's not the big dream I was expecting, and I feel that for someone not working in the bay area but following HN all day long, I'm suffering from an immense sadness of not being part of it, it's like I'm just watching people succeed on my TV screen, eating junk food. I know this is a biased vision and a lot of people aren't happy there too, I just can't help feeling this.
548 comments
[ 3.0 ms ] story [ 305 ms ] threadI wonder this quite often too. It would be interesting to see a study involving programmers and their confidence in their skills compared to what other people think and also how much they read about programming online.
My gut instinct is to say that because we want to read a lot of new/interesting stuff online, we're exposed to (seemingly) tons of people who know TONS of things that we don't know in the aggregate, so it affects our self esteem...
You may not be up to your job, but probably more likely it's that.
The most interesting thing I've seen written was on here, pointing out a problem in the logic. "If they haven't noticed you're as stupid as you think you are, they themselves must be even stupider. Therefore imposter syndrome at some point requires that your colleagues are morons, yet if you believed that you probably wouldn't feel as inadequate."
Alas my brain still believes.
Ah, the old "I'm not ok, you're not ok" section of the OK Corral[1].
[1] http://changingminds.org/explanations/behaviors/ok_not-ok.ht...
I'm 30 now, and feel like I've been running on fumes ever since. I am still interested in software architecture at a conceptual level, of course, but suffer from immense fatigue at the keystroke-based deliverables aspect. It's always a motivational struggle to write even a little code, with few exceptions. I procrastinate horrifically, because I find it tedious.
Some of it may be because my work entails dealing with fairly uninteresting and unexciting things, and some of it is the cash flow schizophrenia of constantly operating at the very margins of economic survival, but above all else, it's just psychological, cognitive and physical fatigue. I'm also fairly extroverted and have always been interested in the social and political dimension of what I'm doing, but, through eight years of self-employment, have pigeonholed myself into a solipsistic role without a collective--rewarding to those who crave peace, quiet and code, but not at all catering to my particular reward centres. I love selling what I do, but the dreaded implementation of what I just sold is like pulling teeth. Deprived of a collective, recognition, the competitive aspect, and any sense of larger purpose, it's a real challenge to get myself to work on code.
In retrospect, I probably would have been better off sticking it out in corporate America and tracking myself into technical management. However, I left the employment world at age 22 and decided to hole up in a business model where I'd be most economically rewarded if I could get myself to write more than a few lines a week.
I am deeply specialised in a niche vertical that can pay well, so one would think the money would keep me going (I can easily bill $250/hr for what I do), but it doesn't. Some of that is a business and life problem, but some of it is that I just don't care enough to pound code anymore at virtually any price--though, of course, that's not to say that taking the bricks of economic stress that come with a bootstrapped eight-year consulting-turned-product death march off wouldn't help.
I still do it, but it's taken me five years to write a slightly half-assed software suite that an energetic and motivated programmer could have done in far, far less time.
It is far from amazing, and I'm not saying it always fetches that kind of bill rate, just that it is specialised work and requires telephony domain knowledge.
Someone in a regular job might need to ask for a promotion to management, but with your own company you become a manager as soon as you're willing to pay for someone else's time.
2. I've tried to transition out of consulting and into 100% product company, but have not so far been successful. There's a significant short-term revenue hit in that.
There's plenty of recurring product licencing and support revenue, but not enough to break me even, so it gets supplemented with consulting. And you know how lopsided that distribution is; 75% of the work for 45% of the revenue, or something like that.
Amidst that kind of schizophrenia, it's very hard to hire someone, both for financial reasons and because the hiring decisions that would need to be made are very different in those cases.
3. I've hired numerous people over the years, back when I was doing consulting/project work full time and not engaged in this productisation effort.
The people I could afford were mostly entry-level. In the niche vertical I'm in as well as the high-expertise business model I've created for myself, customers expectations are specifically for domain knowledge and multifarious skill sets. In other words, it doesn't scale out much beyond me and other folks exactly like me, so I couldn't find ways to bill my employees out.
Being a conscientious person who largely blamed himself and chose to view it as an entrepreneurial & management failure on my part rather than on theirs, I kept them on far longer than I could afford to, effectively working 2-3x as hard to keep the lights on and subsidise their salaries.
Clearly, the solution is to hire non entry-level people. But the folks with the expertise to be able to do the work are definitely a high-salary proposition, and I can't afford it.
4. Hiring is very much a question of cash flow. Learned that on hard mode. If someone took my $ANNUAL_GROSS, divided it by 12, and disbursed it to me on the 1st of every month, damn right I'd hire someone again. :-)
It's like a loop that nearly impossible to break out of, and even when you do returning to a comfortable life rhythm will take considerable effort, too.
Also, for a lot of people there is no rock-bottom, you'll just keep slipping deeper and deeper.
So, my advice is to ask for professional help—which I realise is one of those "easy to say; hard to do" type of advices, but try to ask for support from your friends—and try discovering something new, which can be completely outside of IT!
Another thing that you can try—which is very effective, but doesn't require you to dish out money is downloading some CBT (Cognitive Behaviour Therapy) tracks or guidance applications. There is quite a few of them and they can help a lot (although they might not be as effective as with professional guidance).
Also, something "odd" which I can also recommend is 7cups.com (which is an online therapy platform; you can have 1-1 sessions or group sessions, it's great if you need to just talk to someone). You can even try becoming a guide (called a "Listener"), helping others can also help you (and this especially true, if you're an extrovert).
2. I generally go about my business just fine and am quite functional. But since the OP asked if I'm happy per se doing software work...
3. I'd probably be happier in engineering management, or in technical sales and marketing (i.e. of the highly consultative sort). I seem to have a pretty healthy - even cheerful - appetite for those things, when the opportunity to do them arises.
I'm not depressed. I'm just beyond burned out on coding as a mode of existence, and then some.
I meant psychological problems rather than emotional, but I feel like those two are intertwined, anyway. Sorry for the confusion.
Being burnt-out is also a type of stress. What I meant to say is that, if you're constantly under stress it can have an impact on your emotional/psychological state as well, and you shouldn't underestimate the damage psychological stress can do to your personality.
I'm sure you've probably thought of this before, but I thought I'd throw this out there anyway. Volunteer to make the lives of people trying to help people better, with software. You probably don't even need to write anything new most of the time, just know the good software from the bad and deploy it to awesome effect on operations for good across the world.
Do you have some examples of software engineers contributing their skills to charities, open source projects aimed at assisting in these situations or just some boards or communities that can assist in finding a starting point?
This retired gentleman, for instance, who volunteers his time installing Linux on computers that are being sent to children in Africa: http://www.linux.com/news/featured-blogs/200-libby-clark/827...
That's a great start! He was not even a software engineer!
In that case, I can suggest that your happiness (and 'effortless' productivity) can stem from wanting to dig yourself out of that hole and "set your family up for life" - because looks like you've committed to that direction.
This is easily construable as a presumptuous statement, these things are so much easier said than done. I have no right to play "guru" out here. I just care that a fellow peer in this same struggle is unhappy and talking to you as I would talk to myself and self-counsel.
Whatever you do, good luck, because you don't seem like one of the "bad people". Cheers.
I don't know if my goals are anything so lofty as setting my family up "for life", but certainly, part of the issues are economic and, to some extent, money can cure them.
I'm not a low-income individual--certainly not by non-SV US standards. But I started this business with $200 to my name and a high personal expense base, and ground my financial history and financial position to powder as a result. I also lost big on an upside down property in the housing crisis, a still ongoing matter. The volatility and sliding-backwards stress of self-employment in a non-scalable niche is a big part of my stress, with cash flow being the dominant stressor; a highly volatile $200k income can be effectively discounted to like $65k. I'm often envious of people who get paid a good salary to just code and not have to think about anything else.
However, I'm capable of conceptually and emotionally disentangling all that from the question of whether I fundamentally like programming per se. I'm still burned out on it in the best of circumstances. If money were no object, I'd do it a few hours a week to meet some functional need, but I doubt I'd be writing new software.
It's funny to feel like an old-timer at 30, but I've been doing it for 21 years. Everything old really is new to me again. There's nothing less exciting to me than the latest 100-line .js dependency to include or yet another API reference to glaze over.
I also find your implication that everybody here is (or should be) lying about their experiences reprehensible.
Disagreement is natural, and so is having different life styles. There are lots of people on here who view programming just as a means to a (business) end, or who only learned it in college and see it as a job skill, as opposed to a creative outlet. These people don't generally have problems getting hired, and I can see how some jobs and bosses would even prefer them.
I'm in the "programming as a passion" camp, and I can see lots of reasons why bosses would prefer not to hire some opinionated old neckbeard who thinks he's a creative snowflake.
I see a lot of responses like that in this wonderful thread: I used to program for a few companies, then I got into management a bit, and now I own my own company. That's listing step 1, 2, 3, and then jumping to step 59!
- sent from ho chi minh city, vietnam :)
The pay isn't amazing either. Though I'm good at what I do (a lot better than some colleagues who are getting paid much better), I just can't get excited for yet another startup job (which is where I've been most of my career) which is working on a non-problem.
The work needs to be interesting for me to be motivated. So far, it's mundane. And given I'm not in the US or any western country, I haven't found many companies working on interesting stuff here. It's all ideas copied from the valley and hammered into the ecosystem here.
Perhaps I need some inspiration or some creative idea to put things into perspective. But yeah. Things could be a lot better. I've recently started getting into Statistics/ML and learning Clojure on the side as a distraction and that's been going well.
The work is boring in general but i am trying to make it more interesting in getting more involved in production investigations (can be exciting quite often) and helping other people at work find some crazy bug or better understand something...
I have few friends or hobbies. Most of my coworkers can't even hold a conversation, much less go clubbing or play sports with me.
I've had chronic burning pain in both legs since age 14. The doctors say too much computer usage led to poor core strength which damaged my spine.
I think computer use damaged my body as well as my social skills.
The only things I really look forward to are vacations and events outside of work. Learning things is always exciting and sometimes its extremely rewarding getting a project (or even a feature) off the ground and seeing a company rise and beat projections. But then a few weeks later, its just back to work and nothings really different. Its a temporary victory at best, then expectations just get higher and more grind.
The best you can possibly hope for is enjoying the people you work with and getting a couple good exits. I'm never married to my work and I would be incredibly depressed if I allowed it to define me as a person. It pays the bills, and generally pretty well.
Even compensation wise, it peaks very early and probably won't get most rich without a ton of luck. Its depressing to make comparisons, but 99.9% of developers will never make half of what a specialized MD or successful lawyer or someone in finance might make. Granted, the barrier to entry is much lower in CS (sometimes nearly nonexistent depending on the line of work).
edit: Reading some of the other comments made me realize how dissatisfied I am with this line of work. On average, the people really are incredibly boring, especially at large companies. It is true that it is dominated by men and many are socially awkward. Its even worse that I think being on a computer for so many hours a day for years at a time makes everyone a little less socially adept, at least compared to the sales folks who spend most of their days on the phone. I'm literally spending my weekends looking for the most reckless and dangerous things I can do (lately its been surfing 2-3x head high waves, before it was motorcycling through snow/ice storms) to compensate and its completely unhealthy.
I feel exactly the same. I've been in the game for nearly 8 years now, and it doesn't get any better. At the end of the day, as you say work is work, I don't think I would feel any better working in another career. I like programming, I just don't really like working as a programmer :D
For the last two years I've been contracting which helps as I get to pick and choose projects a bit more, and if I get bored, contracts are only usually a couple months at a time so it's easy to get out ("I can't renew, I've already got another contract"). I'm focussing on saving to buy a small property outright with no mortgage, so once I am living there my living expenses will be greatly reduced and I'll have more freedom to explore my interests outside of work.
I wrote a post recently that is tangentially related to this. Don't want to shamelessly plug myself, but I think you might enjoy it:
http://likewise.am/2016/01/22/more-lessons-from-my-twenties-...
Why not make a much less depressing comparison and compare developer wages to manual labourers or retail staff? Compare a typical developer to a typical retail worker and we get way more money for way less stress. We're not at the top end of the scale, but we are nowhere near the bottom either.
We get to sit in comfortable offices, working on interesting projects (mostly), building things that make a difference to people, without getting dirty or abused by the public, and we're pretty well paid for it on the whole. And there's always the possibility that we might hit on an idea that returns literally billions of dollars. Or work for someone else who had that idea and walk away with literally hundreds of millions of dollars. Most people don't have that sort of opportunity.
I've been a professional developer for over 20 years, and I've enjoyed most of it. It afforded me the opportunity to do my own startup for a while, and when that failed it was easy to get back in to work with a job that pays quite well. I certainly wouldn't want to do anything else.
There are many people working in these industries who didn't have much opportunity to get decent education, etc. For example, my parents. They are from rural areas from Soviet Union, where getting higher education was not something that goes by default as it is now (which might not be a great thing given the number of people with worthless law/business management degrees from the bottom 10% of universities... oh well).
Obviously, there's a segment of people who didn't give a crap and held an attitude that education is for losers / nerds (before the word 'nerd' was cool) and I don't have much for them sympathy.
So it's not fair to just disrespect everyone working in the retail as 'zero brains'.
Meanwhile in Lithuania, it's fairly typical that the majority of people working in retail are in their 40s and been doing that for the last ~20 years with very minimal increments in salary (usually because of increased minimal salary).
How much effort is needed to get a cashier position? Show up, be sober - you got a job. Many people in IT started learning the ropes in their own time after school. Although it was a hobby, it was still an effort that turned out to be helpful in job market.
Hardest management job I ever had - working night shift manager at a food store while going to college during the day. Like surviving a hurricane while running a marathon while the building's on fire, every single night. I lived roughly a decade of "real" management in my senior year.
Cashiering required a surprising amount of memorization of obscure procedures and policies and item codes, not to mention carefully tracked flawless arithmetic skills when giving change.
The general manager was an artist of endcap design. At non-megacorp retail you're on your own when designing displays. Its truly an art. At the megacorps you have teams of CAD drafters, graphics artists, and sales consultants designing displays, at a non-megacorp story you have yourself, and the boss expects you to do as good of a job as the team. Teams are usually much less productive than individuals, so its not as hard as it sounds.
Stock clerk at higher levels was insane. Its really a two level job and the new hire teen kids merely threw product on marked shelves, but if you were there more than a year and were not an idiot you watched the more experienced guys and took over for them, after which you spent all your time on rotations and resets and price changes and sales stickering and being a reception clerk for the 50 or so direct store delivery trucks we had. I don't care if you have 20 pounds of soup cans for a 10 pound shelf, make all of them fit somehow and you need to accept deliveries from dairy and bread and beer and you have two hours until break time to get this all done plus or minus helping out everyone else.
I've noticed over many decades that despite enormous quantities of (self serving) propaganda, the hourly pay rate people get generally has little relationship with how difficult or important the job is, on a large enough scale.
Another interesting observation is the dumb people didn't survive on the job nearly as long as the smart people, and the dumb people absolutely suffered horribly compared to the smart people.
On the other hands, it's turtles all the way down until you reach "well, we are still alive, at least that's something".
While some humility and reality check is good, aspiring to have something better (be it in the monetary terms or whatever drives you) is also important to make progress.
Having even a modicum of job and financial security removes so much stress from your life.
Unfortunately it doesn't work that way for all developers. At my last job there were continual reminders and reprimands for being even five minutes late.
Left there after 9 months and have never worked anywhere like that since.
Sadly, without the muscle of collective bargaining to back you up, your only real options are to politely beg your management to stop being timeclock nazis, or to leave for greener pastures.
Water is free, most likely. I've never had free food programming, beyond nutra-grain bars, once.
> Customers are allowed to scream at you and you have to figure out how to make them happy.
Toxic clients exist in the programming world, too. And as a low-level peon, you have a lot more leeway in telling an abusive customer to get out than you do a multimillion dollar client.
> shifts well past midnight on Friday and Christmas Eve...
Still happens for developers.
As strange as it may sound, I think I personally was happier waiting tables. But it wasn't going to pay the bills. In general, I totally agree that most people, all things considered, are better off programming. But let's not overstate our case. :) There are definitely some programming jobs which are light-years better than any retail job because e.g., you don't have to deal with customers, but that's not all programming jobs.
Sometimes, the social aspects of your job outweigh other factors. Throw in the simplicity of jobs like waiting tables, and I've found that it can be a lot of enjoyment.
Programming is much easier than so many professions I've had in the past it's absolutely unbelievable.
Even the worst days of the last 9 years have never been as hard as the best days before it.
As for the no guarantee of 40 hour work week... well, again ignoring the financial aspect of it, only working 20 or 30 hours a week was much more enjoyable than 40-55 hours (or even higher at some places) work weeks.
Haha, try working as a developer supporting a retail-based operation! Our company pulls all-nighters on black friday and christmas eve.
As a retail worker, the pay is at or just above minimum wage and benefits like PTO and health insurance do not exist because the jobs are usually part time. Additionally, retail work always comes with irate customers who will piss you off, your coworkers off and your bosses off. So everyone is angry. Retail workers often do not have a set schedule, this is especially true during the holiday season. They have to find coverage before taking an unpaid day of leave. Lastly, because no real skill is needed to work in retail, workers are easily replaceable. 1 mistake can get you canned.
How is a situation like that more stressful than being on call of which you get paid to be on?
15 Years ago it was £400 for 1 in 4 plus Toil (time off) for time worked
Very well said.
Some software engineers undertook difficult curriculums in highly selective universities. In that case, I think it's understandable to feel a little bit depressed when comparing to former classmates in more prestigious fields. Personally, I have to admit that sometimes I feel that way (even though I'd probably do the same if I could go back in time because I love this field).
apples to oranges.
we're highly specialized knowledge workers. well most of us are, so it is more fair to compare with bankers, lawyers, medics, architects, politician and middle managers which can count on a year to year income growth instead of having to playing idea lottery.
Hell, most of us could jump fields without losing steam. Systems administration, security, database administration, all of these can be done by a decent developer.
Comparing us to retail workers has some merit. We're not professions, have no collective representation, and can be easily replaced (despite current myths about how difficult it is to hire programmers there are hoards of new graduates and self-taught individuals making the leap from other careers and professions because of the money and cushy benefits -- most hiring processes seem to be designed to keep the majority of people out).
This reads like a sales pitch for the lottery, and as a random developer, your odds are pretty similar.
It's a job. Most people don't have jobs that'll make them "rich". Be glad you aren't living paycheck to paycheck, or worse, are unemployed because the job you had was optimized away with computers.
To be blunt, there's a sense of entitlement evident, here, that I have trouble grokking. You get to spend all day in a comfortable office working with no more than your hands and brain making double to triple what a day labourer pulls in with a hell of a lot more effort.
And your complaints are, what, you have to hammer someone else's nails, the work is repetitive, and it isn't a fun party every day while you amass untold riches?
Look, I get being dissatisfied. Humans love looking at that greener grass on the other side of things fence. But appreciate what you have. Seriously.
It's important to cut through the 10x rockstar ninja buzzword bullshit and remind people--especially young people--that most coders are working for the weekend just like anyone else.
The pop culture obsession with the valley tech industry, and the resulting insane expectations folks hold when entering the industry, is a disservice to us all.
I love the work I do. It's not life changing. It's not going to make me rich in money or in spirit. It's a cushy lifestyle job that gives me the time and monetary freedom to do the other things I'm passionate about.
But that doesn't align with the fantasy of the valley, or frankly, the American protestant work ethic.
Personally, I want to feel purposeful at work and that I am contributing to a better world. I also absolutely require regular challenges or I end up severely depressed. Also, I have undertaken extensive education partially as a way of raising my standard of living and having a more enjoyable life outside of work.
THERE ARE SO MANY THINGS TO DO WITH YOUR LIFE! Yea, it's not always going to be a party, but there's a hell of a lot more to it than sitting in air conditioning. And you're allowed to demand a hell of a lot out of your career as long as you are willing to put in the work to get it.
My search for a challenging and intrinsically and extrinsically rewarding career brought me to study the life sciences. Then I ended up in a healthcare company doing menial crap and then a graduate degree in bioinformatics. I'm looking through job-ad after job-ad, and while the occasional one looks challenging I am absolutely terrified that I am going to end up as a desk-monkey who doesn't interact with people and again gets no challenges.
I hope I am wrong and I can make this career work for me, but I am already looking at applying to medical school in a year if can't find a challenging and decently rewarding job in bioinfo. Sucks, because I had originally intended on being a doctor when I was in undergrad but went in another direction because I wasn't 100% sure about it at the time. Unfortunately, I am 100% sure I do not enjoy being a desk jockey.
I thought so too. However, the funny thing with market economy is that it IS pretty efficient, so jobs that are regarded as satisfying and challenging are approached by so many talented people that they don't have to pay very well and the conditions are usually not great.
The solution is to either accept that the role of a career is to get to you to early retirement ASAP (Mr Money Mustache style) or to get excited about something that most people don't care about.
Agree! If I could be a florist on a developers salary I would jump at it and never look back.
Solving an insanely hard problem I have struggled with for days, weeks, or months is the most satisfying thing I've ever experienced.
And yet you are depending on your employer to provide you with this?
>but I am already looking at applying to medical school in a year if can't find a challenging and decently rewarding job in bioinfo
I see you running into the same issue.
Just because you've received "an education" doesn't entitle you to a glamorous, exciting job. You'll probably have to make that yourself.
I am okay with dying. I don't see a point in living a life where I spend my days contributing to a company that does nothing for the world and I am bored out of my mind. I would rather work at McDonald's if that's the case. I am being serious! Money is only a secondary goal.
My ultimate goal is to work for myself and I will at some point. Hopefully that means starting a company focused on genomics, big data, or healthcare, but if not I will buy a gas station and run it myself.
No one will ever just give you an interesting career tailor-made for you. Find out what is interesting, fulfilling, and challenging, and make that your career over time. You start in your company doing menial crap but then move to interesting crap over time, by being intentional about what the company needs, what you need, and how you can leverage one to get the other.
I am sorry that doesn't fit with your world view, it was the worst experience I have ever had and I won't go into another job where they promise me career growth, opportunities, and challenges after I "prove myself." I've already wasted a HUGE amount of time, the past 4 years have been extremely inefficient compared to what I could have been learning in a challenging job.
The only reason I went to college was because I thought it would lead to a job that was actually challenging. My parents never had those, they don't have beyond a high school education. So fuck me for believing education could lead to a challenging job (and you better believe I am prepared for extensive work on top of my education). I've been working since I was 15, I had a full-time job the last half of my senior year in high-school as a stock room manager and yet I still have never had a regularly challenging job. I have never had less than a stellar performance review.
BUT, all my experience isn't the right experience. It seems I am assumed to be borderline mentally-retarded on anything I have not done 100x before.
Do it. I'm a programmer in my first year of med school. Love every single day. Beats sitting in a chair from 9-5 pounding in to a computer. FWIW I still do a ton of programming on my own.
Also, the field needs more doctor-programmers. You'll find boundless areas to apply your CS skills. Plus, if you don't try, I think you'll always wonder: what if?
Does working with your brain leave you susceptible to long-term injury or disability?
Well, funny you should say that. Years ago when I first moved to New Zealand (as a backpacker) my mindset was to find a job immediately, then look for a better one. My first "job" was as a labourer. Carrying large marble table tops up narrow windy stairs. Hardest job I ever did! Quit after one day, and my back is probably still thankful for it.
Working with your brain is a breeze. Yes, you get mentally exhausted. Eat some damn sugar, problem solved. You know what you don't get, that manual workers do ? Crippling disabilities, having no energy left once you get home, a terrible salary, dangerous work conditions.
We have it easy. Stop lying to yourself.
And yet, for some reason, I get paid almost three times more than her per hour.
Now, I hate the "but other others have it worse" logic, but let's go ahead. I have a family member who was a mason. Started at 16. He is now 45, is unable to do anything properly because his back is completely busted.
I'd love to say that this is an isolated case. I'd love to say that the other construction workers I know are in better health. And I'd love to say that percentage of construction workers with health problems is extremely low. But they're not. Their job is physically hard. They're laying bricks, moving things, moving around on roofs. The body can take it, but not for too long. And they can't take breaks, because their job doesn't allow it. Their body is perpetually being used, and all they can do is reduce the rate at which the damage is done.
Now let's compare with the average developer, which can do regular wrists exercises, sits in a comfy office chair and can perfectly well go exercise after work. Whee, such danger. Take care of your body at least 30 minutes every day.
And yes, carpal tunnel sucks, and can put you out of a career. It can't put you out of 80% of jobs because your back, or your leg, or your shoulder is busted.
Compare both, and tell me the construction worker doesn't have it a thousand times harder than the dev, I dare you.
On the other hand, I think many other people I've talked to who have only worked for a few years kind of feel lost. I guess in a way we've been so busy with school and constantly pressured into finding a good paying job and that it would all be worth it that we didn't take enough time to experience life and find out what actually makes us happy. In fairness, it's also a bit difficult to know if you'll enjoy a job until you actually do it for a while.
I like my job, don't get me wrong, and I really do appreciate all the opportunities it gives me. I think the real question is whether that job enables you to do what you truly want to do, or handicaps you instead. I am fortunate enough that my job is the former, but I've certainly taken jobs where it was more the latter.
And that, I think, is a failure in our culture. American Protestant ethics teach us that your job should be a deep, elemental, almost spiritual part of who you are as a person. The result is that, when people graduate, and get that job, they discover that working is, quite often, a pretty shallow experience that, if you let it define you, will lead to a pretty unsatisfying existence.
So now you have a choice: get dissatisfied and start changing careers, hoping you can find something to give you a sense of meaning and purpose (which, if you're like a lot of people I know, very probably means you never excel at any one thing and therefore never get to the point of having a sustainable career that can fuel a fulfilling lifestyle). Or, start spreading those wings and becoming a well rounded person so that you're defined by more than your career.
I advise the latter.
Speaking for myself, I have a great lifestyle job. I love the people I work with, and the projects are reasonably interesting but not life changing, and occasionally repetitive. The work environment is comfortable and laid back, and I get to leave work at the office. The job absolutely will not make me rich, but it allows me to engage in not exactly cheap extracurricular activities (traveling, skiing, etc), while leaving me with free time to pursue numerous hobbies beyond programming.
To me, this constitutes success.
Of course, one day I would like to pursue a PhD so that I could study full time, but that's a dream for another time I guess.
On one hand, there are programmers complaining that they can't get exactly the job they want at what they feel is good pay. Your answer to these complaints is fair enough - lots of people have it tough. Nobody is entitled to a job on their own terms. You choose your own life.
The other angle is the employer who complains about the "shortage" of software developers out there who have top skills and are ready and willing to work for the salary the employer feels is fair in a big, loud, open office with little autonomy or job security. This second, employer-based sense of entitlement is no less appalling in my opinion.
I'm going to guess we disagree on the stress level involved in being a programmer, where you are almost always pressured to commit to deadlines on things you don't yet understand, where people blame you for schedule slips, where you are tempted to compromise to meet deadlines but know that you are cutting corners that may lead to real risk, where you can make errors that destroy data and/or prevent thousands of people from getting work done, where you may severely compromise secure data, and so forth.. in short, I do think it is a job that people can reasonably find very stressful. I think that people overstate the "cushiness" of programming and IT jobs. These jobs can really induce and trigger anxiety, it doesn't take an entitled whiner to feel that way, at all.
Say what you will about programmers, it's the employers (at least here in the States) whose sense of entitlement about who they should be able to hire at "market rate" is so strong they will lobby congress rather that pay more or find ways to make the job less stressful.
You are free to start your own business and get rich except it's not so easy, very few people can do it.
But then you're often still perpetuating the system by then employing people who work making you rich.
Start a cooperative, forget about being rich and seek the fulfillment of all its members.
If someone takes a risk to build something valuable, he/she deserves to get rich.
Capitalism seems to have made us all think it's completely okay to exploit someone else's surplus labour. How is the risk the founder takes that different to Employee #1's? Their payout is usually vastly different, but their contribution not so much.
> How is the risk the founder takes that different to Employee #1's?
Employee #1 will probably be getting a salary, if the company fails he can get a job somewhere else. Meanwhile the founders who worked on the idea probably used their savings initially not to mention quitting their jobs and working on the idea and facing humiliation if the company fails.
That takes courage which everyone cannot do which is why founders deserve to get rich if they build something valuable, employees not so much unless they are willing to stick it out till the end.
Please describe what "risks" the average high-flying tech startup CEO has taken.
Those companies and many others will not work as a cooperative.
Just look around you, most of the tech titans are founders who took risk, can you give examples of tech cooperatives which are equally famous?
Because it's so hard to adapt CEO skills to the jobs market? Whilst peons can pick up a low paid job and should just lap it up and be happy about it??
If the founder is taking a risk running the company then the employees are taking a risk working there; their risk is often as great, the chance to lose one's livelihood.
To my mind a guy in sales that wrote up £1 million of orders in one days work and a guy in janitorial that cleaned the toilets all day both did a days work and both deserve a days pay - they're both humans who gave a day of their lives to the purposes of the company.
The janitor should be paid the market rate, nobody is denying that but he should not expect to get rich via the company
I am sorry but the whole disagreement is on what value a worker contributes.
According to Capitalism and Capitalism supporters, a productive activity is the sum of (Land/raw materials + Labor + Capital). Capital is nothing but deferred consumption. If you don't consume what you could consume, then that constitutes as capital.
When you say that Capitalism exploits another's surplus labor, what you don't understand is that the Capitalist pays for that surplus labor via capital (or time). Any worker in Capitalism is entitled to the full share of the profit as long as he does not expect wages to be paid out immediately, and that he is willing to wait until the profits pour in.
Because most labor is paid immediately, and workers have no risk or delayed consumption, they don't get the share from the profit.
Karl Marx noticed this phenomenon, but was unable to understand the role of Capital(and yea I know he wrote a whole book on this concept). To him, careful inspection revealed a 'conspiracy theory' among the capitalists which he dubbed as class struggle and class interest.
> How is the risk the founder takes that different to Employee #1's? < When you compare the risk of the founder vs risk of the employee #1, it is the matter of how much capital is on line there. Clearly the risk taken by someone who has invested $1000 is less than the risk taken by someone who has invested $10,000 into the same venture at the same time.
Funny thing is when people talk about a cooperative, it's no different than an early stage equity startup where nobody gets paid a salary. The moment a cooperative pays salary before the revenue, it will need capital and the person providing the capital would deserve a bigger share from the profits.
You possess an either infantile and misinformed understanding of Marx, or you're just being ideological here. Have you read Capital? It's not just one book. Marx very well understood the concept, role, and agency of capital. His careful inspection did not reveal a conspiracy theory; instead, it elucidated the ways capital influences our material existence. There was no conspiracy among capitalists, only naturally flowing consequences of capital's impact on the material bases of society.
I don't understand what is offending you so much here. I am claiming that Marx does not understand Capital, and just because he claimed to have analysed the role of 'capital', it doesn't mean that he 'understood' it. A christian biologist writing about the role of fossils doesn't mean he understands it.
> His careful inspection did not reveal a conspiracy theory; instead, it elucidated the ways capital influences our material existence. <
Did Marx not say that the employer is able to claim a right to 'surplus labor' because the capitalist class (state being one of them) protects this right(property rights)?
Does he not claim that almost all property is acquired via theft and coercion of the labor class? I understand that conspiracy theory is a loaded term, but his idea of 'class interest' is nothing but a conspiracy theory. That somehow all the capitalist are conspiring against the workers, without being explicitly aware of it.
Karl Marx did not understand that Capital allows production but doing division of 'labor'(used here to mean 'tasks'). Workers don't need to invest their time in the production process, and wait for the revenue of a business to pour in, while a person specializing in saving, does the job of providing the wages.
That this is a necessary factor needed in any economy and it's impossible for any society (including the one recommending by Marx) to live by not having division of capital accumulation from labor.
Why are you assuming I am offended? I'm calling out your erroneous claims of Marx's work as either misunderstanding or ideology. I'm not in the slightest bit offended. Your clarifications haven't moved the needle on being unable to determine if you're being purely ideological, or if you're infusing ideology into what is, fundamentally, a misunderstanding of Marx.
> I am claiming that Marx does not understand Capital, and just because he claimed to have analysed the role of 'capital', it doesn't mean that he 'understood' it.
Just because you think you know what Marx says, and because you have a couple of his terms in your head, does not mean you understand Marx.
You are claiming that you understand capital better than Marx, who devoted 25 years to analyzing and explaining it--particularly insofar as it relates to the material conditions of our existence, and how it informs, produces, and reproduces the social, economic, cultural, and political structures of human society. Considering the vast breadth and depth of Marx's work, that is a very bold claim to make. You can certainly disagree with the more philosophical and political conclusions Marx draws from his understanding of capital, but to make a blanket assertion that he simply does not understand capital is something that requires an incredibly strong argument. Even Marx's detractors do not make such wide-sweeping, hand-waving claims as "Marx doesn't understand capital". They typically disagree on finer points, many of which have more to do with the material ramifications of capital on political economy and social structure.
> A christian biologist writing about the role of fossils doesn't mean he understands it.
Please. You're creating a ridiculous argument here.
As an ignostic, even I wouldn't say the religion of a biologist is inherently relevant to determining whether or not that biologist understood the role of fossils. There are plenty of Christians who do not find their faith at odds with the scientific consensus on evolution and the fossil record. If you read the biologist's writing about the role of fossils, and it accurately describes the role of fossils in accord with the greater body of scientific work on the matter, what exactly does the biologist's faith have to do with determining or proving anything? Sure, it might be worth considering as a signifier of a certain probability of misunderstanding based on factors external to the biologist's own work, but it's sounding like you're giving automatic preference to a non-Christian biologist's writing about the role of fossils for absolutely zero reason. The non-Christian could be a complete imbecile who winds up on the History Channel shouting, "Aliens!" You're making errors based on a loud segment of Christians who reject the science of evolution, and automatically applying their ignorance/misunderstanding/ideology as something that the Christian biologist shares. That's foolish.
---
Anyway, this is really an irrelevant tangent from a thread that was asking about people being happy programming. Although, Marx might find it rather relevant, as there is quite a bit of voiced discontent that he'd categorize as expressions of alienation. The labor of the many is transformed into the capital of the few. Dialectically speaking, it's a struggle of contraries that co-exist with different interests. Labor has nothing and its members are required to sell themselves to subsist and exist. Capital has everything, and is motivated to keep as much of that everything as it can, while expending as little as necessary to further increase the share of everything it has as more of everything is produced by those who have nothing. What does labor get in return? Nothing but a wage that is (ideally) as low as ...
Maybe each employee has to donate credit to the company for expenses if they don’t have the cash?
I started my company with bank loans and credit lines. If it goes bust, it's my reputation and I will have to pay back the money.
If someone isn't willing to risk this as well, they aren't an equal partner and shouldn't share equally in the reward.
Some people aren't willing to risk this much, yet still want to contribute. They are employees.
In a free market people are free to create their own ownership structures. If people want to setup up a company, and distribute equity equally to employees that's completely up them
How can it more risky for first four employees?
I'm not sure if I'm describing a cooperative, I just know that most normal companies do the exact opposite of this: they force you to live in a high cost area where you spend a large proportion of your salary on housing and other living costs.
I know there are plenty of good reasons why humans have decided to live in cities, but I can't help thinking there's a better way.
The fallacy is in believing you can't have both a reasonable cost of living and the benefits of a city. There are plenty of such places, globally. As more and more people realize that it's unnecessary to assemble in specific places I think we'll see a sea change. Programmers are going to be some of those most able to take advantage of it (they already are).
I'm also wondering when there's going to be a sea change. London is full of people in their 20s spending ~50% of their income on rent, and pretty much just breaking even overall.
I feel like people are going to get sick of this eventually. Either people will leave the most expensive cities, or new ways of "hacking" housing will emerge.
I don't mean to harsh but I don't understand this sentiment. Will any serious company exist if everyone thought like this? Why would a builder put another brick if he thought he is getting paid very less compared to million dollar building he is creating? Will any sales guy put so much of effort if he thought he is getting minisicule % of what he is selling?
What percentage of people with law or finance degrees to you think actually make what you seem to think people with law or finance degrees make?
There's also less chance of getting a casual 9-5 environment in finance.
I'm sure something similar happens to top finance positions.
Also, developers have a nice chance of making it big by either starting up or getting equity.
Once you establish a successful sales record, you wield enormous influence upon product direction and implementation. If you keep your coding chops up to that point, then it is not inconceivable for you to be able to throw your weight around and pick and choose both what to code and actually implement it. Of course, if you aren't good at coding, then the engineering lead will continue to hate your guts. They will all hate your guts at first regardless of your skill level and ability to smoothly work with their teams, but if you are really, really good you can earn the respect of most after awhile.
Very good sales people who are still top 20% coders are an extremely rare combination. It would be difficult NOT to stand out in the crowd. That's good and bad.
The Great Filter in my suggestion is getting out and meeting people trying to connect with them. There are lots and lots of programmers, even "brogrammer"-types, who claim they are very extroverted, etc., who I find will freeze when faced with a list of contacts or a room of strangers and tasked with establishing connections. The vast majority of people, extroverted programmers included, are extroverted with people they know; it's human nature. Of those who can manage to overcome that nature, even fewer will come back with a systematic collection of facts and data about their contacts that you can work with as the start of a sales funnel. Of THAT population, even fewer will actually follow through the sales funnel. Out of THAT, anyone who can continue following up prospects and re-running them through a sales funnel under different campaigns is a unicorn. This is why sales is often broken up into pieces and parceled out to different people. But programmers possess a systems-thinking background that uniquely positions them to excel at sales if their personality really fits it.
Software engineers in Finance can make a pretty good living though. Definitely not as high as specialized MD or M&A specialists, but rivaling some successful lawyers for sure. Then again even for people with top business degrees M&A is a top tier which takes quite a bit of luck to get into. My 2c.
It is exactly the other way around. Mark Zuckerberg is a PHP programmer, not an MD or a lawyer. Same for Bill Gates, Sergey Brin, Larry Page, and another host of lesser known billionaires and millionaires. In other words, an MD or a lawyer could impossible make what a successful programmer might make.
My guess is that you are talking about hot valley companies, and guess what? In those, someone with little experience will not get to work on anything fun, because they have enough talent that almost everyone is batting below their weight. You see similar things in startups where there is no challenging technical component to the business: If all you need to do is scale an app that is just a bunch of forms, then guess what? it will be boring. Go work at a company that is doing science instead, and then tell me it's boring.
You complain about compensation peaking early, as if that's a bad thing. In the US, 300K is not insane for senior devs, and that doesn't count miraculous exits. Many doctors don't make that, and they had to pay for a lot more education, and handle the terrible life of the resident before they can get to real money: And let's not forget, the top of the market for doctors involves getting your own practice. How long does it take to save the money, and have the name, for the practice to be that profitable?
There are a lot of people with law degrees that wish that, at 45, they made the money that anyone with a breath makes in SV when they are 22.
I have seen finance: You don't have a life when you work for a big hedge fund. Not even close.
And let's not forget, you don't have to live in San Francisco to get paid very well writing software. I have a 4 bedroom house that is worth about 200K. I work from home. It's not hard to amass major savings when you don't have a $5000/mo mortgage. And if I am sick of the place, I can spend a month working from Puerto Rico, or an island in Georgia, go to conferences in Europe. How many doctors can say that? How many lawyers? And I am no early googler: I have never made a dime in equity.
As far as people being boring: Different people have different ideas of boring. For instance, I find the classic "I work in software, but look at my unique outdoorsy activity" profiles that most of SV seems to follow to be very boring. Yes, you can enjoy your rock climbing, or your kayaking, or whatever else you do, but it's not something that is really any fun to hear about: People with different activities like that just get to vomit information onto the other. At the same time, many people find the things I do, like reading literature, history and philosophy, to be boring as hell. There's nothing wrong with that.
Also, in America, we hide the things that might make us interesting, different from the crowd. When instead of belonging, we try to fit in, we do what everyone else does. For someone to be really interesting, they have to be different. To be different is to take personal risks of being disliked, because what will make you interesting for one person will make you a weirdo to another. In my experience, the more you get to know about someone, the less boring they are, precisely because of all the little things that we couldn't see before, when all they were to us was a role at a company and some clothes.
This is exactly the kind of misinformation that makes newbs to the industry think they're gonna be rich rockstars programming... stop it.
At the end of the day though, the business isn't about how much you are learning and any early stage start up is going to conduct R&D based on short term returns. If I could work somewhere like Voleon, I might have greater freedom, but I don't have an advanced degree to get a foot in the door.
I agree about traveling. That is one of the only things that continues to excite me. I spent several months working remotely and plan to continue doing so once this company starts to get revenue (if ever). That's certainly one freedom working from a computer provides that most other occupations don't get to enjoy.
That being said, at the end of the day, its just work. And thats fine. Thats still better than most jobs. But this line of work has a relatively low ceiling (in terms of job satisfaction, not compensation) if you want more and I feel like sticking too it makes it only easier to accept that ceiling. Maybe this is too strong, but it almost feels like giving up and settling for something easy/cushy.
First of all, you might be thinking of doctors like neurosurgeons. Less than 1% of practicing physicians in the US are neurosurgeons, and some neurosurgeons make as little as $250k (often ones with special academic appointments). Not all of them make $1M/year or even $700k/year.
Second of all, you might in general be overestimating doctor compensation. See this report:
http://www.medscape.com/features/slideshow/compensation/2015...
Primary care doctors earned an average of $195k in total compensation. Half that is $97.5k. There are many developers who make more than that -- certainly far more than .1% of developers. That is, in fact, the median pay for software developers:
http://www.bls.gov/ooh/Computer-and-Information-Technology/S...
Granted, you did say specialized doctor, and we see from the MedScape report that they make $280k on average. Half of that is only $140k. There are fresh college graduates who make more than that in total compensation. I've even known relatively new developers making $250k once bonuses and vesting stocks are taken into account. Either way, $140k in total pay is not uncommon at all for an experienced senior developer. Again, certainly far more than .1% of developers are in that income bracket.
Finally, and perhaps more importantly, I think you might underestimate the difficulty of becoming a specialized doctor. It's certainly much harder than becoming an average programmer. The educational requirements are vastly higher and more rigorous. The debt load is in the six figures for all but children of the rich. And the time investment is at minimum 11 years (4 undergrad + 4 medical school + minimum of 3 residency). But since we're talking about specialized MDs, the residency will actually be longer than that, as long as 7 years for a neurosurgeon, plus an extra 2-3 for a fellowship if desired. After all that, the doctor will potentially work twice as much as the programmer.
It's not fair to compare the average heart surgeon to the average programer, because the heart surgeon is by definition vastly above average among doctors in both education, grades, and pay. It would really only be fair to compare the heart surgeon to, say, a senior engineer at Google (or similar), where a total compensation exceeding $250k is common.
As for lawyers, many law school graduates I know don't even have a job. The days are long gone where a law degree was automatically a golden ticket. It's certainly true that the top lawyers make a large amount of money, but becoming a partner (say) at a large firm is just not comparable to becoming a programmer. These days, it's like winning the lottery.
Med student here. Programmers don't have to take out 200K in loans. Also, when you do something like medicine, you're basically giving up a DECADE of you life before you actually start making the big bucks. Residents make less than the average programmer. Med students make negative $$. Debt compounds.
But seriously, if that's what you want, stop romanticizing and just do it. Though I have to say, do law school. Doctors that became doctors for the prestige and money are really the worst.
In summary we are treated like professionals and work professionally.
It's not pure commercial work at uniprot.org but it must deliver. The site is popular enough and constraints are interesting. All in all happy.
The job pays decent and allows me to be flexible with time. Which is important to me as a dad.
Basically I live in constant fear of the day I'll hear 'overqualified' at a interview
I have been offered a management track several times and always say no. I don't think i would be happy doing it.
Edit: I should add that working remotely has been absolutely fantastic and adds to why I enjoy being a programmer. I feel lucky to work in a profession that allows this amount of flexibility.
(I earn around $100/hr, but my life organisation skills are so miserable that I can't yet make the ends meet. And I have to travel around 50 times per year).
Scala/Java.
On the other hand, I have a decade of full-time experience and I've been happy for about seven out of ten years. All things considered, that's not too bad. The other way to look at it is that I've had maybe five roles at one company, two another another, and one at a third, and I'd say four of those have been good. That's only 4/8, but it's possible to bail on bad roles and stay in good ones, which is how it's worked out to being good 70% of the time. Considering how other folks I know feel about their job, I can't complain about being happy 70% of the time.
In retrospect, some of my decisions have been really bad. If I could do it over again, I'd bail more quickly on bad roles and stay in good ones for longer.
My dumbest mistake was the time I was in an amazing position (great manager & team, really interesting & impactful work), except for two problems: an incredibly arrogant and disruptive person whose net productivity was close to zero who would derail all meetings and weird political shenanigans way above my pay grade. When I transferred, management offered to transfer the guy the guy to another team so I'd stay and I declined because I felt bad about the idea of kicking someone off the team.
From what I've heard, the problematic dude ended up leaving the team later anyway, so not having him kicked off didn't make any difference, and the political stuff resolved itself around the same time. The next role I ended up in was the worst job I've ever had. And the one after that is my current job, which is, well, at least it's no the worst job I've ever had. Prior to leaving the amazing job, I thought that it was really easy to find great jobs, so it wasn't a big deal to just go find another one. Turns out it's not always so easy :-). If I hadn't bailed on that and just fixed it, I'd be 4/6 and I could say I was happy with my job 80% of the time. Oh well, lesson learned. Looking back, I was incredibly lucky to get the roles that I did, but that same luck blinded me to the fact that it was luck and that there are some really bad jobs out there.
I so often spiral into an endless loop of "this could be done better, rewrite from scratch, must have more decoupling!!".
I had a nearly 20 year career in software, excellent references and well paid. I became completely burned out and hyper-cynical at the pointlessness and shallowness of it all. I can't get excited or even much beyond passing interest in an industry that is almost completely devoted to making the problem of too much stuff far worse.
So instead of getting excited at another pointless startup or tech that's "going to disrupt x" (it usually won't, and often it isn't even a sensible idea to), or "change the world" (nope, not that either), I gave it all up to work with my hands doing something. It's nice to actually feel like I am /doing/ something I can feel proud of, and is sustainable. Moving electrons around is just so unfulfilling.
I'm utterly jaded at the constant replacement, or latest shiny framework that's going to improve little, just change lots and sell more crap. The web has become an almost unusable mess where a single page loads 30 or 40 domains of ad, crap and tracking bringing us back to dial up speeds unless you block most of it.
I still follow tech, but my personal projects are dead as even when i have the time to (I have far more of that now and I feel so much better for it), I can't bring myself to code any more.
The money was nice, but I don't even really miss that. I do regret not being able to afford aerobatics as a hobby any more though!
Many of my peers have quit tech too, and of those who remain some would like to do something, anything else, but mortgage or other commitments keeps them tied to the money.
After three years I'm happier, healthier and don't miss it in the slightest.
I can relate to that feeling intimately.
The intellectual content of programming has definitely changed since the simpler times which were, for me, formative. There's a combinatoric explosion of proper nouns, frameworks and libraries, and doing anything seems to entail 95% of time spent pouring over 27 browser tabs of API references.
This wasn't what made me love programming when I did systems programming in C as a teenager, and it's a different skill set. I wrote things like highly asynchronous & modular MUDs, chat servers, etc. Sure, one had to consult man pages of system calls once in a while, but fundamentally, it was much more of a closed system with a straightforward standard library and few dependencies. Of course, some of that is because my tinkering wasn't subordinated to economic imperatives or Enterprise Business Rules, but I do think it was qualitatively different in a more objective way, too. Now, it's an overwhelming river of gewgaws that each have their own APIs, conventions, methodologies, life cycle, etc.
It doesn't help that a lot of these gewgaws are clearly conceived for the same reasons academic advisors conceive schools of thought and seed conferences with spam publications relating to them by their pet graduate students. Maybe I'm just old, but it seems to me a lot of fashionable frameworks and doodads are more about O'Reilly book royalties, speaking engagements, consulting projects and *Con registration fees.
Started out seriously with the Amiga and it was a delight - the OS was beautifully designed, and there were so many ideas that should have caught on. I'll name just one - datatypes.
Work started out with C and Unix, and so long as you had K&R and W Richard Stephens you were good to go. Loved the design of this too until I got to the GUI - X was not fun. Messing around with MUDs was fun, as was knocking up internal chat servers etc.
Now programming is gluing modules together with the aid of a web browser, often with little real understanding (no time for that). No need for a real grounding in the math or tech when you can just plug lego bricks together which leads to the mess that's PHP or most of the PHP code I've seen.
Design has moved on but it's as much about change for changes sake as improvement. It's now about driving the advertising click stream, or locking us in to the app world, even on our phones rather than improving productivity.
I agree that's it's about fashion and selling those certifications, exams and training - yearly (lol) microsoft certified x etc. Can't say I've come across a one of them that indicates in any way that someone is even basically skilled in the tech in question.
It's just a continuation of that complexity for complexity's sake.
I came in, sat down, and thought "what do I want this machine to do that would be cool?"
And so I wrote a game. Other kids loved the game enough to fight over who could play it. That was pretty cool.
But I look at programming now? Damn, those days are gone. You don't sit down and in a day or so create something totally from scratch that people love. Instead you get a framework, or another, or half-a-dozen frameworks bolted onto a 3-year-old programming language. You head a bit down the happy path -- until you don't. Then you spend the rest of the development effort either a) giving up on what you wanted to code and instead coding what the framework makes you, or b) struggling with the framework instead of the problem.
Worst part? I don't think it's needed. You can do a ton with just plain html, some css, and a bit of simple functional-like programming. But if you try to show that to a new programmer? It's like telling them they need to carve their computer out of bear skins and tree stumps. The culture itself rejects just freaking doing stuff people want. Instead, if it ain't new, it ain't cool. And if it's got one piece of complexity? Might as well have a thousand.
I hear you guys. Sad that it's turned out this way.
Why not?
It's up to you.
Apologies. Of course that's what I keep doing. Really happy about it too. That just ain't the way 99% of development happens.
ADD: The point of my OP wasn't that I hate programming, it was that programming itself has changed. It used to be a direct expression of creativity and had quite tight feedback cycles. Yes, I still code that way. But for all the other coders I see? Most of the profession is stuck inside a prison of its own making.
Don't like legos? Reinvent the wheel then. Go nuts ;), programming is a way of expressing yourself. Like an artist feel free to do whatever you want.
Or, you know, you don't need a virtualenv running inside of docker running inside heroku running whatever to make your stuff run
Or setup 20 "automation chores" before you write a line of code
Yeah, things today look like 80% is nitpicking and 'best practices' (by whom?) and 20% writing some code that will fall off because of bugs in all those abstraction layers You don't need
My first step now would be write a command-line function to send the texts. Once that's working, I'd knock out 5 lines of html and start showing it to people. I'm not even sure I'd wrap the freaking thing in <html> tags. For something nobody may ever use, it's simply not important.
The way the vast majority of programmers would begin this would be to set up a container. Then start installing a framework. Then buying a domain, downloading some tools, purchasing a gateway....
Programming is still programming, of course. But the way people think about programming today is total crap. You can ride the "It's cool! It's new!" horse around the merry-go-round a few times, but sooner or later it's gotta start getting old if you have any sense at all. Know what's a travesty? The number of working programmers in the world who have worked for years and have yet to actually make something that people use.
I'm not unhappy being a programmer, but from time to time I immensely enjoy fixing things at home myself - I see result of my work here and now. Being a programmer I may not see finished result of my work for a long time.
I think it is quite beneficial for programmers to dabble in some hobbies that involve some handiwork - be it knitting or making playing dices out of metal.
I considered restoring old vehicles, but didn't want to end up "just" a mechanic. It was working on cars that was my trigger to get out - I felt so much more satisfaction from restoring a car than I ever did from meeting a ship date. I think because it has a tangible sense of progress and completion, and there's something to point at that's more "real"
I can totally relate to the need to have a life outside the virtual world. I've been programming for 30 years (data analysis in R&D mostly), and while I love the intellectual stimulation from writing code to do something new, I also crave physical contact with the world. But it's still not clear to me how best to make that work. Can I do this as part of a job, or must this happen only after hours?
I considered working in robotics, since that seemed an ideal mix of the two realms, but I'd rather not feed the military maw, which is where 95% of the work is. Maybe I should just reorg my garage to add room for a workbench and join the ranks of shadetree mechs. Lord knows I have enough machinery that need wrenching...
Unless you do something out of the ordinary, in five or ten years time the app, game or website you built is long forgotten or replaced.
Meanwhile board games last, there's value in old editions (I picked up a 40 year old copy of Diplomacy recently), and people still play games that are decades old (not all games, but enough to be worthwhile).
Also, even if I never get a single board game published (unlikely), I will still leave prototypes behind for my family to encounter. Meanwhile, my video games are on my hard drive and could disappear if they don't keep perpetuating digital copies of them.
Also you can make a video game version of the board game you made and now you can sell in two different mediums.
Yes I did this as well. Worked for 15 years as a programmer in financial services. Really found it depressing.
Retrained as a care assistant to work in a nursing home. Find the physical work suits me better and enjoy spending time with the residents. Also did a Physics BSc part-time.
But mainly my headspace is free now when I come home from work. Still do some side programming though - starting Scheme and SICM at the moment...
I choose my current job because it was a small company, that actually shipped stuff to customer. You give us money, we'll ship you something in the mail. To me that is an honest, simple and satisfying business. Now the company has grown big, we spend most of our time figuring out how to do up-selling, tracking of users, social media bullshit and tries to push useless subscriptions. We still have basic stuff like order tracking and returns that aren't working correctly. Sadly better service always lose out to "more features" for some reason. I think we could save a ton of money by fixing the basics and trimming features not used by most customer.
The level of tracking and tracked advertising we do pretty much sickens me to the extend that I want out. I just want to solve people problem, not push them to buy hairdryers and batteries.
I don't think I would want to leave the business, but sadly I'm a little to insecure in my own ability to start my own business. Right now, what I really want to do is help small non-IT business getting the services and solutions they need, without ripping them of. It just quickly because terrifying. The prospect of maybe not finding customers, or not being able to solve a issue scare me beyond belief.
As a result, my happiness as a programmer is directly correlated to how much user impact I see in the work I'm doing.
I also love my immediate coworkers, which helps immeasurably :)
edit: I'm in my 13th year of professional software development, and I have worked at a company where I can reasonably expect a 40 hour work week for the past 2.5 years. My stress level is at an all time low, which helps my happiness, too.
Also, programmers like to create things, and if you're just maintaining projects, you're probably less happy. So for me moving from employee to freelance (creating over maintaining) increased happiness.
Its been pounding on me for years now. I have no reason to complain yet I feel sad, empty, I reckon I'm useless at my job and yet my boss is way more than happy of what I'm accomplishing, I don't understand.
I wanted something great from my career, I thought I'd be surrounded by passionate people, but to this day it's been a huge joke, you just have to do what someone higher in the food chain tells you to do and use that bullsh*t bloatware because he's got some present from another bigcorp placing its product making you more entreprisey and more agile, to no avail. You just have to accept choices made by someone. You just have to contemplate others on the market using something exciting while you're stuck with Java 6 with no one around you wanting to move on.
I feel I have no reason to complain, because life could be so much more painful, I'm well paid and I could be working on an assembly line for way less or living in a country where fear for your life is the only thing in your mind all day long. But... It's just that it's not the big dream I was expecting, and I feel that for someone not working in the bay area but following HN all day long, I'm suffering from an immense sadness of not being part of it, it's like I'm just watching people succeed on my TV screen, eating junk food. I know this is a biased vision and a lot of people aren't happy there too, I just can't help feeling this.