If you're good, don't worry: 12 Reasons

If you're good, don't worry: 12 Reasons

https://t.me/oleg_log

Source: https://discuss.fogcreek.com/joelonsoftware/default.asp?cmd=show&ixPost=15621&ixReplies=8

Mid and upper level developers needn't worry long term. Here's why:


1. The software world is getting bigger. More software is going to be needed. Probably the same proportion of quality will be needed in the future. 80% crap for internal use; the rest needs to be "good". That 20% will continue to grow at roughly the pace of industry growth.


2. Not that many years ago, systems level knowledge was needed to do much of anything. Now, one can make a good living as a developer without knowing what a pointer is. I firmly believe this to be a good thing, but wonder if it means that there will be fewer systems guys "in the pipeline"; just because they don't have to learn that stuff. I still feel these are valuable skills needed for development that don't involve dropping DB fields on a web form.


3. Really, development is getting more complex. 1 tier begat 2 tier begat 3 tier, etc. Hey, I thought DOS development was _easy_. One thread, no messaging, a lot of waitkeys(). I think we're shortchanging the complexity of modern development.


4. Interestingly, "cutting-edge" bandwidth has remained relatively constant. Original ethernet, 1 Mbps, low latentcy. Modems, 56K, high latency. Now, wireless, with low Kbps & unbelievable latentcy. Development is hard when you can't go a "SELECT *" at will from the client. I don't think the "want fries with that" developer will be able to batch up requests, thread long execution paths, etc. You don't need a pHD to do these things, but you need to have attended the school of hard design knocks.


5. Development may involve solving fewer technical problems in the future and more time spent stepping back to say "what are we really trying to do here". A good developer is always doing this. A bad developer just wants to write code. One of the real advantages of experience isn't that it's done right; it's that it's done right without 3 painful iterations.


6. Business integration stuff, which seems to be the next "big thing", even if boring, involves more communication, customer contact, and database modeling. I don't think this gets outsourced to India as easily as people think. By the time you've got the spec, you're most of the way there.


7. I'm walking on eggshells with this one, but I believe there is really only a small percentage of the population that have their brains wired for software development. Even fewer for managing the endeavor. It takes a perfectionist mindset and the ability to drop the expectation that things work the 1st, 2nd, or 100th time you try them. Look, I'll never be an artist and my artist friends will never develop software. I'm jealous of them; they're jealous of me. But we are who we are.


8. The career lifespan of a programmer is often rather short. I think this profession has some room to expand and contract with changing economic needs.


9. Long term, the "we'll save money by hiring incompetant people" attitude often doesn't work. It seemed to work in some modern big-box retail stores, but that's a commodity. I can go into Sears and talk to the immensely knowledable salesperson and walk across to Appliance Depot and buy my washer/dryer set for $20 less. Expensive developers save more money than they cost. The market will realize this eventually. It long since has for salespeople.


10. Technologies are filled with false promises. XML is going to allow seamless integration across all systems on all platforms with minimal developer intervention. Sure. We've been hearing "last call for software developers" for a long time. Java was supposed to make internet development a no-brainer. Has it helped? Yes, but it's still hard. OOP/components were supposed to allow so much code reuse that there just wouldn't be much work anymore.


11. People like working with pleasant people who blend with "the team" and know their stuff. Being a good chap, respecting others, showing humility, and helping out. These are valuable skills that carry an extra price tag. Other than cleaning sewers or doing construction on the 50 floor of an unfinished building, what jobs pay well, but don't require interpersonal skill? Not many. This industry is going to have to get used to that.


12. Other industries that are similar to software development haven't collapsed (building architecture, mechanical engineering, business plan consulting). Why aren't these done in India? Why do these people make good money? These industries have ebb and flow, but they've stood the test of time. Nobody wants Chuck from down the street that took wood shop and built a shed in his back yard to design their new office building. It may work that way in software right now, but that can't last.


In summary, if you're making $80K USD dropping fields from Access onto a VB form, be afraid. You are valuable, but supply and demand may catch up with you. If you know how to build great software consistently, don't be afraid, as supply and demand will catch up with you as well.


The glory days of the programmer are growing dim. The days of the software engineer are just beginning.


Comments?

Bill Carlson 

Monday, September 16, 2002

Report Page