4 ms·
From the book: "If a programmer writes software for a living, he should better be specialized in one or two problem domains outside of software if he does not
by radisb 10y ago
From the book:
"If a programmer writes software for a living, he should better be specialized in one or two problem domains outside of software if he does not want his job taken by domain experts who learn programming in their spare time."
Seems a bizarre sentiment, but after reading this sentence, I feel like I really wanna donate some money to the guy. If he gives a way I will surely do.
- robjan 10y agoI think the entire section 1.1 can be removed as it seems a bit pompous. Other than that, it seems like a reasonable guide.
- radisb 10y agoI can see your point, but the section created a nice "atmosphere" for me and it was not too long. I dont know how to express it clearly.
- shacharz 10y agoCan you explain more what inspired you in this sentence or are you still thinking it's bizarre? And if you do still think it's bizarre why would that convince you to donate?
- karmajunkie 10y agonot OP, but one thing we as developers should recognize is that programming itself is likely to become merely a skill like operating a spreadsheet or typing. In much the same way, writing was once a skill available (or at least, practiced) by a very small subset of people, and the spread of literacy made the job of "scribe" largely irrelevant over time. Children today are learning how to program—perhaps not yet in the numbers we might have imagined, but a growing number. As they grow up, they are not going to pursue jobs as "programmers" or "developers", any more than I would pursue a job in a typing pool. They will merely incorporate this skill into whatever role they end up in. Those best suited to compete in that scenario are going to have deep experience in some area where programming is an applied skill, not an end unto itself.
- XtalJ 10y agoWell, typing is more of a motorical skill than programming. Almost everyone can learn to drive a car (manual gearbox) but the same could not be said for programming where problem solving, logic and intelligence is a must. But with that being said, people from other professions could still learn how to program and do it well. Maybe you think of a programmer as person that is just typing in the program designed by someone else, a developer, in a specific language with a specific syntax?
- karmajunkie 10y agoI think a programmer is someone who writes programs, regardless of the quality of the code. Substitute spreadsheets for typing if you think its more appropriate. Not everyone with domain expertise knows how to use a spreadsheet, and not everyone who uses spreadsheets uses them as well as someone that, for example, writes software for a living (and not all of the latter use it as well as someone who only uses spreadsheets!) But good luck finding someone who's only job is getting hired to code up a spreadsheet. The vast majority of uses are to allow someone with just enough skill to create something that performs a job function in an automated way, which in turn makes another job that much easier. Once upon a time, it would have been a persons job to perform the calculations and updates that a spreadsheet makes trivial. It would be foolish to think that the same will never happen to the vast majority of our jobs.
- XtalJ 10y agoI see that it could be true for many desktop and mobile phone applications but who should develop the operating systems, embedded applications and backends? It is a full time job just to learn all the programming languages, libraries, frameworks, standards, protocols and other related things.
- tuhdo 10y agoWell, the "programmers" in operating system and embedded domains are usually electrical engineers who learned how to write code, just enough to apply their domain knowledge. A programmer in the usual sense, that is someone graduated from pure software school, will have a hard time competing with those people.
- radisb 10y agoI was misunderstood. What I find bizarre is my felling to want to give money for the reason that that phrase resonated with me a lot. The sentence he wrote is not bizarre at all. It is a gem.
- tuhdo 10y agoThank you. I will make a donation button once the book is relatively "stable". About the sentence, sadly, but it is the trend.
- radisb 10y agoI am sorry. English is not my mother tongue so it came off wrong. I didnt think the sentence was bizarre. It just resonated with me so much , maybe because currently I am involved as a programmer in a project where if I had more domain knowledge, my life would be so much better and I would be able to take initiatives a lot more. And I just got a feeling of a need to support your work. I called it bizarre, because at the moment it seemed too sudden. Looking forward to the complete text. Nice work :)
- kaspm 10y agoThe replies to your comment took a turn to whether we will need programmers or we won't need programmers in the future, let me take it in a different direction. I think what he's explaining is that for most (maybe all? no empirical evidence to back this up) programming and computer software in general is a means to solving a problem. Operating Systems solve the problem of needing a foundation in which to develop higher-level tools that enable computing. Whether the higher-level problems are complex astrophysics calculations or hailing a ride, as you travel down the stack, each piece of software is solving some problem domain. Point of this sentence is to say, as you move forward in your career, you (usually?) develop knowledge of an industry, a customer base, a constituency or some other problem domain in which you combine your skill in engineering with your knowledge of the domain. If you don't do this, and you say "I can do anything but I have no special knowledge of any problem" then it's more likely a person with both problem-specific knowledge and engineering knowledge will be given the job. However, there are so many problem domains in the world of computing, it's very easy to pick one or two that interest you personally.
- rwmj 10y agoProgramming is an analytic process, gathering requirements, understanding or creating a process, and translating that into the language that computers understand. Only the last bit is likely to be made simpler for non-programmers in the near future. So "programming" is a skill on its own, rather like "management".