Pros: - I get paid a lot of money doing what I did as a hobby when I was younger - I come in whenever I want and leave whenever I want - I can work from home whenever I want - My work is intellectually stimulating - My coworkers are smart and interesting - I get to play with dogs at work - If I don't like my job, I can get 5 other offers within a week
Cons: - I still make less than I would have if I pursued law, finance, or medicine - Most interviews are some sort of hostile, cargo-cult nonsense - Those 5 offers would not offer me anything significantly different from each other or my current job - Nearly all of my coworkers care more about playing with the latest technologies and building unnecessary frameworks than actually making things - The best companies/jobs are all in Silicon Valley or SF, whereas I want to live in NYC
I don't really like the "industrialized software development" model most companies follow. Wherever I work, I am 2-5x more productive than the average developer. When I start, I usually am on a team with people who are similarly productive. But, as our success grows, we hire more people who are less productive (against my wishes), and the people I used to work with either leave or get promoted to management, which means I don't get to work with them anymore. I also get promoted to management, which means that I spend less time programming and more time doing things I don't enjoy.
Yes, I get that it's hard to hire exceptional people. I get that companies would rather consist of many easy-to-replace mediocre people than a few hard-to-replace exceptional people. I get that, at a certain size, predictability matters more than speed, and having more people on the team allows their idiosyncrasies to cancel out.
I just wish that I could work on a small team of really smart, really well-compensated people. Does such a thing exist? Should I take Google's job offer (from what I hear, they over-staff every team)? Should I look into hedge funds (not super interested in building stuff I can't use)? Should I say "fuck it" and try to get a job as a quant or trader (I've gotten offers in the past)?