Earlier quoted context omitted.
> Programmers have to remember a vast amount of domain knowledge. Consider the basic task of choosing where you are going to store some data, well first you need to know which options exist and there's dozens of them (do you want Postgres, SQLite, Redis, LevelDB, ..?). Then you need to know the strengths and weaknesses of each. And I hope you have been keeping your knowledge up-to-date because the answer in 2018 is v…
I don't think the problem with programming is that it is complex or has wast domain knowledge, it is true, but this is not a unique problem. I think the biggest barrier in programming is just how abstract and alien it is, cognitive load can be enormous. Try to teach engineer about materials or steel liquation or semiconductors - it might be abstract or complex but at least it is dealing with real life physical proces…
Is developer compensation becoming bimodal?
521–530 of 584 posts
Re: Is developer compensation becoming bimodal?
#522Earlier quoted context omitted.
I think there are two interesting correlaries: 1) programming seems to be one of the only "hard" professions that pays well (compared to math researchers, hard science researchers, or even things like some social work -- that's really hard in entirely different ways). Of course I'm probably missing some hard stuff that pays well 2) programming seems to be the "hardest" of the high paying jobs mentioned. Once you get…
I guess the grass is always greener. I'm a lawyer who lurks here occasionally. Most legal jobs involve 60+ hours of work, being on call 24/7, and there is pretty much no legal equivalent of a 10Xer because almost all work is billed by the hour. There is no way to make a contract that's 10x as valuable as your competitor's, and certainly no legal equivalent of scaling to the degree of Google or Facebook. Law is incred…
Re: Is developer compensation becoming bimodal?
#523Earlier quoted context omitted.
> There are "law schools" and "med schools" to teach you all the knowledge required to become a lawyer or a doctor. Programmer now, gained a law degree in a previous life. Know lots of folks who studied medicine. The idea that med school or law school teach you "all the knowledge required to become a lawyer or a doctor" is laughable and a truly absurd statement. The sheer size of the problem domains these subjects co…
Yeah if we're talking about barrier to entry, I can't think of one much greater than the LSAT.
Re: Is developer compensation becoming bimodal?
#524Earlier quoted context omitted.
The point is that millions of people made sacrifices for themselves and their families which cumulatively created the greatest civilization in history. Why should we feel guilty about reaping the benefits of those sacrifices? Why should we feel obligated to hand over our prosperity to those who contributed nothing to it?
Don't feel guilty, but realize that you're not entitled to what you have - you got lucky being born to parents who worked so hard etc. Continue to work as hard as they did and appreciate their work.
I would argue everyone is privileged to some degree. Hell, being born in a first world country makes you way more privileged than most of the world.
And yes, there is luck involved, but hard work plays a massive role in outcomes. To ignore that is folly.
Re: Is developer compensation becoming bimodal?
#525Earlier quoted context omitted.
> Programmers have to remember a vast amount of domain knowledge. Consider the basic task of choosing where you are going to store some data, well first you need to know which options exist and there's dozens of them (do you want Postgres, SQLite, Redis, LevelDB, ..?). Then you need to know the strengths and weaknesses of each. And I hope you have been keeping your knowledge up-to-date because the answer in 2018 is v…
> I'm pretty sure 90% of us would just look for a Stack Exchange question When you're starting from scratch, I think the bigger barrier isn't "where do I store this data", it's "what the hell is data"? Try to explain to a computer illiterate person that the latest Mariah Carey CD is just a really big number and you'll get a glimpse of this. The person who knows they can jump on Stack Exchange is already past the wors…
And other times. I've been working in software for almost two decades. I ran into a particular data problem that I could describe but didn't know the name of (a la wizard of earthsea). So I couldn't search to see how others had tackled this.
Google and blogs and YouTube and stackoverflow have pushed the boundaries of knowledge. You don't need to know exactly how to do something (for many kinds of tasks) but you do need to know what it is called, and how to adapt what you find on the net to your situation.
Re: Is developer compensation becoming bimodal?
#526One (semi-pedantic) quibble with the article: there absolutely are barriers to entry for programming. Programming is hard! These barriers may not be artificial, but they are real. To use a non-software example, there are barriers to entry to chip manufacturers and power companies even under anarchy. Fabs are tremendously hard to build. Power plants are extremely hard to build. Building up knowledge and skills about c…
"I once had a top-tier business school grad friend claim that programming really isn't that hard and that we're all whiners." It truly is amazing how people outside of a field always seem to have the best idea of how long something in that field takes to do.
Re: Is developer compensation becoming bimodal?
#527The reasons underlying the bi-modality are pretty clear to me. There are a couple of major factors at play: 1) Inflation. My starting salary out of college many years ago was $35K. Today's starting salaries are double that. Double in less than 20 years. A $50K salary in the early 1980s is equivalent to $120K today, not controlling for geographic location--HCOL areas are actually far worse than that. Let that sink in…
Re: Is developer compensation becoming bimodal?
#528Earlier quoted context omitted.
Perhaps he means in relation to other careers? As someone who is both a software developer and a farmer, software isn't exactly easy, but in comparison to the knowledge and skill required to farm successfully, it is a breeze.
This is quite interesting - I'm actually quite curious about what makes farming more intellectually challenging and difficult than programming, especially from somebody who does both. (Honest curiosity!)
A big one is simply the breadth of the subject matter. To me it feels like learning to program, forgetting everything, and repeating several more times. You have to know about plants, chemicals, machinery, computer technology, business, just to name a few. I don't think you need to be a expert in any of those things, but it seems to me like the most successful farmers approach being that.
Every year is different. If you've built one CRUD app, every CRUD app is going to come with a similar set of problems. If you've grown one field of corn, who knows what next year will bring? I've been farming for more than a decade now and I still encounter situations that I've never seen before. Luckily, which makes it much less of a challenge, but might be interesting being that I'm the sixth generation to work my family's farm, I can ask family for advice and you get the "Well, back in '72 it was like this and we did that." Still, there is lots of problem solving to do. In that respect, it is a lot like programming.
What is not not like programming is an answer for everything on the internet. I truly miss that. While programming, if I have any kind of mental block, a few minutes on Google will turn me right around. On the farm, family is an amazing resource, and there are plenty of academic and other professionals available to be contacted, but it's not the same. Programmers are incredibly fortunate!
I'll just throw in that farming constantly makes me feel dumb. Still, after a decade at it. Not very quantitate, I know, but it's a feeling I have never experienced in the same way as a programmer. I'm sure I could go on, but I have to move on to other engagements. I hope you found this interesting.
Re: Is developer compensation becoming bimodal?
#529Earlier quoted context omitted.
I don’t see the equivalence. Yes, the skill you listed take some time to acquire. But few master them to a professional level, yet still use them regularly in their jobs. I think programming is on the same trajectory. We might not even recognize many of the tools as “programming” (they might look more like spreadsheets). But I think general up take of programming skill will increase.
> Yes, the skill you listed take some time to acquire. But few master them to a professional level So you're contending that few people can fluently read or write their own native language?
Similarly I’m suggesting software engineering will be part of many people’s professional work, but will be the sole professional work of few.
Re: Is developer compensation becoming bimodal?
#530One (semi-pedantic) quibble with the article: there absolutely are barriers to entry for programming. Programming is hard! These barriers may not be artificial, but they are real. To use a non-software example, there are barriers to entry to chip manufacturers and power companies even under anarchy. Fabs are tremendously hard to build. Power plants are extremely hard to build. Building up knowledge and skills about c…
Maybe intelligence isn't the right word (after all how smart is it really to sit in front of a computer all day shuffling bits around?), a certain way of thinking or aptitude might be better. Education doesn't overcome this, training only partially overcomes this, experience doesn't necessarily overcome this. I bet most of us in the field have come across individuals with high levels of training, perhaps even very "intelligent" individuals who simply fail to fit concepts together in a useful way. Who get the pieces, who can answer quiz questions, who know facts and trivia, but simply cannot bring it all together into a useful, coherent, maintainable whole in a reasonable time frame. And I don't see this barrier being broken.
Anything that can be taught by rote memorization can be automated. Anything that requires higher levels of abstract thinking may never be automated.