I picked all three. The first was a medium sized startup (90 employees, mostly sales, only 5 devs). The second was a small startup (15 employees, 5 devs). My current job is a huge hosting company with like 3000+ employees in my location.
There's something wrong with how you evaluate your potential employers, then. I understand how one can make the mistake that working at any startup would mean that it is going to be an exciting job. If you want to be excited about what you are working on, the fact that a company is a startup or a huge company isn't important; the question is always, what are they making, and are you excited about that?
If you're good, and can prove it, you ought to have the potential to work on things that excite you.
Your experiences thus far can be seen as learning experience teaching you about what you want/need in a job. You want to engage the customer. You don't like test. You don't want to be at the whim of marketing and bosses who've never programmed.
You've already discovered it's not programming you're tired of, and that's valuable to know.
Just to throw out an idea, there's B2B software companies that employ engineers as consultants to work with client companies. You probably wouldn't like doing this for mega-enterprise, but if the client companies are small they will have a human face.
When you're dealing with load issues, ops, reporting, i18n, logging, and concurrency, you realize why the infrastructure is there and why it's a lot of work to push out a new feature.
The fact that you're not excited by it is why they're paying you, and NO, you cannot do it solo, not without a team behind you.
Before you say it's all in the cloud, most EC2 admins have to deal with unexpected outages, and it's not exciting in a good way. Fundamentally, 99% of everything is a glorified CRUD app.
Well, you seem to work with web applications. So no wonder. In my opinion, in terms of fun, interest and challenge web programming ranks slightly above Cobol, for exactly the reasons you state.
You mentioned you wrote a game. Game programming might be something you like and not every place is a sweatshop, although you have to be discerning.
Embedded/low-level programming is cool too. I used to write router firmware, and I also worked on a sql engine for a time. Neither job had anything to do with "like" buttons or CRUD.
So maybe the issue boils down to equating "programming" with "web app".
At my last company I had the opportunity to write some code to fetch data from an api and display messages on 15 Daktronics signs for a bus transit station. That was cool and pretty low level for me, because I had to send bytes to this sign according to a certain protocol defined by their poor documentation.
That project could have been a blast, but it was put off until the last minute and then rushed and then the signs were hung at the transit station before we had a chance to interact with them and toggle some switches inside so we had to do that on a ladder in the cold oh and by the way my test sign was not exactly like the sign that was actually installed. So as usual, another project ruined by rushed managers who didn't involve me sooner and just started buying stuff and doing things.
>> Well, you seem to work with web applications. So no wonder. In my opinion, in terms of fun, interest and challenge web programming ranks slightly above Cobol, for exactly the reasons you state.
Hey. Lay off the COBOL, especially if you haven't actually done it (I don't know
if you have).
I've done web dev for the last four years, since graduating. I now learn
mainframe development, with COBOL and JCL (and also REXX recently). It's fun.
There's a lot more actual, honest-to-god, programming to do in a mainframe job
than there is in web development. At least you don't spend your every waking
life trying to shake the angle brackets out of your eyes (XML, right?).
Most of my web dev work was in back-endy stuff btw, primarily C# and a little
bit of RoR and Java. Which means 60% configuration, 40% actual coding and even
then, the actual coding is implementing some framework interface. That sucks the
life right out of "programming" (because it really isn't).
You are right, I shouldn't badmouth Cobol. I've never worked with it professionally but I did have to learn it in school. And let's face it, it's a good career move to learn it as there's going to be a "Cobol crunch" soon and the opportunity for relatively low-stress, high-paying jobs is good in that area.
Careful, I Googled your name and a couple keywords and figured out which company and location in about 12 seconds. Potentially someone reading this could make work less enjoyable than it is now.
I don't get why people have this mentality. While it's true that there is always more to learn, and there are always those that are better than us - people don't get to be successful, rich, and/or have a high title in their late 20s and early 30s by waiting around to hit certain experience milestones.
If Zuckerberg can be a billionaire CEO running a huge company at 30, you can make some judgement calls about your job in your mid 20s.
Possibly true. Cybikos were released in 2000, meaning he's approaching 30 or in his early 30s. Does that affect the article much? He could easily be one of the older people on the team, depending on where he works, and his career could be approaching a decade. That's more than long enough to be tired and bitter!
This is my third try at improving my situation, each time the money has increased and is helping me pay that debt off. So I'm getting closer on that front, but I don't want the money. I want to be excited to wake up every morning and go build something amazing.
Try part-time freelancing. That's how I've been able to survive these last 5 years. I spend about 20 hours a week working for clients and the rest of my time (usually another 40 hours a week) I spend on my own projects. I don't make a lot of money, but I make enough to live on. And I get to spend most of my time doing what I love.
Freelancing is hard. It's especially difficult to get into a part time situation. Most clients don't want a consultant, they want an employee they don't have to file HR paperwork for. But if you network enough, you'll get there and it will be fine.
I think, if you can get out of the soul-crushing chasm of despair that is wage employment, you'll find that software development is indeed your calling. You just don't like being treated like a child in that calling.
Money buys freedom. Save up a couple years of living expenses and you can go do what you want for a couple years. If you're prudent, this could also develop the skills that'll make sure your next job is both more fun and more lucrative than your past ones.
Actually, you don't even have to quit. Just knowing that you can quit, if you're not happy, changes how you interact with your employer. Don't like what you're doing? Do something else, either there or at a different company.
Indeed it is. Haven't I accrued debt, worked hard, and earned the right to be in a job I should be happy at? I deserve that. So do you and so does every body else.
Everyone deserves everything. We live in a society that is capable of creating a post-scarcity economy (and in many cases, such as media and software, has) yet is putting itself through ever more convoluted contortions to make sure poor people don't get to have anything. Eff. That. Noise. Work is not a moral imperative.
If one of our descendants happens to be born into a society that grants him/her the _entitlement_ to happiness, that person will be very lucky indeed. We haven't been born into such a society, however.
Does this include bonobo monkeys, sharks, dogs, snails etc. ?
'We live in a society...'
No. You(member of homo sapiens species) live on planet Earth with many biological organisms, like bacteria that's on your hands right now. Actually, even that is too specific. You live in 1 galaxy that has 100s of Billions of stars and other clusters of matter in it. That galaxy is just one out of 100s of Billions of galaxies in the whole universe.
'make sure poor people don't get to have anything'
What? Why would some homo sapiens automatically deserve something, just because they happen to be born as one?
'Work is not a moral imperative'
Do you have a method of determining what a moral imperative is? You know, people at CERN have built complex machines to detect certain particles. So, you're saying that work is not a moral imperative. How did you find that out? There are people who think that it is. How are you going to convince them they are wrong? Who is dictating these moral imperatives? Is it God?
>We live in a society that is capable of creating a post-scarcity economy (and in many cases, such as media and software, has)
Media and software are not examples of post-scarcity economy. They require hardware, which requires infrastructure, which runs on the expenditure of fuel and calories, and is built oftentimes with slave labor. The music needs to be composed, the movies need to be filmed, the games need to be designed. Storage media needs to be replaced. Programmers need to be educated generation after generation, and then everything rewritten in new languages when no one cares about the old ones. Factories need to keep building new models and old models keep filling landfills. The digital world is very much tied to scarcity of resources. Every bit flipped contributes to the inevitable heat death of the universe.
The Declaration of Independence declares a natural right to "life, liberty and the pursuit of happiness[0]." Happiness itself is not enshrined as a right, certainly not by the Constitution[1].
Depending where, that "cabin in the woods" doesn't come cheap. And the time and effort needed to make a decent fraction of what one does "coding" in jobs around cheap locations is going to take many years of hard work.
Not if you buy the land at a tax sale, built it yourself, and live with bare essentials.
Lets say there are two people who want a home, one person builds theirs and the other buys theirs via a loan.
Both are looking for a $200,000 price range. The one who is buying a prebuilt home is going for a 30 year fixed rate mortgage.
* Solar Panels - $1,000
* Building Materials - $10,000
* Land - $2,000
* Well Drilled On Property /w Electric Pump, Filter, and Tank - $10,000
* Backup Power Batteries - $1,000
* Composting Toilet, Sink, Kitchen Appliances (All top of the line) - $20,000 (You can save a LOT of money here by skimping on the stove and fridge)
* Nice HAM radio set - $1000
* Satellite internet hookup - $500
* Zoning, Permits, Safety inspections - $1,000
Total Approximate Cost: $46,500
This is with very heavy rounding upward. Granted, this home will be small, likely no basement, and two stories. But it will be very comfortable living if you build it yourself.
You will be able to maintain everything, no more rent, no more service fees, no more power/water bill.
So, just to give buying a home a better fighting chance, let's make this humble home a super humble home.
* Aerogel-Composed insilation: 40,000
* Super Efficient NAS/Server: 5,000
* Some more battery capacity: 5,000
* High efficiency HVAC system: 30,000
Added Cost: $80,000
Total Approximate Cost: $126,500
Now lets start going to where money can buy, but you just need a lot of patience.
* Why not launch a small satellite in geosynchronous orbit? $100,000
* More HAM equipment for tracking satellites. $5,000
* Underground bunker underneath your home. $60,000
Added Cost: $165,000
Total Approximate Cost: $291,500
Both where able to get into their homes within 2 months, both started out with what was probably going to need some work over time.
The home buyer paid $340,427 in total, along with extra taxes.
The home builder got a $291,500 and did some really cool shit if you ask me.
Yes, I am exaggerating a little. But you get my point. You can always make your dreams come true.
I rather much agree with him. What the hell was the point of getting a supposedly in-demand degree, graduating top of my class, maintaining my skills at the top of the industry, if I was just going to get stuck in a corporate hell-hole?
I was going to reply to the parent saying, "He's not saying he's entitled to anything! He just doesn't like his situation and wants to change it!".. and then I realized the author replied first, and indeed is asserting he's entitled to happiness?
What was the point of any of that hard work? Maybe there was no point, maybe he/you made a mistake. From where do you derive entitlement?
If you live in the United States you're entitled to the _pursuit_ of happiness. Go, pursue it, but your career choices and mistakes are your own. No one owes you anything.
Alright, fine, we don't deserve anything. We don't deserve to be treated like children. We don't deserve to have the majority of our productivity either stymied or taken from us and bastardized. We don't deserve to be told "do this for us and we'll take care of you" and that turns out to be nothing. Yeah, there's a lot we don't deserve.
I'm owed what I was promised. I was promised "pass these tests, you can get into any grad school or company you want." That didn't happen. I was promised, "finish this project, and you'll get a raise and to run the next one your way." That never happened. I was promised a lot of things, and because I don't have a rich daddy to threaten people with a lawsuit for breaking those promises, I get told it's my fault for expecting anything.
As I said before. Eff. That. Noise. Your rules suck. I choose my own.
Keep on insisting you're owed what you were promised, and keep on saying "Eff. That. Noise." See how far it gets you. My rules may suck, but they have the advantage of being reality.
But you probably have your own reality? Great, just don't be surprised if you're the only one living in it.
I don't understand why this discussion is about entitlement. I thought this was the american dream? You work hard, you make something of yourself. Things go your way. Things are going well enough my way, but I'm not happy. I don't want it.
Hell, give me a lobotomy and erase my education from me. In return, absolve me of my student loans. Let me start over and try again. I can't even do that because I'm in so much debt that switching careers is not even feasible. I have to program to pay these loans. I wouldn't survive without a programmers salary, but I don't even want the money. That's the part that kills me.
I also don't understand why it ever was about entitlement. Your blog post wasn't about entitlement. I don't understand why grillvogel made the original joke about entitlement. And I was about to say that, when I read that you replied that indeed the entitlement is strong in you.
That's why this is about entitlement now. Because you said it is.
What kind of defeatist attitude is that? "Reality sucks and you can't change it"? Where would our lord Steve Jobs be if he thought like that?
Seriously though. If you don't like the hand you're dealt, you try to change it. How is that unrealistic, or unlike what most people do?
And how is it unreasonable to fervently wish to have it better in life than what you do? Why is it entitled? There's nothing more common-sense, down-to-earth, than that. Otherwise, what the hell are you striving for?
I don't understand how you get "Reality sucks and you can't change it" from anything I said. The part of reality that we're talking about, that I said sucks, is the rule that says that you are not entitled to anything. No matter how hard you work, no matter what tests you took, no matter what they told you would happen if you paid tens of thousands of dollars for school, you are entitled to nothing! Like everyone else who isn't lucky enough to have it all handed to him, you'll have to continue to claw and scratch and struggle to survive and to create wealth and to get the things you want.
When did I say you shouldn't try to change the hand you're dealt? Absolutely you should! If you don't like the status quo, turn it over! How do you confuse "No one owes you anything" with "you should not try to change anything"?
You said: ". My rules may suck, but they have the advantage of being reality."
Hence "reality sucks". I don't see that I misread that.
I agree you didn't say anywhere that you shouldn't try to change the status quo, but to be fair, there's often a lot of confusion between "that's how things are" and "that's how things should be".
I don't have the patience for a lengthy discussion on this now- apologies.
"if I was just going to get stuck in a corporate hell-hole"
Who exactly "stuck" you in that hole? If you're "at the top of the industry" then FIND SOMEPLACE ELSE if things are terrible.
Your boss is not a cruise director; just getting your paper and showing up is not a guarantee of happiness, any more than getting good grades in HS and then showing up at college was a automatic guarantee of academic success.
You are not giving the writer enough charity with your interpretation. Almost every single programmers I personally know around his age shares the sentiment. Ranging from SV startup jobs to the FB/Google/Microsoft/AMZN, even some doing programming in countries half way across the world.
Me - I stay with a job (or side project or consulting) if it is fun and I am learning something. Pick and choose accordingly.
From the article -- "I write test automation to test the front-end" -- there were potentially interesting things here maybe some years ago, but he put himself into a position that frequently gets off shored and doesn't have a lot of room for growth/creativity.
Really, all these entitlement 20-something posts are basically the same in general content.
I didn't know if I'd like testing or not. But I thought I would try something new. Comparing my daily work with the coders around me, I still think I'd pick testing because they literally just glue too many shitty api's together into an AngularJS application.
This resonates a lot with my current situation. I'm hoping a job change will fix that since I'm still with my first big programming gig (3 years now), but I'm so burned out. Tired of working with people who give inconsistent directions and don't have their shit together. Tired of people being able to act like idiots and never deliver on time, yet if I make the smallest mistake I go under a microscope. It's just so mentally exhausting day in and day out and it's making me extremely depressed. I don't want to go out anymore or do anything and all my passion for hobbies is gone. I'm moving within a year, so until then I guess I'm stuck.
> I want to get away from coding for you and code for me.
> I don't like coding for you. I don't think any of us do.
I'm sorry you haven't found anything to like and be excited by, but i assure you it is out there. I personally have never worked in a company with much process, so i haven't experienced that kind of hell. But do keep in mind, there's also another kind of hell: Where everybody is a cowboy coder and walks all over anybody's changes; where everybody codes 9-5 and then doesn't think about code ever, never improves, coding the same as when they started, 15 years after they start.
I've found my enjoyment in taking such companies and teaching them how to produce quality code without compromising on speed. I've found my enjoyment in encouraging such companies to take on young coders who i can then teach, and see flower into excellence they could otherwise only reach with years of investment.
And occasionally there is the one or two projects that are just for fun, or really touch many many customers.
Don't give up and blame the world. Look harder. Maybe even change your language. I mainly do Perl, which gets a bit of a bad rap by people who don't use it. But compared to companies doing e.g. Java or PHP i find a marked difference in culture. Maybe you're just stuck with the wrong focus in your skill set?
Or, if you feel brave: Maybe your problem is that you keep getting into the kind of company that wants an employee. Maybe you can change your situation by becoming a freelancer. Keep in mind that as a freelancer, you eventually, if you're good enough, end up in the position where you may fire clients. You also tend to see a lot more projects of much more variety.
Thanks for the advice. My first job was full stack Java backend (SpringMVC) and jQuery hell front end. Second was full stack, Python backend, AngularJS front end. My new job is writing Protractor tests for multiple AngularJS applications.
I enjoy writing Python. Javascript isn't that thrilling to me. Not super excited by the countless FooJS libraries and Promises and async everything. In Protractor if I want to get the text of an element in the DOM, that's a promise. I mean come on? .getText() should not return a promise. I'm not a Javascript expert, so this will sound whiney-ish, but I think Promise hell is a thing just like Callback hell is.
I escaped the boredom by becoming very proficient in a popular open source project that I found interesting and that multiple companies are looking to hire for. While the business requirements for the features I have to add may come from my employer sometimes, for the most part I'm really just working on upstream and making it better. I've also job hopped a fair bit to try to find a job where there was motivation on both sides before getting to this point, so your tale is somewhat familiar.
Perhaps you could aim for something similar. There's employers out there (eg. RedHat) that will happily pay you to hack on open source if you can show that it's in both of your best interests. That way you get to choose what you're working on going in. Even just specialising a bit more might make things more interesting as you'll be hired to work on <thing you actually quite like> instead of some random stack put together by someone who may not have a clue.
Python isn't bad, though it can also be constricting. Java is of course the kind of language likely to land you in Enterprise Country. Maybe you can pick up Clojure though? And yeah, as a web dev myself, everytime i have to touch JS i walk away with a headache.
Also, if you want something challenging, but not quite C, maybe give Rust a chance. I hear lots of companies with fun stuff are using it.
I reached the same conclusion recently. I'm about the same age, but instead of going through college to get there, I was one of the early "bootcamp" grads (though I took issue with my so-called bootcamp).
Yes, we should be glad to have these high paying jobs doing knowledge work. But there is something thoroughly dissatisfying about writing another meaningless CRUD app that spins the cogs just a little faster. More efficiently? Who knows. Besides, it probably does one of three things: ecommerce, ads, or glorified coupons. What's the point?
Coding isn't the right career for me, either. I do think it's a useful tool, but I think I've got to do something else with my life. I wish you luck figuring what that something else is, as well.
$65k in student loans to learn programming? The author is clearly an idiot. Programming can be learned from home for next to nothing, because you have all the tools you need there. It's not like you're a surgeon and you're working with expensive/complex equipment.
Yeah, but getting a degree (so that people know you're any good) is a tad more expensive than "next to nothing."
Perhaps not $65k, but not too far off (depending on where you go). If you choose a cheaper school, there can be issues with getting a job or getting the salary you want (as I've heard it said, anyway).
Just look at programming jobs ads. When it comes to degree requirements, ads can be divided into 4 cases:
1) No degree required (not mentioned).
2) Stated that you need either a degree or show some code you've created.
3) Stated that a degree is required. Here you could contact them, show them samples of your work, list all of your experiences and offer to do additional tests if you don't have a degree.
4) Stated that a degree is required and they will only hire you if you got a degree.
I graduated with a degree in mechanical engineering and decided to quit my job to learn programming at home. Took me a year to get to the point where I'm comfortable and know my way around.
However, just because I taught myself doesn't mean that it was free. I had a year of lost wages which is about 65K, so all in all it costed about the same amount for me.
He had 4 years of lost wages + $65k in debt. When you're in college, you don't work. So, again, he's in much worse situation than someone who learns programming at home in 1 year.
I went to college for 4 years as well, so again, you can say we were in the same boat: 4 years of lost wages + $65k in debt for him, 4 years of lost wages + $65k in lost wages for me
The difference is that you lost that money, but you don't owe it to anyone. Nobody can come over and take your stuff because you owe them that money.
And then there's the matter of a debt being an amount agreed upon by all stakeholders, whereas your "lost wages" are just a number you calculate in an arbitrary manner, which may or may not reflect reality. Maybe you did lose $65k by not working. Maybe if you hadn't gone to college you'd have been hit by a car and you'd have lost far more than that. Maybe you'd be unemployed. Who's to say?
Money is not money unless it's in your pocket (or bank account) or in an IOU.
Wow. I didn't realize Hacker News folks were like redditors.
The 65k comes from the fact that I had to pay tuition and living expenses. My family is from a small town. The nearest college was 2 hours away (Indiana University). 15k a year adds up fast.
I honestly didn't NEED the education, I think if I spent 4 years teaching myself I would have been just fine. I just felt that I needed the degree to get my foot in the door anywhere. Maybe I was wrong, but do you dispute that?
I'm 26. I'd much rather work on my own stuff than my company stuff. I have this plan after my current job to burn up some of my savings and spend a couple of years to build something I'm excited by. I've been paying off student debt.
I think I'm okay with working a 10.30-6.30 job. The pay-check is what will grant me my freedom. Every week I work, I save 3 weeks of expenses. I've already enough savings to pay off my student debt two times over. After another year I'll have enough savings to live as I do currently for 5 years. (Can double that if I don't take the train every day & eat out during office hours).
The product is important. Does it help someone? Does it make their task easier? Are the bugs in it tolerable? At all three of my big boy jobs, I've been so far removed from the user that I have no clue if the product helped them or not. This hurts and it hurts a lot.
You're writing test automation. Think of your users as your colleagues. You're not saving random people time. You're saving time of people you go out to lunch with. All you have to do is ask "Are my tests saving you time?" And that's something.
Don't forget that once you get enough saved up, you can live off the interest alone (i.e., retire). So at your rate, 5 years gives you 15 years of expenses. At 7% return on investment, that money will never run out.
My suggestion would be to move away from the idea that there's only "code for you" and "code for me" - try to "code for us."
If you're passionate about something, there's bound to be a couple of companies that are working in that field. Find one that shares your values and code for them. It can still be frustrating, but you move forward every day because you care about what you're doing.
'One says to me, "I wonder that you do not lay up money; you love to travel; you might take the cars and go to Fitchburg today and see the country." But I am wiser than that. I have learned that the swiftest traveller is he that goes afoot. I say to my friend, Suppose we try who will get there first. The distance is thirty miles; the fare ninety cents. That is almost a day's wages. I remember when wages were sixty cents a day for laborers on this very road. Well, I start now on foot, and get there before night; I have travelled at that rate by the week together. You will in the meanwhile have earned your fare, and arrive there some time tomorrow, or possibly this evening, if you are lucky enough to get a job in season. Instead of going to Fitchburg, you will be working here the greater part of the day. And so, if the railroad reached round the world, I think that I should keep ahead of you; and as for seeing the country and getting experience of that kind, I should have to cut your acquaintance altogether.
'Such is the universal law, which no man can ever outwit, and with regard to the railroad even we may say it is as broad as it is long. To make a railroad round the world available to all mankind is equivalent to grading the whole surface of the planet. Men have an indistinct notion that if they keep up this activity of joint stocks and spades long enough all will at length ride somewhere, in next to no time, and for nothing; but though a crowd rushes to the depot, and the conductor shouts "All aboard!" when the smoke is blown away and the vapor condensed, it will be perceived that a few are riding, but the rest are run over- and it will be called, and will be, "A melancholy accident." No doubt they can ride at last who shall have earned their fare, that is, if they survive so long, but they will probably have lost their elasticity and desire to travel by that time. This spending of the best part of one's life earning money in order to enjoy a questionable liberty during the least valuable part of it reminds me of the Englishman who went to India to make a fortune first, in order that he might return to England and live the life of a poet. He should have gone up garret at once. "What!" exclaim a million Irishmen starting up from all the shanties in the land, "is not this railroad which we have built a good thing?" Yes, I answer, comparatively good, that is, you might have done worse; but I wish, as you are brothers of mine, that you could have spent your time better than digging in this dirt.'
> And then I want to get away from coding for you and code for me. I don't like coding for you. I don't think any of us do.
Too many people think of coding as only a career...thus, we shouldn't teach coding to non-comsci-majors because not everyone should be a programmer as a job.
Programming is an intellectual and productive pursuit in it of itself, and there is a huge difference between programming for someone else, and programming for your self and for what you care about. It's no different from writing prose. You could love to write for yourself, or for your own novels and projects...while having a writing job (technical writing, journalism) that you dislike. But it's not the writing itself that's the problem.
That said, I've met a few developers where it's just their job. They aren't passionate about code they way I am- their passions lie elsewhere, and that's fine.
Being passionate about software development can help you be a better developer- but it's not a prerequisite by any means.
Definitely...actually I found after college that I didn't really like programming and didn't feel very good at it, at least not compared to my classmates who hacked all the time in school. But when I started programming for myself, and various side projects, it made me a much better and happier programmer. I'm happy to have become better, because it's helped me expand the scope of things that I want to accomplish...but time is ultimately a limited resource, so I'm mindful of what I've sacrificed by spending late nights tinkering with code.
I often feel like I'm surrounded by programmers who just come to work every day, write as much good enough code that they can, and then go home. They seem really happy. I want to be like them. But my care gets in the way. My desire to question why we do things the way we do only to be told "that's just how it is" is difficult to hear and only frustrates me further. The happy people around me don't seem to ask questions, they just do.
It sounds like you're conflating caring about the quality of ones work with having a poor work-life balance.
Also, I think that pursuing happiness in and of itself is quite boring and demonstrates a lack of agency that we have as human beings... We need more than just the feeling of constant pleasure in order to have a fulfilling life. One very basic example: if you were happy all the time, how would you actually know? Being aware of the contrast between various emotional and psychological states provides a lot more fulfillment versus always residing in a single mode of existence.
It's funny but when I was younger I wanted to be a writer. I joke that I am a
writer, it's just that I write code rather than prose.
I have this long-standing argument with a friend, who's also a programmer,
because I say the exact same thing you say, that for me writing code is like
writing prose. I even edit my code in the same way I used to edit my writing,
way back when.
Btw, I don't think that the fact I like to code makes me better at it. Frx, I
like music, but I would suck at it and I know lots of people who are in the same
position; except that many don't seem to understand it.
I've also seen people do completely stupid things with their code exactly
because they like to code. They want to show off their shiny techniques and
overengineer something to death, for no good reason.
Actually, I've done that myself now I think about it. Many times. We'll see if I
learned not to do it again.
Damn this is one bitter guy indeed. First of all, everything you do as a kid is more fun than doing it as a professional. I sure loved to play soccer as a kid, but guess what? Being a professional player is full of annoying things like training, lifting weight, being careful with your diet, traveling all the time, etc. And that could probably be said about any career. Being a professional at anything is tough compared to toying around as a child, that's how it is.
"At all three of my big boy jobs, I've been so far removed from the user that I have no clue if the product helped them or not." Even during the second job at a "small startup with 15 employees, 5 developers, no testers." ? Hard to believe.
"I don't like coding for you. I don't think any of us do. We only do it because you pay us way too much money and we have loans to pay off." Feel free to write whatever you want about your point of view, but leave the rest of us out of your vast generalization.
Wonder what this guy would say to the countless millions who toil away in factories, big box retail, and accounting offices. None of these people do this for the love of the job. They do it because it needs to be done and they get paid for it.
I wouldn't be so critical of your feelings but you whine about how society didn't let you do what you want to do on your terms. Change your circumstances. No one is just given everything. Its a combination of motivation and luck. And that luck comes from generating opportunities for yourself. So it all up to you.
I hope you get your debt paid off. Move to the cabin, but if you ever want to come back, just remember that society has her dues.
I like your post and think it's valid, but I would say that coding in high school/college doesn't prepare you for the real world at all.
In high school I was hacking on silly personal projects. In college I was solving cool algorithms, puzzles, and games. But in the real world most programming roles are pretty menial / not a super exciting domain / consist largely of process, code reviews, QA, debugging.
My friend has a HR degree where she got to study psychology and organizational principles and how to motivate people and run a business, and now she does paperwork all day managing employee sick time and vacation time and making sure all their certifications are up to date. I'd be surprised if any degree fully prepares students for just how much menial work they'll be doing, partly because those bits don't require a university course to learn.
But that's the thing, though- the hypesters promises one thing, and the industry delivers another. "Everyone should code." "Software is eating the world." All of this is true, but despite the magic of engineering, which gives you the biggest lever in the world to move the most weight, actual coding jobs are swamped in mundanity. If people going in knew that it was more Office Space than The Social Network, it'd be less of a disillusionment.
>> Wonder what this guy would say to the countless millions who toil away in
factories, big box retail, and accounting offices. None of these people do this
for the love of the job. They do it because it needs to be done and they get
paid for it.
There's always someone doing worse than you do. I'm a programmer
now but in a previous life I fed conveyor belts. I did menial jobs most of my
life until I migrated and graduated (and, yep, got a student loan to repay). I thought I had it bad, but I once saw a
video of a boy diving into a midden with a stick to unclog it. No joke- he dove
into a big hole in the ground filled with shit. He had a rope tied round his
waist and a stick.
So what do you say to that boy? "Stay where you are because think of all those
countless minions who don't even have a stick"?
No, people will always want to do better. We'll always want our every working
hour to be productive and fullfilling. And as well we should. We should strive
to achieve that.
So, speaking as one of those countless minions, I'm glad that I could escape the
Hell of One-Thousand Soul-Crushingly Meaningless Tasks, and I don't wish anyone
to use my sojourn there to keep anyone in their place.
If programmers made twice as much money, it would be such a great job. And yet salaries have been relatively flat for over a decade (adjusted for inflation).
Something is wrong that salaries never seem to rise with demand in Silicon Valley. We know there was a secret deal to help suppress wages at one point, but it's not obvious why it's been so successful. Is it new graduates, immigration abuse, internationalization, illegal price fixing?
A programmers union could probably force tech companies to double salaries. They all could afford to pay it.
Programmers are generally very well paid in the U.S.
The issue is, they hit pay-ceiling very quick, unless they go into management position. And really, who wants to be an IT manager? It's probably the second worst job in IT after IT project manager. chuckles
A 30 year old sr. software engineer will be paid not much less than a 40 year old one, even if 40 year old is much more talented, and deserves to get paid twice as much.
I suppose the same issue exists for pharmacists. Out of school, you're expected to make $110k; pretty much the same exact salary as RPh with 20 years of experience.
Money does not make the job and more fun or less boring. I'm not sayin it don't want money I just don't agree that more money would make programming a great job. It might help them tolerate a boring job longer
Lower end pay can stay right where it is. Upper end pay could probably go up to better reflect actual skill and specialty knowledge.
I really doubt a union would succeed unless you suddenly get a lot of programmers on board very quickly. Tech giants are big and if they chose to fight, they have a ton of cash to do it with.
It would be nice if wages were based on supply and demand. But, it's more like wages are equilibrium points in a dynamic system.
For example, if cool software engineer goes from $100k to $200k, then his boss, Mgr #1, is going to want like $300k, well, just because she's a boss. And, her director is then going to want $400k because people with power titles should make the most.
(Oh, and, by the way, everyone knows that Mgr #1 is probably the best programmer at the company, but she's 40 now, and her salary got too high, and therefore she would have had to move under R&D director PostDoc. But, he only allows PhDs with the title of 'principal' to work for him. So, now she has to be a mediocre manager.)
1) I hate my job... but!
2) I do it because I need it
Ok. That's fine. Just shut-up if you need the job. No one needs to hear about your woes and whinings if you're conscionable about the contract you're entering in to.
It's downright childish if you don't reject/quit a job if you don't want it.
3) make up your own interesting side projects that will benefit your manager, company,and customers, short term and long term. If you don't, you risk remaining as a permanent cog. You want to transform from a cog into planetary gear set.
Work is called work because it isn't supposed to be fun. If your's is remotely tolerable, only requires your time from 9 to 5 and pays you enough to cover all your necessities and even some luxuries you are better off than 95% of the world. Life's a bitch, then you die. At least you make enough money to not have to do it past your 40s if you don't want to.
Eh, no. Work is called work because it's supposed to produce something. If all
it does is drive you nuts, waste your life and fill the world with garbage, then
what's the point of it? You might as well give it all up and go tour the world
with nothing but the clothes you wear.
And what's that I hear, about getting a pension in your 40s'? Wasn't that what
the Greeks did wrong, that they wanted to get a pension in their 40s, and that's why
their economy died?
Googled your name and found your Linkedin page. Rspace is getting pummeled by AWS and Azure offerings, never work for a company that is going down and has little or no innovation.
Work is work. But you can learn to self motivate, and even learn to enjoy the boring bits. However if you think that it's out of your control, what you enjoy and what bores you, it can be hard to improve your enjoyment.
I almost cried while reading this. <virtual hug to tomreece). I'm 27 too and hitting my 5th year in software. Last year I worked in a company that had 20 employees; 10 people were related to dev. Everyday in there was a slog. Shipping code was a convoluted affair that happened once every 45 days or so. Testing was all over the place, and in a bid to do "excellent design" there were classes connected to 5 levels of interfaces and abstractions and multiple circular references.
During that job, I made and shared two side projects for the first time in my life.
But the 9 to 5 hell was impossible to deal with.
Fast forward to now, I'm remotely working with a company that pays me a great salary. I live in South East Asia and that means my savings are fantastic. Bonus is that the company is amazing. Dreamt of joining it since 2012. But I digress.
Here's where I get to the point. Try and find this kind of remote work, and come live around here for a short while (Sri Lanka). Heck. I'd be happy to talk to you about it. Put it in perspective, with a salary of say 80k USD, you'll pay off your student loan in one year guaranteed if you live a little frugally. Hope this helps
I actually quite enjoy my job. I still have side projects that I also enjoy, but my job is wonderful along with the company I work for.
Also, this stuff: "I didn't care how my code read, or if it was maintainable, or if it was DRY, or if it was tested, or how long it'd take me to write, or if features were separated into logical chunks"
Right at the beginning is where you lost me, because even when I was in grade school, I still made my code maintainable and separated into logical chunks because I had to read and maintain it whenever I got a chance to get back to it. My side projects are all built with these things in mind.
It is good that you have decided that coding isn't the right career for you, but I wonder what is? I would also be careful of making harsh public criticisms of your employer. It's easy to figure out where you work, and these are the types of concerns that your employer should be able to work with you to address.
My biggest problem with coding for an employer, is that they then own exclusive rights to the code. Essentially, you are solving a problem. If that problem is unique to the employer, then that is fine for them to own the code. But if the project involves writing a bunch of potentially reusable routines, such as what you might find in a third party library, it just seems awful that you can never solve those same problems again in the future (as more likely than not, you will end up typing in about the same code).
So it really seems like you are giving up a piece of your mind whenever you program for someone else. For an example of what I'm talking about, see XKCD 664.
Well, it's not like they pay you to write code for them right?
It is only fair that your are, in theory, not allowed to reuse the code who wrote for them at your next gig. And to be clear, we all do it. If you've implemented it once you can redo it in no time.
I agree that it is fair, it just kind of hurts a bit is all. Especially if you did something you are real proud of.
I wish there were more programming jobs that were similar to photography -- you get hired to do a shoot, the customer gets a copy, but you keep the copyrights.
I agree that programming at work isn't as fun as it is when you're just hacking away on side projects.
But there's also that satisfaction of learning your craft well.
Thanks for writing this, Tom. Coding as an employee isn't right for me, either.
By and large, programmers generally make great employees. Many brilliant people are able to knock out their assigned and existential objectives by solving complex problems and are handsomely rewarded with hefty checks. But, if you ask them questions outside their comfort zone about, for example, running a business, designing for the user, or marketing, most would be quick to point out that those aren't responsibilities that fall on their plate.
To me, it sounds like you have a fervor for being more than just an employee. You want to take ownership of your work. You want to use your brain for your own benefit, not for some other corporation to rent out. You want the grittiness of taking on multiple roles and welcome being side by side with your users.
There are many of us out here, coding as self-starters, founders, freelancers, remote workers, and small business owners. It isn't for everyone, and if you are happy or content with your full time job, then it's probably not for you. That's ok.
But for those of us who have found ways to make it work outside of what can feel like the soul-crushing environment of a typical full-time workplace, the devs building on their own, grinding out client work, doing remote year, making products - ask any of them, and you'll find that coding as a employee wasn't right for them, either.
I have NOT internalized the disciplinarian culture.
I think you have:
I'm fortunate to have had jobs since I graduated college.
Edit: I mean that it shouldn't be down to luck whether you have a job or not and how productive you can be in the limited time when you can be productive, in your life. It's rotten that not everyone can. We're doing human civilisation wrong, if it's down to luck whether you live a satisfying life doing fullfilling work, or spend your life in slavery.
123 comments
[ 2.8 ms ] story [ 191 ms ] threadIf you're good, and can prove it, you ought to have the potential to work on things that excite you.
Your experiences thus far can be seen as learning experience teaching you about what you want/need in a job. You want to engage the customer. You don't like test. You don't want to be at the whim of marketing and bosses who've never programmed.
You've already discovered it's not programming you're tired of, and that's valuable to know.
Just to throw out an idea, there's B2B software companies that employ engineers as consultants to work with client companies. You probably wouldn't like doing this for mega-enterprise, but if the client companies are small they will have a human face.
When you're dealing with load issues, ops, reporting, i18n, logging, and concurrency, you realize why the infrastructure is there and why it's a lot of work to push out a new feature.
The fact that you're not excited by it is why they're paying you, and NO, you cannot do it solo, not without a team behind you.
Before you say it's all in the cloud, most EC2 admins have to deal with unexpected outages, and it's not exciting in a good way. Fundamentally, 99% of everything is a glorified CRUD app.
You mentioned you wrote a game. Game programming might be something you like and not every place is a sweatshop, although you have to be discerning.
Embedded/low-level programming is cool too. I used to write router firmware, and I also worked on a sql engine for a time. Neither job had anything to do with "like" buttons or CRUD.
So maybe the issue boils down to equating "programming" with "web app".
That project could have been a blast, but it was put off until the last minute and then rushed and then the signs were hung at the transit station before we had a chance to interact with them and toggle some switches inside so we had to do that on a ladder in the cold oh and by the way my test sign was not exactly like the sign that was actually installed. So as usual, another project ruined by rushed managers who didn't involve me sooner and just started buying stuff and doing things.
Hey. Lay off the COBOL, especially if you haven't actually done it (I don't know if you have).
I've done web dev for the last four years, since graduating. I now learn mainframe development, with COBOL and JCL (and also REXX recently). It's fun. There's a lot more actual, honest-to-god, programming to do in a mainframe job than there is in web development. At least you don't spend your every waking life trying to shake the angle brackets out of your eyes (XML, right?).
Most of my web dev work was in back-endy stuff btw, primarily C# and a little bit of RoR and Java. Which means 60% configuration, 40% actual coding and even then, the actual coding is implementing some framework interface. That sucks the life right out of "programming" (because it really isn't).
Hope things improve mate.
If Zuckerberg can be a billionaire CEO running a huge company at 30, you can make some judgement calls about your job in your mid 20s.
Alternatively, there are plenty of places to work that won't make you feel like a small cog in a giant machine.
Self improvement comes from, improving your situation. No one will do it for you.
Freelancing is hard. It's especially difficult to get into a part time situation. Most clients don't want a consultant, they want an employee they don't have to file HR paperwork for. But if you network enough, you'll get there and it will be fine.
I think, if you can get out of the soul-crushing chasm of despair that is wage employment, you'll find that software development is indeed your calling. You just don't like being treated like a child in that calling.
Actually, you don't even have to quit. Just knowing that you can quit, if you're not happy, changes how you interact with your employer. Don't like what you're doing? Do something else, either there or at a different company.
I think if I KNEW this, I'd have a significantly different perspective on things.
Does this include bonobo monkeys, sharks, dogs, snails etc. ?
'We live in a society...'
No. You(member of homo sapiens species) live on planet Earth with many biological organisms, like bacteria that's on your hands right now. Actually, even that is too specific. You live in 1 galaxy that has 100s of Billions of stars and other clusters of matter in it. That galaxy is just one out of 100s of Billions of galaxies in the whole universe.
'make sure poor people don't get to have anything'
What? Why would some homo sapiens automatically deserve something, just because they happen to be born as one?
'Work is not a moral imperative'
Do you have a method of determining what a moral imperative is? You know, people at CERN have built complex machines to detect certain particles. So, you're saying that work is not a moral imperative. How did you find that out? There are people who think that it is. How are you going to convince them they are wrong? Who is dictating these moral imperatives? Is it God?
Media and software are not examples of post-scarcity economy. They require hardware, which requires infrastructure, which runs on the expenditure of fuel and calories, and is built oftentimes with slave labor. The music needs to be composed, the movies need to be filmed, the games need to be designed. Storage media needs to be replaced. Programmers need to be educated generation after generation, and then everything rewritten in new languages when no one cares about the old ones. Factories need to keep building new models and old models keep filling landfills. The digital world is very much tied to scarcity of resources. Every bit flipped contributes to the inevitable heat death of the universe.
[0] http://www.founding.com/the_declaration_of_i/pageID.2423/def...
[1] https://www.gpo.gov/fdsys/pkg/CDOC-110hdoc50/pdf/CDOC-110hdo...
try going to the police and saying your right to happiness has been thwarted by the company paying your salary... see how far that gets you
Lets say there are two people who want a home, one person builds theirs and the other buys theirs via a loan.
Both are looking for a $200,000 price range. The one who is buying a prebuilt home is going for a 30 year fixed rate mortgage.
* Solar Panels - $1,000
* Building Materials - $10,000
* Land - $2,000
* Well Drilled On Property /w Electric Pump, Filter, and Tank - $10,000
* Backup Power Batteries - $1,000
* Composting Toilet, Sink, Kitchen Appliances (All top of the line) - $20,000 (You can save a LOT of money here by skimping on the stove and fridge)
* Nice HAM radio set - $1000
* Satellite internet hookup - $500
* Zoning, Permits, Safety inspections - $1,000
Total Approximate Cost: $46,500
This is with very heavy rounding upward. Granted, this home will be small, likely no basement, and two stories. But it will be very comfortable living if you build it yourself.
You will be able to maintain everything, no more rent, no more service fees, no more power/water bill.
So, just to give buying a home a better fighting chance, let's make this humble home a super humble home.
* Aerogel-Composed insilation: 40,000
* Super Efficient NAS/Server: 5,000
* Some more battery capacity: 5,000
* High efficiency HVAC system: 30,000
Added Cost: $80,000 Total Approximate Cost: $126,500
Now lets start going to where money can buy, but you just need a lot of patience.
* Why not launch a small satellite in geosynchronous orbit? $100,000
* More HAM equipment for tracking satellites. $5,000
* Underground bunker underneath your home. $60,000
Added Cost: $165,000 Total Approximate Cost: $291,500
Both where able to get into their homes within 2 months, both started out with what was probably going to need some work over time.
The home buyer paid $340,427 in total, along with extra taxes. The home builder got a $291,500 and did some really cool shit if you ask me.
Yes, I am exaggerating a little. But you get my point. You can always make your dreams come true.
Programmers of the world, unite.
What was the point of any of that hard work? Maybe there was no point, maybe he/you made a mistake. From where do you derive entitlement?
If you live in the United States you're entitled to the _pursuit_ of happiness. Go, pursue it, but your career choices and mistakes are your own. No one owes you anything.
I'm owed what I was promised. I was promised "pass these tests, you can get into any grad school or company you want." That didn't happen. I was promised, "finish this project, and you'll get a raise and to run the next one your way." That never happened. I was promised a lot of things, and because I don't have a rich daddy to threaten people with a lawsuit for breaking those promises, I get told it's my fault for expecting anything.
As I said before. Eff. That. Noise. Your rules suck. I choose my own.
But you probably have your own reality? Great, just don't be surprised if you're the only one living in it.
Hell, give me a lobotomy and erase my education from me. In return, absolve me of my student loans. Let me start over and try again. I can't even do that because I'm in so much debt that switching careers is not even feasible. I have to program to pay these loans. I wouldn't survive without a programmers salary, but I don't even want the money. That's the part that kills me.
That's why this is about entitlement now. Because you said it is.
Seriously though. If you don't like the hand you're dealt, you try to change it. How is that unrealistic, or unlike what most people do?
And how is it unreasonable to fervently wish to have it better in life than what you do? Why is it entitled? There's nothing more common-sense, down-to-earth, than that. Otherwise, what the hell are you striving for?
When did I say you shouldn't try to change the hand you're dealt? Absolutely you should! If you don't like the status quo, turn it over! How do you confuse "No one owes you anything" with "you should not try to change anything"?
Hence "reality sucks". I don't see that I misread that.
I agree you didn't say anywhere that you shouldn't try to change the status quo, but to be fair, there's often a lot of confusion between "that's how things are" and "that's how things should be".
I don't have the patience for a lengthy discussion on this now- apologies.
Who exactly "stuck" you in that hole? If you're "at the top of the industry" then FIND SOMEPLACE ELSE if things are terrible.
Your boss is not a cruise director; just getting your paper and showing up is not a guarantee of happiness, any more than getting good grades in HS and then showing up at college was a automatic guarantee of academic success.
Me - I stay with a job (or side project or consulting) if it is fun and I am learning something. Pick and choose accordingly.
From the article -- "I write test automation to test the front-end" -- there were potentially interesting things here maybe some years ago, but he put himself into a position that frequently gets off shored and doesn't have a lot of room for growth/creativity.
Really, all these entitlement 20-something posts are basically the same in general content.
I read the post as simple as the field where he grew up with turned out to be a much different thing in a (industrialized?) setting.
I've found my enjoyment in taking such companies and teaching them how to produce quality code without compromising on speed. I've found my enjoyment in encouraging such companies to take on young coders who i can then teach, and see flower into excellence they could otherwise only reach with years of investment.
And occasionally there is the one or two projects that are just for fun, or really touch many many customers.
Don't give up and blame the world. Look harder. Maybe even change your language. I mainly do Perl, which gets a bit of a bad rap by people who don't use it. But compared to companies doing e.g. Java or PHP i find a marked difference in culture. Maybe you're just stuck with the wrong focus in your skill set?
Or, if you feel brave: Maybe your problem is that you keep getting into the kind of company that wants an employee. Maybe you can change your situation by becoming a freelancer. Keep in mind that as a freelancer, you eventually, if you're good enough, end up in the position where you may fire clients. You also tend to see a lot more projects of much more variety.
I enjoy writing Python. Javascript isn't that thrilling to me. Not super excited by the countless FooJS libraries and Promises and async everything. In Protractor if I want to get the text of an element in the DOM, that's a promise. I mean come on? .getText() should not return a promise. I'm not a Javascript expert, so this will sound whiney-ish, but I think Promise hell is a thing just like Callback hell is.
Perhaps you could aim for something similar. There's employers out there (eg. RedHat) that will happily pay you to hack on open source if you can show that it's in both of your best interests. That way you get to choose what you're working on going in. Even just specialising a bit more might make things more interesting as you'll be hired to work on <thing you actually quite like> instead of some random stack put together by someone who may not have a clue.
Good luck in your search :)
Also, if you want something challenging, but not quite C, maybe give Rust a chance. I hear lots of companies with fun stuff are using it.
Yes, we should be glad to have these high paying jobs doing knowledge work. But there is something thoroughly dissatisfying about writing another meaningless CRUD app that spins the cogs just a little faster. More efficiently? Who knows. Besides, it probably does one of three things: ecommerce, ads, or glorified coupons. What's the point?
Coding isn't the right career for me, either. I do think it's a useful tool, but I think I've got to do something else with my life. I wish you luck figuring what that something else is, as well.
Perhaps not $65k, but not too far off (depending on where you go). If you choose a cheaper school, there can be issues with getting a job or getting the salary you want (as I've heard it said, anyway).
1) No degree required (not mentioned).
2) Stated that you need either a degree or show some code you've created.
3) Stated that a degree is required. Here you could contact them, show them samples of your work, list all of your experiences and offer to do additional tests if you don't have a degree.
4) Stated that a degree is required and they will only hire you if you got a degree.
However, just because I taught myself doesn't mean that it was free. I had a year of lost wages which is about 65K, so all in all it costed about the same amount for me.
And then there's the matter of a debt being an amount agreed upon by all stakeholders, whereas your "lost wages" are just a number you calculate in an arbitrary manner, which may or may not reflect reality. Maybe you did lose $65k by not working. Maybe if you hadn't gone to college you'd have been hit by a car and you'd have lost far more than that. Maybe you'd be unemployed. Who's to say?
Money is not money unless it's in your pocket (or bank account) or in an IOU.
Wow. I didn't realize Hacker News folks were like redditors.
The 65k comes from the fact that I had to pay tuition and living expenses. My family is from a small town. The nearest college was 2 hours away (Indiana University). 15k a year adds up fast.
I honestly didn't NEED the education, I think if I spent 4 years teaching myself I would have been just fine. I just felt that I needed the degree to get my foot in the door anywhere. Maybe I was wrong, but do you dispute that?
This and other of your comments break the HN guidelines. On this site, please comment civilly and substantively or not at all.
https://news.ycombinator.com/newsguidelines.html
https://news.ycombinator.com/newswelcome.html
I'm 26. I'd much rather work on my own stuff than my company stuff. I have this plan after my current job to burn up some of my savings and spend a couple of years to build something I'm excited by. I've been paying off student debt.
I think I'm okay with working a 10.30-6.30 job. The pay-check is what will grant me my freedom. Every week I work, I save 3 weeks of expenses. I've already enough savings to pay off my student debt two times over. After another year I'll have enough savings to live as I do currently for 5 years. (Can double that if I don't take the train every day & eat out during office hours).
The product is important. Does it help someone? Does it make their task easier? Are the bugs in it tolerable? At all three of my big boy jobs, I've been so far removed from the user that I have no clue if the product helped them or not. This hurts and it hurts a lot.
You're writing test automation. Think of your users as your colleagues. You're not saving random people time. You're saving time of people you go out to lunch with. All you have to do is ask "Are my tests saving you time?" And that's something.
If you're passionate about something, there's bound to be a couple of companies that are working in that field. Find one that shares your values and code for them. It can still be frustrating, but you move forward every day because you care about what you're doing.
'Such is the universal law, which no man can ever outwit, and with regard to the railroad even we may say it is as broad as it is long. To make a railroad round the world available to all mankind is equivalent to grading the whole surface of the planet. Men have an indistinct notion that if they keep up this activity of joint stocks and spades long enough all will at length ride somewhere, in next to no time, and for nothing; but though a crowd rushes to the depot, and the conductor shouts "All aboard!" when the smoke is blown away and the vapor condensed, it will be perceived that a few are riding, but the rest are run over- and it will be called, and will be, "A melancholy accident." No doubt they can ride at last who shall have earned their fare, that is, if they survive so long, but they will probably have lost their elasticity and desire to travel by that time. This spending of the best part of one's life earning money in order to enjoy a questionable liberty during the least valuable part of it reminds me of the Englishman who went to India to make a fortune first, in order that he might return to England and live the life of a poet. He should have gone up garret at once. "What!" exclaim a million Irishmen starting up from all the shanties in the land, "is not this railroad which we have built a good thing?" Yes, I answer, comparatively good, that is, you might have done worse; but I wish, as you are brothers of mine, that you could have spent your time better than digging in this dirt.'
Probably my favorite passage from Walden...
> And then I want to get away from coding for you and code for me. I don't like coding for you. I don't think any of us do.
Too many people think of coding as only a career...thus, we shouldn't teach coding to non-comsci-majors because not everyone should be a programmer as a job.
Programming is an intellectual and productive pursuit in it of itself, and there is a huge difference between programming for someone else, and programming for your self and for what you care about. It's no different from writing prose. You could love to write for yourself, or for your own novels and projects...while having a writing job (technical writing, journalism) that you dislike. But it's not the writing itself that's the problem.
Being passionate about software development can help you be a better developer- but it's not a prerequisite by any means.
Also, I think that pursuing happiness in and of itself is quite boring and demonstrates a lack of agency that we have as human beings... We need more than just the feeling of constant pleasure in order to have a fulfilling life. One very basic example: if you were happy all the time, how would you actually know? Being aware of the contrast between various emotional and psychological states provides a lot more fulfillment versus always residing in a single mode of existence.
I have this long-standing argument with a friend, who's also a programmer, because I say the exact same thing you say, that for me writing code is like writing prose. I even edit my code in the same way I used to edit my writing, way back when.
Btw, I don't think that the fact I like to code makes me better at it. Frx, I like music, but I would suck at it and I know lots of people who are in the same position; except that many don't seem to understand it.
I've also seen people do completely stupid things with their code exactly because they like to code. They want to show off their shiny techniques and overengineer something to death, for no good reason.
Actually, I've done that myself now I think about it. Many times. We'll see if I learned not to do it again.
"At all three of my big boy jobs, I've been so far removed from the user that I have no clue if the product helped them or not." Even during the second job at a "small startup with 15 employees, 5 developers, no testers." ? Hard to believe.
"I don't like coding for you. I don't think any of us do. We only do it because you pay us way too much money and we have loans to pay off." Feel free to write whatever you want about your point of view, but leave the rest of us out of your vast generalization.
I wouldn't be so critical of your feelings but you whine about how society didn't let you do what you want to do on your terms. Change your circumstances. No one is just given everything. Its a combination of motivation and luck. And that luck comes from generating opportunities for yourself. So it all up to you.
I hope you get your debt paid off. Move to the cabin, but if you ever want to come back, just remember that society has her dues.
In high school I was hacking on silly personal projects. In college I was solving cool algorithms, puzzles, and games. But in the real world most programming roles are pretty menial / not a super exciting domain / consist largely of process, code reviews, QA, debugging.
Step-father-in-law is a truck driver, makes only slightly less than money than me.
There's always someone doing worse than you do. I'm a programmer now but in a previous life I fed conveyor belts. I did menial jobs most of my life until I migrated and graduated (and, yep, got a student loan to repay). I thought I had it bad, but I once saw a video of a boy diving into a midden with a stick to unclog it. No joke- he dove into a big hole in the ground filled with shit. He had a rope tied round his waist and a stick.
So what do you say to that boy? "Stay where you are because think of all those countless minions who don't even have a stick"?
No, people will always want to do better. We'll always want our every working hour to be productive and fullfilling. And as well we should. We should strive to achieve that.
So, speaking as one of those countless minions, I'm glad that I could escape the Hell of One-Thousand Soul-Crushingly Meaningless Tasks, and I don't wish anyone to use my sojourn there to keep anyone in their place.
Something is wrong that salaries never seem to rise with demand in Silicon Valley. We know there was a secret deal to help suppress wages at one point, but it's not obvious why it's been so successful. Is it new graduates, immigration abuse, internationalization, illegal price fixing?
A programmers union could probably force tech companies to double salaries. They all could afford to pay it.
The issue is, they hit pay-ceiling very quick, unless they go into management position. And really, who wants to be an IT manager? It's probably the second worst job in IT after IT project manager. chuckles
A 30 year old sr. software engineer will be paid not much less than a 40 year old one, even if 40 year old is much more talented, and deserves to get paid twice as much.
I suppose the same issue exists for pharmacists. Out of school, you're expected to make $110k; pretty much the same exact salary as RPh with 20 years of experience.
I really doubt a union would succeed unless you suddenly get a lot of programmers on board very quickly. Tech giants are big and if they chose to fight, they have a ton of cash to do it with.
For example, if cool software engineer goes from $100k to $200k, then his boss, Mgr #1, is going to want like $300k, well, just because she's a boss. And, her director is then going to want $400k because people with power titles should make the most.
(Oh, and, by the way, everyone knows that Mgr #1 is probably the best programmer at the company, but she's 40 now, and her salary got too high, and therefore she would have had to move under R&D director PostDoc. But, he only allows PhDs with the title of 'principal' to work for him. So, now she has to be a mediocre manager.)
1) I hate my job... but! 2) I do it because I need it
Ok. That's fine. Just shut-up if you need the job. No one needs to hear about your woes and whinings if you're conscionable about the contract you're entering in to.
It's downright childish if you don't reject/quit a job if you don't want it.
For fucks sake.
And what's that I hear, about getting a pension in your 40s'? Wasn't that what the Greeks did wrong, that they wanted to get a pension in their 40s, and that's why their economy died?
During that job, I made and shared two side projects for the first time in my life.
But the 9 to 5 hell was impossible to deal with.
Fast forward to now, I'm remotely working with a company that pays me a great salary. I live in South East Asia and that means my savings are fantastic. Bonus is that the company is amazing. Dreamt of joining it since 2012. But I digress.
Here's where I get to the point. Try and find this kind of remote work, and come live around here for a short while (Sri Lanka). Heck. I'd be happy to talk to you about it. Put it in perspective, with a salary of say 80k USD, you'll pay off your student loan in one year guaranteed if you live a little frugally. Hope this helps
Also, this stuff: "I didn't care how my code read, or if it was maintainable, or if it was DRY, or if it was tested, or how long it'd take me to write, or if features were separated into logical chunks"
Right at the beginning is where you lost me, because even when I was in grade school, I still made my code maintainable and separated into logical chunks because I had to read and maintain it whenever I got a chance to get back to it. My side projects are all built with these things in mind.
It is good that you have decided that coding isn't the right career for you, but I wonder what is? I would also be careful of making harsh public criticisms of your employer. It's easy to figure out where you work, and these are the types of concerns that your employer should be able to work with you to address.
Best of luck.
So it really seems like you are giving up a piece of your mind whenever you program for someone else. For an example of what I'm talking about, see XKCD 664.
It is only fair that your are, in theory, not allowed to reuse the code who wrote for them at your next gig. And to be clear, we all do it. If you've implemented it once you can redo it in no time.
I wish there were more programming jobs that were similar to photography -- you get hired to do a shoot, the customer gets a copy, but you keep the copyrights.
https://www.cs.cmu.edu/~chuck/jokepg/joke_19970213_01.txt
By and large, programmers generally make great employees. Many brilliant people are able to knock out their assigned and existential objectives by solving complex problems and are handsomely rewarded with hefty checks. But, if you ask them questions outside their comfort zone about, for example, running a business, designing for the user, or marketing, most would be quick to point out that those aren't responsibilities that fall on their plate.
To me, it sounds like you have a fervor for being more than just an employee. You want to take ownership of your work. You want to use your brain for your own benefit, not for some other corporation to rent out. You want the grittiness of taking on multiple roles and welcome being side by side with your users.
There are many of us out here, coding as self-starters, founders, freelancers, remote workers, and small business owners. It isn't for everyone, and if you are happy or content with your full time job, then it's probably not for you. That's ok.
But for those of us who have found ways to make it work outside of what can feel like the soul-crushing environment of a typical full-time workplace, the devs building on their own, grinding out client work, doing remote year, making products - ask any of them, and you'll find that coding as a employee wasn't right for them, either.
I'd encourage you to read my post on the way I fell into this line of thought, but for me, I was coming from a job that I actually really liked: http://davekiss.com/getting-started-with-passive-income/
You don't need to code as an employee to code as a career. Be honest with yourself; are you an employee, or a founder?
I think you have:
I'm fortunate to have had jobs since I graduated college.
Edit: I mean that it shouldn't be down to luck whether you have a job or not and how productive you can be in the limited time when you can be productive, in your life. It's rotten that not everyone can. We're doing human civilisation wrong, if it's down to luck whether you live a satisfying life doing fullfilling work, or spend your life in slavery.