But what about everyone else? The longer I work in this field and the more I understand about optimization and physical processes, the worse I feel about the work I do and the work of most programmers. Not "but it's just a social app?!" people, but the people in medicine, law, education, small business, hardware, logistics, etc, all pushing business forward bit by bit, automating away the repetitive pieces and making it easier for those in monetarily advantageous positions to capture the flag.
It's hard for me to be too happy when I see ubiquitous animal suffering in a system I'm helping to persist, seemingly towards the end of life on earth altogether. Why do I do it? I need money, and I'm only so strong for now. How can I cooperate when the biggest and greatest are of a world of defectors? Selfishness wins? It's all too easy to conclude, "I can't make a difference, not really", and the probability of making a difference drops to 0, prophesy fulfilled. After all, rent is due, student loan is due.
Count me in as someone who, given the support of basic income, can and will live frugally and give my working self 100% towards ethical objectives, as I understand them. In the meantime, this whole "but we have it so great compared to everyone else!!" just makes me feel even worse, over-burdened. If I can't make a difference with all these advantages, without seemingly herculean efforts, then who?
Amen, brother/sister, amen. Exactly how I feel. Also I see you are empathetic towards animals. I have adopted animal welfare and animal rights as my single biggest ethical objective. After working for about 20 years on writing software for domains like transportation, telecommunications, social media, I have decided enough is enough and am going to work towards doing some work (mostly software-related) in the animal welfare area this year and increase it every year. I am not saying anyone who works in the other fields are bad, since people working on different things is what makes the world work. I just feel that I should separate work that pays the bills (Wb) and work that is meaningful (Wm) to me. And the goal is to minimize Wb and maximize Wm in the 24 hrs available. With basic income, Wb would be zero, so that would be ideal.
Maybe humans should do better because we can, but if I am going to go about stopping other humans from committing horrible treatment, why should I then 'make peace' with how other animals behave? But to make this problem worse, look at how some animals mate. If you were to only allow peaceful instances, the species would be extinct in three generations. But maybe that is the good thing to do, because the duty is to the individual and not the species. Perhaps the humane thing to do with the spider is to not kill it, but to stop reproduction so there are no more spiders killing butterflies.
Morality sure is weird.
And to be clear, I'm just as horrified by our treatment of animals as you are but I've learned to make my peace with it. I'm just hoping that lab-grown meat becomes a viable alternative some day and we don't have to grow animals for food.
Which brings us back to the issue of the spider and the butterfly. Do you just make your peace that the butterfly will be tortured to death, or do you intervene, thus indirectly causing the spider to die a torturous death of starvation?
Although it is undeniable that there is a vast beauty to the living systems on Earth, that doesn't mean there couldn't be something more beautiful and alive... without so much... digestion.
Another thing to consider - if we genetically engineered chickens that couldn't feel pain, would it be unethical to debeak them?
Speaking of which, one simple way to enact change in your own life is to minimize the use of animal products in daily actions - i.e. going vegan. You may have already done this, but the impact of an individual's decision to abstain from consuming any animal products has a huge effect.
1. People have been automating away other people's jobs for millennia. Even though this has been happening, poverty is at an all time low.
2. It's not your responsibility to make a herculean difference.
I can see that the fewer people (the knowledge of this that you're exposed to) there are that try to make a difference the larger your contribution needs to be to even out all the slackers. At least that's how we feel.
If we all (those who care) felt this way we'd all get stuck and not do anything.
The correct reaction (and only plausible) is to "do your part" as if you were one in 7 billion.
The reason why the richest of the rich (think Gates) have campaigns that are public is because they know, even with their wealth, that they cannot make a very large difference with a lot of people changing their habits be that giving or lifestyle.
That's a rather depressing way to look at it. As an engineer, nothing bothers me more than being forced to do a task that can be automated. It's dehumanizing in the same way that working an assembly line or picking fruit in a field is. It's called work for a reason - it's not fun, but it's gotta get done. Every time we automate a dehumanizing aspect of a job, the world collectively benefits.
> It's hard for me to be too happy when I see ubiquitous animal suffering in a system I'm helping to persist, seemingly towards the end of life on earth altogether. Why do I do it? I need money, and I'm only so strong for now. How can I cooperate when the biggest and greatest are of a world of defectors? Selfishness wins? It's all too easy to conclude, "I can't make a difference, not really", and the probability of making a difference drops to 0, prophesy fulfilled. After all, rent is due, student loan is due.
What are you doing to change things?
> Count me in as someone who, given the support of basic income, can and will live frugally and give my working self 100% towards ethical objectives, as I understand them. In the meantime, this whole "but we have it so great compared to everyone else!!" just makes me feel even worse, over-burdened. If I can't make a difference with all these advantages, without seemingly herculean efforts, then who?
Do you really need a basic income implementation for this to work? Can't you simply downsize your expenses to x/10 what they are now, work x/10 as much to pay for them, and do whatever you want for the other (10-x)/10 worth of time?
Or better yet, can't you start a non-profit that actually works on the issues you feel need fixing so you can earn an income while you do work 100% towards ethical objectives?
I don't mean to be rude, but it sounds like you have more excuses than answers.
I am genuinely curious to know as to how this equation can be practically implemented. To be really effective in your non-work time, x would have to be at most 5 or less. There are multiple problems with this:
1. Reducing expenses to half is pretty tough given the biggest expense is rent/mortgage.
2. Reducing work to half is harder since there are not very many companies that are okay with 20 hrs or less a week. This also means you wont get health insurance.
I guess it can be done by moving to a different country with cheaper expenses, job hunting for a while till you find a company that meets your needs, etc, etc. But as a single person or a family in the US, this just doesnt make sense.
That doesn't sound very effective to me
> Reducing expenses to half is pretty tough given the biggest expense is rent/mortgage.
This is simply a matter of finding a location to live where rent is not a big expense. All you need is an internet connection. You don't have to live in the Bay Area to create software and there are plenty of cheap places to live, both in the U.S. and in other countries.
> Reducing work to half is harder since there are not very many companies that are okay with 20 hrs or less a week. This also means you wont get health insurance.
I take it you don't have a lot of experience freelancing, but it's very easy to find as much or little work as you're willing to do - I did it for years. I also find that the best health insurance policy is to take care of yourself. Beyond that, just get the highest deductible plan you possibly can and minimize your health risks (thankfully programming is not very hazardous).
> But as a single person or a family in the US, this just doesnt make sense.
If it doesn't make sense for a single person in the U.S. then who does it make sense for? Ask yourself who you're trying to convince, me, or yourself? Ever notice how much easier it is to come up with reasons why something is impossible than it is to actually try it for yourself?
You've made it pretty clear that it's possible, if you're willing to jump through a bunch of hoops and are a programmer, to begin to have the privilege of an altruistic lifestyle. That is, the kind that will help thousands if not millions of persons to get higher quality of life.
'just move somewhere with low cost of living' - what about family and friends? non-profits are hiring in the middle of nowhere, I guess? what about most housing requiring a year-long contract? what about rural internet connectivity being a complete joke, and most cellular plans are by the GB?
'just take care of yourself and get a low deductible health insurance plan' - what about if you aren't healthy? what about if you have dependents? Where's the good care now that you're living away from cities? You're suggesting we move away from the best that humanity and technology has to offer?
'just cut down your expenses by 10x!' - ...you're joking, right? It's going to be really hard to live on $200/mo in any american city. Cost of living is going up everywhere, unless you're suggesting moving somewhere that's not growing. And wages have been stagnating for decades. See this post by Michael Church - https://www.quora.com/Why-do-software-engineers-make-so-much Only so much can be cut.
'just freelance! I did it, so can you' - times are changing, and that lifestyle simply isn't compatible with your average student coming out of our education systems. Also, freelancing suffers from being a chicken and egg kind of problem.
"If it doesn't make sense for a single person in the U.S. then who does it make sense for?"
Exactly. Hardly anyone. Our society is structured in such a way that it's very hard to be altruistic, compared to being selfish and seeking greater and greater pay through whatever job.
Have a social app idea? Here's $mil!! Uber for Z? $mil!! Oh it didn't work out? Ok, what else, what else...
Have a altruistic app idea that will improve the quality of life in a way that's hard to measure? Er haven't you heard? Not even schools can get funding. Teacher pay is frozen indefinitely.
Why does it take someone to be independently wealthy first, or live a lifestyle very much unlike the rest of the population, to be an effective altruistic in our society?
What about everyone else? The question was, 'how happy are you working as a programmer?", and I answered, "not particularly, because I'm in a favorable position to see how hard it is for everyone else, and how much harder it seems it's going to get as automation continues to consume existing business processes".
Can you really say with a straight face that more than a very lucky small minority of the 7.3+ billion people can realistically pursue a lifestyle of altruism? Many of them can't even work for money, but can only think on how to survive to the next day, the next week. You don't even have to go to a third world country to find it. How happy are those people, and what is your advice for them?
Honestly, I think the best thing we can do is to continue to try to innovate and automate. Global poverty has been dropping consistently for decades and that rate doesn't appear to be changing. I credit this to globalization, advances in technology, and relative peace throughout the globe because of strategic alliances and military stalemates.
The best thing we can do as engineers is continue to add real value to the world by automating as much as we can. Robots work for free, and despite what people love to parrot, efficiencies are enjoyed by everyone, not just the 1%.
In other words, simply contributing value to society through your work is altruistic. As opposed to those who don't work at all and contribute nothing, for whom I have very little sympathy or patience.
>minimize your health risks (thankfully programming is not very hazardous
health risks from being seated and sedentary all day are quite extreme.
Unless you meant they should join a gym and increase their expenses, thus increasing the amount of work they need to do to pay their bills.
So we've got:
any current debt (student loans, car loans, mortgage, personal loans, etc),
any savings contributions for retirement.
So yeah, just cut all those expenses by 10x, have a job that allows you to work less than 20 hours/ week from anywhere, and have a altruistic goal that can also be met remotely without interacting with anyone ever.
Oh and also, be a programmer - remember that an altruistic life is reserved for very specific niches of society, altruism should never be the goal of the huddled masses.
On what planet is a gym membership required to maintain a healthy lifestyle? How's this for an option: instead of owning/maintaining a car and paying for car insurance, ride a bike to work. Now you've killed two birds with one stone.
> internet connection
How about instead of paying for an internet connection you go to a library or hang out at a coffeeshop when you need to use it. Or go in with a neighbor to get it cheaper.
> any current debt (student loans, car loans, mortgage, personal loans, etc)
Sell the car, sell the house, and as far as the student loans go, consolidate them and pay the minimum for as long as you need to.
> So yeah, just cut all those expenses by 10x, have a job that allows you to work less than 20 hours/ week from anywhere, and have a altruistic goal that can also be met remotely without interacting with anyone ever.
Most people's expenses can be cut by about that much if they just give up the luxury of owning and operating a car and move to a region/neighborhood that has much cheaper rent (or take roommates gasp!). I have to image if your very survival depended on a 10x decrease in your expenses you'd be clever enough to make it happen.
> Oh and also, be a programmer - remember that an altruistic life is reserved for very specific niches of society, altruism should never be the goal of the huddled masses.
I don't remember me or anyone else ever saying that in this thread.
LOL, in a rural location that you suggested to lower rent? Work is likely to be at least a 20 minute commute by car, more than 15 miles each way for sure. ( the US average commute time is 25.4 minutes) Also, biking to and from work would reduce the time you are able to spend on your altruism even further.
>How about instead of paying for an internet connection you go to a library or hang out at a coffeeshop when you need to use it. Or go in with a neighbor to get it cheaper.
Because no one is going to hire a remote freelancer without an internet connection? are you even serious? this is laughable.
>sell the house
right cutting your expenses is much easier when youre not paying rent, youre right just be homeless! then you can help all the animals you want!
>as far as the student loans go, consolidate them and pay the minimum for as long as you need to.
right, still left with a student loan payment at the end of that, so this doesnt offer any solutions at all.
> luxury of owning and operating a car and move to a region/neighborhood that has much cheaper rent (or take roommates gasp!)
So where do you have in mind? you must have something really specific in mind because i cant think of a single area with very low cost of living and very high bikeable/walkable streets - please enlighten us as to the perfect place to live.
>I don't remember me or anyone else ever saying that in this thread.
right, but youre giving advice that says "you dont need basic income to be altruistic, you can just work remotely and live somewhere cheap, then work less and use your free time to be altruistic"
Wherein the 'working remotely' applies only to a very niche set of jobs (which all universally require an internet connection and specific set of skills)
Sorry man, your hypothetical solution is plainly not realistic.
In order to help save the lives of animals thats what this person should do?
Move to a low cost of living area
Work at most half as much as you do now (and have a job that is somehow OK with that)
sell your car
sell your house
consolidate all loans
get a remote freelance job
get rid of your internet connection and only use the library
cut all your costs by 10x
bike to work
oh right, also:
dont have a spouse
dont have children
work in a remote-friendly industry
desire to perform remote-friendly altruistic work
dont save for retirement
dont get sick
dont get injured
but yeah man, this sounds totally doable for anyone who wants to support a cause, this sounds like the type of society anyone would want to live in; way worse than providing people with a basic income enabling the entire country to pursue their altruism
I said its completely unreasonable.
Do you honestly think thats reasonable? For someone to be altruistic they /should/ have to make all those decisions and sacrifices?
If you do, i'd love to hear why you think it should be impossible for a secretary, or a janitor, or an accountant to be altruistic and to work towards altruistic goals. Or for that matter someone living in New york or san francisco. Should those cities be devoid of altruism because they are more expensive?
I don't think you've earnestly considered the implications of your suggestion and that was the point of my responding at all. "helping animals is easy! just quit your job and move across the country" echos exactly the ops sentiments that it takess a herculean effort to effect any change in todays economy. You disputed that by laying out a specific herculean effort and tried to brush it off as a simple life decision.
Not only do I think it's completely reasonable, I have done it myself and know others who have done it as well. Come to Minnesota, there's plenty of work, both remote and contract, and your cost of living can be very low depending on where you live. We also have great mass transit, are the most bike friendly city in the country, have the lowest unemployment rate in the country, and the best parks system in the country as well.
> If you do, i'd love to hear why you think it should be impossible for a secretary, or a janitor, or an accountant to be altruistic and to work towards altruistic goals.
Why can't these people work toward these goals in their spare time? Why does it have to be an all-or-nothing proposition? And if it does, why can't you start a non-profit where you can pay yourself a living wage and take donations from others who don't have the time to help but have the money to help. And why not just cut your expenses today, keep your high paying job, and donate your additional money to causes you believe in?
People can be altruistic without being rich or privileged. To suggest otherwise is completely offensive and short-sided. And being rich and privileged doesn't automatically equate to someone being more effective altruists. In fact, it's often the opposite case because their experiences are too isolated and foreign to be relatable to the causes they support (see charity-as-tourism).
But what it comes down to is you not wanting it to be hard to do something. And I'm not saying it isn't hard, because it is. But most things worth doing are hard, and complaining about them doesn't do anybody any good. Instead of complaining and creating long lists on internet forums of all the reasons why something is too hard to do you go and actually test your assumptions.
I don't mean to sound harsh but I can't help but respond to such negativity with anything other than exasperation. I can't motivate you, but I hope you find somebody or something that can because it sounds like you want to make a real difference in this world.
In summary, I am not as opposed to your equation after this reply from you, but I still maintain its hard to do. As a challenge, I am going to see if I can accomplish it. Thanks for the kick in the back! :)
I think as an industry we get a bit obsessed about wanting rockstar programmers who want to do nothing but make software. I enjoy my work, I'm grateful for it and I want to get better at it, but there are also lots of other things I want to do, so personally I'm not going to spend all my free time programming and I think that's ok.
I absolutely agree and I learned that the hard way. I guess what I meant was my regret is that it's simply not healthy to program during every waking moment, even though I often wish I could. It's a nice problem to have and certainly better than hating your profession.
Uh, I'm not so sure about this. Programmers tend to have a bad habit of severely overestimating their own intelligence. This is one of the things I dislike about the profession: Everybody is so self-assured of their own brilliance.
At the end of the day, and perhaps this is in itself a very egocentric world view, I'd be hard pressed to find any work that if I were doing it _as work_ I'd be happy doing. I chose programming because I have a knack for it, have focused my time on it to build skills, and as you say, it's lucrative. But every second of the day (and the implied unpaid overtime that seems prevalent in our industry) there's a little thread in the back of my head going "there's so much to see/do in the world, and already so little time." I want to make music, learn to paint, visit countries I've never heard of, but as long as supporting a family, covering healthcare/retirement savings/housing costs etc are all in the picture, even with as lucrative a career as we have obtaining those ends is a long process that you will likely emit some blood and tears for.
So am I Happy as a programmer? Probably more-so than I'd be in many other fields, and certainly grateful for what I have. Am I Happy in an absolute sense? No, I wouldn't say that; and no amount of comparative logic, despite recognizing the ego-centrism, is going to help me reconcile that internally. I'll do my work best I can, not whinge too much, (pushing for a better system in the interim where appropriate for the selfish sake of my own "happiness"), but the moment I get "out" will be one of the truly happiest days of my life. (I could see myself eating those words, and I'll certainly own up to it if that's so, but I don't see that as likely from where I'm currently standing)
I absolutely agree with your post. This is what I feel when someone asks me "how's work". Any time someone talks to me about wanting to switch careers, I recommend tech for those very reasons -- there are few other high-earning career/profession that can compare.
To really appreciate our situation one could try to take a month off, and try to live with a limited budget after paying off all the monthly fixed costs. If you have to decide between buying a fancy gadget or food, I think it will be easier to emphasize with people who have to work hard just to provide for their families.
I'm happy working as a programmer because I don't have to do repetitive work like for example selling something. Sure, it's not always as exciting as working on a green field project because there is enough legacy code to maintain but overall I like my work.
I opened this comment section just to write that line. When your hobby becomes your job, you never work a day in your life.
Plus, some of them were like me in that being told or required to do something, even if I would have done it anyway, instantly lowers the enjoyment of that activity a bit.
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.
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.
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.
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.
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.
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.
There are so many interesting product ideas yet 'me-too' CRUD app recreations of previously successful incumbents products are highly desired. This is particularly true in the startup ecosystems where kids talk about 'interesting' problems and finding 'purpose' and yet are blindly following the mantras and motivational speeches of trite capitalists.
I currently work as a freelancer/contractor in London and I am happy as I make enough money to finance my own intellectual and creative interests for months on end. I hope I'll soon meet other intellectually curious people doing the same thing, and hope we'll be able to join forces to teach ourselves things or perhaps even work on small projects together.
Of course I feel extremely lucky to be in this position which has nothing to do with wanting a slower pace and everything to do with wanting to exert my whole self. And I can't say whether it will be good for me or bad for me; I'm certainly learning a lot about myself and the practicalities of doing this.
I would bet that most people feel this way. Maybe we should consider alternatives to wage labor that better meet the needs of people instead of the needs of the capitalists...
I am a particularly privileged individual because I have a choice of what labor I can do, and even how much to an extent. Most people don't have the choice of just switching careers because they feel like it, and even fewer have the option of even realizing that there is some sort of activity that would be more fulfilling than what they do to survive.
I believe the reality check needs to occur in the people who are too used to their own comfort that they can't even lift their blinders to look outside their own social environments and see the injustice that is happening on a massive scale in the world.
This is poisonous thinking. Programming is one of the most accessible industries on the planet that doesn't involve physical labor. If somebody has the desire, they can learn how to program and land a job for FREE.
People seem to be squarely divided into two groups in this world: those who believe life happens to them, and those who believe that they make life happen.
Not when you spend 8+ hours doing a demanding but low-paying job (like most are) and then have to come home (+1-2h) to take care of the spouse/children/parents. And even without the latter obligations, there's only so much one can do after being exhausted doing the day; life is not just about working, and many (most?) people can't psychologically sustain doing only work for longer periods of time.
I will say, I support opening opportunities to learn. Not everyone has a computer - help foster an environment that gets people access to one.
You cannot force someone to have the willpower to work on this, the _best_ you can do is offer opportunities.
Issues like this are, like it or not, best viewed globally, not locally. If you raise the bar until, say, 20% of people can't handle it anymore, then you can go and preach about willpower all day long, but it won't change the fact that every fifth person simply won't have it, and it's not really their fault.
This sort of neutral, put-things-back-on-topic reply is a great example for all of us. You made it look easy!
On the one hand, yes, you can get the education to become a programmer for free.
On the other hand, programming requires a semi-decent computer, which can set someone back a few hundred dollars.
And of course it's time vs money: sure, you can spend a lot of time and zero money to become a great programmer, or you can spend a bit of money and much less time to become a great programmer.
Some people can't afford that money to save the time.
Those people that you all mentioned are the working class. They are the people who are obligated to trade their time in labor for wages which are used (usually 100%) to pay for their own needs such as food, housing, and savings for retirement, which will also be spend of food and housing, just later in life.
I think your point is that people who make money off their labour/time (as opposed to their assets/employees) are not capitalists.
Generally your point stands though.
I'm mostly able to find clients that either 1) want full-time employees or 2) are working on 'me-too' CRUDs (sometimes both).
Nothing is perfect and I've no idea whether this particular idiosyncrasy would suit other people - I'm still undecided whether it's for me.
I've been consulting with various clients for the last 4 years. I make a few multiples more than I need to survive, and do not work more than 50% of the working days per year.
This is relatively easy to achieve:
- I have no debt outside of a couple school loans, which I prioritize paying down to zero. Everything else is either living expenses, or discretionary spending.
- I ensure my clients pay for everything they need—hosting, Github, any and all services. This is an easy sell, as it keeps everything firmly in their control and they can replace me at any time.
- I charge by the day, not the hour. My clients have never complained, and they seem to find it easier to think and budget in per-day terms.
Let's be honest. Freelancers are not there to find "interesting clients". They are a temporary resource that enables a client to get a job done they under-resourced.
You have a choice as a freelancer
1) Become money focused. Earn as much as you can for as long as you can.
2) Become idea focused. Earn as much as you can until you have enough to bootstrap the idea. Rinse and repeat.
3) Become money focused but use your income to get the idea fleshed out using upwork.com
If you can get a few of you together it will be a better experience. Working at a co-location hub can be worth it.
That former is much easier. The latter pays better but requires a whole bunch of other skills, and takes much more time. The two aren't mutually exclusive however, and that is what I've done as part of my strategy.
There is a monthly find a freelancer thread on here where you might be able to find a gig. Work on building your portfolio/reputation. I'd suggest small projects at reduced rates.
Next, I'd visit a lawyer and get a template contract worked out. Rather than have him write one from scratch, find one that includes a lot of the things you want and have him tweak it. It will be cheaper that way. Most important (IMO) are indemnification, terms of payment, and arbitration.
Get used to promoting yourself. Have your short and long "elevator pitch" together. Put together a landing page and get some business cards. Talk.To.Everyone! You never know where and when your next client will come from.
One of the issues you will run into is the feast or famine issue. You never know when you will get your next client, you have to always be on the lookout and courting -- overloading the queue because a percentage will drop out. If you don't find the next soon enough, then famine. If, as it happens often, several prospects say yes, then you feast. By feast I mean work a lot of hours and save up so you can weather the next famine.
What are your skills? Do you have a portfolio? How about an up-to-date linked-in profile?
Use that as a time to learn time management, invoicing and billing, taxes, etc, while you build up a network. This is basically freelance apprenticeship.
Do that for maybe a year and then start doing your own thing.
If you're serious about it then incorporating becomes a good idea to protect your assets.
I would suggest starting with family and friends at reduced rates to build a portfolio.
(sorry for the blogspam, I'd repost it here but it's long and I'm too lazy to paraphrase right now)
This will take some time but you’ll eventually get a stream of the type of client that can support the lifestyle you want and want to work and refer you continuously.
Yeah it sucks when your manager puts heavy deadlines on your team, or having to do things you don't necessarily agree with, or navigating corporate politics, but at the end of the day it's the best. I don't come home physically exhausted, I don't make shit money, and if I ever end up in a job I don't enjoy, I am able to find a new one fairly easily.
I think it's easy for programmers to hate life sometimes. Most people who are good at this line of work started doing it because they enjoyed it before it was making them money, that's how it was for me. Sometimes I miss haphazardly stringing code together to make something fun, but at the end of the day being a programmer has made me feel fulfilled.
It has its downsides of course: getting a TS security clearance can be stressful, but that goes away afterwards; not being able to tell your SO what you do other than high-level stuff; career advancement and progression can be a long process and you basically know where your salary is going to go when you first start (because it is standardized); and so on.
So if you're the actual do-the-work peon instead of someone in any of the several tiers of useless middlemen, you work regular 8 hour days, get 10 or 11 paid holidays, and when you get home you are simply done with work until the morning of the next workday. It does not matter much if you do your job well or do it poorly, because there are so many other people working on it that you will never get recognition for a job done well, nor will you get any blame for doing it poorly, so long as it does what it says on the box.
The deadlines also vary by contract, but as every layer of middlemen adds its own padding, it wouldn't be remarkable to have two years to develop yet-another-CRUD-app with zero scalability, compatibility, or interoperability requirements.
No one doing the actual work is a direct government employee, because the uniform pay schedules are completely incompatible with industry norms. The government employees are simply there to make sure the contractors do what is required.
The net result is that you can get all your work done in just 2 hours and look busy for 6, or amble through it at a sloth's pace, gold-plating everything, achieving 100% test coverage, using ordinary software as a teaching lab for industry best practices, and such.
There are plenty of downsides, of course. The work is never glamorous, and you never really have much say in what you do or how you do it. You have zero job security, as you could be out of work if the wind changes direction in Washington, DC. The codebase will always be complete garbage when you are first introduced to it. The unimaginative and slow environment is not stimulating, so you absolutely must have a hobby or side-project that can engage you mentally outside of work.
These are the same downsides you see in the private sector.
Have yet to encounter a contracting environment where is is true. In fact, I was explicitly told that since I was salaried I was expected to put in whatever work it took to make deadlines, despite only putting 40 hours down on my timecard. Considering the facility I worked in had a DCAA office embedded in it I find it hard to believe the government did not know this was going on.
In reality, whistleblowers always get screwed. You would have to extensively cover your own ass, and gather evidence that absolves you, specifically, of wrongdoing first.
If you are reporting time worked as anything other than the actual number that you were working, that is illegal. So alternately, start reporting the actual hours worked. If your employer makes an issue of it, tell them that you will need a signed, written copy of any order they give you that instructs you to violate the law.
If you get fired, you can retaliate by getting someone sent to jail.
Furthermore, our government customer didn't care as long as they got their deliveries on time and as cheaply as possible. I know in theory a program office can't lean on DCAA, but in practice (especially considering the clearance situation) I don't know if the PO would obstruct such an investigation. After all, from their POV getting what they want for less is not fraud.
The DoD inspector general hotline is (800) 424-9098 or http://www.dodig.mil/hotline/hotlinecomplaint.html .
The GAO fraudnet hotline is (800) 424-5454 or https://www.gao.gov/cgi-bin/fraudnet.cgi .
It's possible we're in different countries, though :-).
Some companies observe different holidays, such as by adding Christmas Eve and the day after Thanksgiving, and removing Columbus Day.
There is no such thing as public holidays in the US. Some days are bank holidays. Some days are school holidays. Some days are federal holidays. But there is no law that requires any employer to give all of its nonessential employees paid time off on any particular day. The only sort-of-exception is that an employer can't prevent someone from voting on Election Day, but that does not have to be paid leave.
Wal-Mart, for instance, has only 5 paid holidays: Easter, Memorial Day, Independence Day, Thanksgiving, Christmas. (Note that Easter is always on a Sunday, a time when many people already have a day off from work.) And if you get holiday bonus pay for working on those days, your hours are rumored to be cut afterward to compensate.
Some companies are also generous enough to allow 80 additional hours of paid time off every year, to be used as either sick leave or vacation days.
When he leaves work at 5pm he actually can't access his work email. Nobody can send him anything from work on an unsecured line.
When he leaves work at 5pm on a Friday, nobody can contact him about work related things until he is on site at 8am on Monday morning.
He's a senior level unix admin. That can't ever be paged. I'd say that's pretty okay.
A bit of a simplification maybe, but as a lumberjack there are N+2 moving parts you need to care about, the saw, the tree and N coworkers in the proximity (N < 10) (if there's a moose and I catch it with my falling tree, it doesn't count as an accident, it counts as a bonus). With software there are thousands of moving parts and you can be pretty sure that no matter the amount of testing and code-reviewing, the parts will move in new unexpected ways once they reach the customers. Besides as a lumberjack when you leave work you leave work. You only have to worry about not killing someone during your working hours.
TLDR; its the passion for creation which drives any job.As a programmer having things setup in hours or weeks and then seeing your product being used by a percentage of the 3 billion people who use the www.It brings a hell load of satisfaction in me.
Most gardeners, plumbers, construction workers etc. are NOT artisans. They are just normal people trying to get by as best as they can with the means that they have. They often have lower level of education etc. etc. This is the real world. Not to mention that most programmers don't actually like programming... it's just the myth perpetuated on these (and other alike) boards. These are 90% of programmers that aren't on HN etc. They just don't care. They don't love programming at all - it's just their job.
This passion for creation is great - but it's simply too idealistic. Most people hate their damn jobs and hate it mostly because of how exhausting it is to make not very much money.
I worked at Lowes in college hauling lumber and I miss it dearly (rose colored goggles and all). I was in the best shape of my life, I didn't think about work (lumber?) at home. It was a simpler life.
That sort of work can really wreck your body as you get older.
Ive toyed with the idea of buying a little house in south europe, cut my expenses, work IT part-time/remot and have some land to grow stuff on.
this is exactly my point
Do you know people who do that kind of work? I spent three years working with a decent sampling of them. Sure, some feel that it's drudge work and that they're stuck doing it for lack of options. They get through their day doing the minimum necessary - you can find those types in our field as well. But a lot do take real pride in what they do, and in doing it well.
Of course many if not most would take an office job for more money if they opportunity were there - but that doesn't mean none of them derive pleasure and satisfaction form the work they're doing.
What fantasy world is everyone living in that they love their jobs and derive pleasure from it? What 1%'s of gardeners are we talking about here? I assure you 99% of them would rather not be gardening.
It's very likely if you are doing a physically laborious job you are making very little money, struggling to feed your family, give your kids the spoils they want, your wife is mad that you can't take her on vacation etc. etc.
Granted, it isn't that physically demanding. The biggest amount of labour I find is repairing/modifying equipment, and that comes with interesting problem solving challenges, which my programmer mindset tends to enjoy.
Still, I can see why gardening would be seen as appealing.
> your wife is mad that you can't take her on vacation
Why would anyone get mad about that? My wife is a grown adult, she can pay for her own vacation. Farming is my vacation.
All I can say is that you are incredibly lucky if this is a true statement.
of course physical labor does not pay as much, as long as the pool of workers is significantly larger. Doesn't mean that some folks would choose another career path if other fields would pay as much as software engineering does.
You say narrow - I say broad. For most people the 'job' they do is just a thing that brings money in. They have no feelings towards it - it's just a thing they do. They are more concerned with their family, their relationships in general, how they are going to support their kids, how are they going to pay their damn bills etc. etc.
Under this condition I find it hilarious for someone to justify -- sitting from their computer screen with an IDE open on the other monitor no doubt -- the fantasy happiness that can be had from doing a lower paying and physically more challenging job. I don't know gardening, but I do know construction, intimately, and imagine that gardening as a profession is not too entirely different. Most people who do these jobs are not doing it for some fantasy happiness. They are doing it out of necessity.
This is almost entirely due to a severe lack of perspective.
Yes, they would no doubt prefer their high-paying job over a minimum wage job. But that doesn't mean that they no longer have any right to be unhappy with their lives. This is exactly the point of the hedonic treadmill. There are happy people with rough jobs and unhappy people with great jobs.
The hedonic treadmill, also known as hedonic adaptation, is the observed tendency of humans to quickly return to a relatively stable level of happiness despite major positive or negative events or life changes.
Glass half full vs glass half empty. The hedonic treadmill has nothing to do with it. It's about being thankful and making the best of things. That's the antidote.
However you look at it being a programmer in today's society has the potential to give you an amount of choice and wealth enjoyed by very few other industries. You can make your own luck by simply being motivated enough to learn, and the initial outlay to create a massively profitable business is tiny compared to many other fields. So make the best of it. You could work for 3 months a year and do what you love for the other 9.
Are you really telling me you can't make that work? It is about perspective.
I'm saying that having a job like this doesn't mean you ought to be happy, anymore than being rich means you ought to be happy, as is well known.
However there are a few topics I consider essential... operating systems, algorithm runtime/performance, data structures, basic software engineering/design patterns, memory management (seriously, everyone should have a course in C or C++) and functional programming (like Haskell).
Even hacking away at a PHP or Node server, there are times when a bit of knowledge of Big-O runtimes can save you from creating a script that never finishes.
If you can afford it, I'd recommend pursuing a formal route. It exposes you to a lot of ideas and ways of thinking that are hard to get in practice. After having programmed for around 4 years now, I often wish I'd studied CS.
In lieu of that, I think Udacity's nanodegrees programs are probably a good way to end up in a paid position relatively soon.
(I'm assuming you're looking to break into web programming. I can't speak for other areas.)
A lot of devs even at a mid or higher level have little curiosity for the theory side of things, and eventually you'll run into problems that require knowledge of it, so being enthusiastic (and a bit self-starting) in that area pays dividends in my experience even if you're not the most experienced dev going for a job.
The only caveat is that both were/are small companies, so no HR apparatus to go through.
Have some idea what you're doing. Talking the talk is great, but you must be able to walk the walk. Apply to everything that sound like you can/want to do it, even if you don't technically meet the requirements. Those are mostly for HR pre-filtering since HR doesn't really know what they're talking about in 99% of cases - they're just looking for keyword hits.
When applying without a CS background how tough are the technical interviews? Do they tend to expect more or are they more lenient and look more at fit and ability to grow?
It's very rare, in my experience, to be asked a pure CS question in the interview. For some positions you may be silently expected to have some degree of familiarity with CS concepts, for other - especially entry-level - positions you don't need CS knowledge at all.
Being able to produce working and good looking code is all most companies want from fresh employees, I think. It's unfortunately still hard to find people with that skill, but if you have it you can learn everything else.
In short: apply everywhere, go to interviews and don't be afraid. You'll be pleasantly surprised (I hope).
So, from my perspective, if he would have known the tools, basic concepts, and had taught himself more, he would have been a hire. Otherwise, he just wasn't self starting, and really wasn't eager to learn, or he would have come with more ability.
He's also a vastly different person than I am, writing code is not a passion of his, while it is of mine. I'd be writing code whether or not it was my job, while he'd rather be doing other things.
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.
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.
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.
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).
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.
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.
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).
Very well said.
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.
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.
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.
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
This reads like a sales pitch for the lottery, and as a random developer, your odds are pretty similar.
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.
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.
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?
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.
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.
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.
Does working with your brain leave you susceptible to long-term injury or disability?
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.
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.
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.
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.
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.
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.
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 possible to prevent them from leaving the workforce (and certainly not enough to permit capital accumulation by the laborers themselves). Moreover, those with capital are additionally motivated to protect this arrangement that they might continue to profit off those who sell themselves to subsist and exist, so that those with capital do not have to work.
> 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)?
You're somewhat confusing categories and their relations here. Surplus labor is that labor which is demanded of and performed by a worker that exceeds the labor necessary to pay for her wage. In the majority of cases, surplus labor is unpaid. It is a necessary condition of increasing capital through profits, which is most simply the extraction and control of the surplus value created by workers in excess of their labor cost. The capitalist appropriates this surplus value when the products of workers' labor is sold. Marx goes further to argue that capital accumulation is the condition that drives production--when production ceases to be profitable for the capitalist, capital will eventually be diverted elsewhere, withdrawn from the unprofitable enterprise, etc. There are, of course, absolute and relative surplus values, but suffice to say that capital accumulation is the driving force of the capitalists. Private property is that legal protection that is based on a history of convincing people that objects were only useful and valuable if they could simultaneously possess them use them for themselves. It has nothing direct to do with surplus labor, but is instead used to establish and defend the private ownership of the capitalist means of production, and thus the claims to surplus value and capital accumulation. If you cannot understand how this accurately reflects the workings of capital and capitalism, I'm simply not sure how we can get you past your ideological lens.
Marx does not argue that "almost all property is acquired via theft and coercion of the labor class". At least, not in such a crudely simplistic way as that. Profits are acquired via alienation and exploitation of the labor class. In earnest material modes of existence, property didn't exist until those who were more powerful began staking and defending claims on the products of others' labor--so that they themselves would not have to labor. This has continued a circuitous and tortuous route through human history until our present age in which we've codified these practices into centuries of legal trappings that convince everyone it is good and right, and entirely fair and above-board. Or so Marx might loosely argue.
The notion of class interest is no more a conspiracy theory than the capitalist narrative that labor and capital work hand-in-hand to create a better tomorrow. Class interest is trivially easy to spot and demonstrate--both in Marx's time and our own (and far back before both, as well). Look at pg's now-infamous essay on income inequality from the start of the year, and his vociferous critics. Class interest on display in both. The capitalist 'class' is inherently motivated to protect their interests and see them expanded. This is not some insane idea that requires tin foil hats, or the ravings of a lunatic. Marx doesn't exactly argue that the capitalists are inherently conspiring against the workers. Just that they are guilty of accumulating capital from surplus value that is the product of surplus labor for which the workers have not been compensated, and the capitalist does not own.
> Karl Marx did not understand that Capital allows production but doing division of 'labor'(used here to mean 'tasks').
This is how I know you have no serious understanding of Marx and his work. Marx has most certainly written of, categorized, and fit division of labor into dialectical materialism and his explications of capital and its place in human society. Exhaustively.
> 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.
The wages are not provided by a person who specializes in saving. They are provided by the capital accumulated from the surplus value appropriated from the workers' own surplus labor, for which they are not compensated, Marx would say. Wages come from the revenues of the business. If there are no revenues, there are no wages.
You seem to be making a number of simple mistakes here that are perhaps related to misapplication of your understanding of working in tech/startups to the role of capital. It's a pretty easy set of mistakes to make, but it seriously would require a lot of discussion to even try to completely straighten all of this out. Marx is almost universally misunderstood. Even among those who understand him better than most as a result of spending years studying his vast body of work, there is still disagreement on how to properly understand him. It's the nature of such a prolific beast.
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.
> 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
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 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?
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.
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.
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:
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.
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.
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.
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.