After a long stretch of stagnation, the developer field is starting to open up -- in a number of interesting, groundbreaking ways.
Ever since I was a kid, being a programmer looked fun and exciting. But in the last decade, the novelty of the Internet has worn off, and it seems like we've just been spinning our wheels. With an increasingly uninteresting workload and stagnation in pay, a lot of folks have either left for other pastures or have thought about it. Well, in the last year or two, things have really changed. Here are 10 reasons why now is a great time to be a developer.
HTML5 has completely turned the world of development on its head. For years, we were locked into a limited set of applications, not because we couldn't make magic happen, but because there were so many issues with getting our solutions to market. When the Web arrived, it unlocked a lot of new avenues, but its limitations were such that the really exciting things were still saddled with the native desktop application model. HTML5 takes off many of those shackles, and we are about to experience a boom time for new ideas.
2: Agile methodology
When I first encountered Agile methods, it was from the vantage point of seeing some really shoddy practices being called "Agile" out of laziness. And while I think there is still a use for more Waterfall-like techniques, Agile should be the default choice for teams going forward. With Agile, we're given a lot more freedom to do what we love -- deliver innovative, customer-satisfying solutions -- whereas in the past, we were stuck guessing what users wanted and usually ended up developing what their managers or our managers assumed they wanted.
3: The move to SaaS
Why do I love the software-as-a-service (SaaS) model as a developer? Because for the first time ever, developers can monetize their products in a fashion that is fair to both sides of the transaction. Sure, developers always could just charge for development, which was fair enough. But if you are trying to make "shrink wrap apps," the previous models are all awful. They usually lead to customers being force-fed upgrades or support they don't want in order to keep a vendor in business or to having vendors charge too much so they can provide "free" support and upgrades. Thanks to SaaS, the shrink wrap model is profitable in a fashion that benefits everyone.
4: Low startup costs
Seriously, could it get any cheaper to start your own company now? I read press releases of companies getting off the ground with only a million dollars, where in the past it would be $10 million or more to get going. What's changed? Various platform-as-a-service (PaaS) and infrastructure-as-a-service (IaaS) vendors let you go from "project done on my weekends" to "deployed and ready for business" in literally minutes. You can have a flexible billing schedule that allows you to cover the costs out of pocket easily and have your costs scale with your money flow. Meanwhile, platforms like Ruby on Rails have emerged to make it easy to get off the ground without all of the monetary and technical overhead associated with developing in more traditional systems.
5: Mobile technology
Thanks to the explosion in the mobile markets, there are hundreds of millions of potential software customers who never existed before. Their bank accounts are directly tied to the software discovery system, and they are accustomed to paying (albeit, not very much) for software. And the mobile revolution has enabled all sorts of amazing new apps and games that really just could not exist before. Best of all, mobile applications and devices serve users in way that offers far more satisfaction than traditional desktop computing.
6: Job market of today
Talk about a seller's market. Are there soft spots in the job market? Absolutely. I'd hate to be an entry-level programmer with no real-world job experience and no special skills competing against the overseas talent who can deliver more skills for less money. And yes, some intermediate developers are getting a squeeze as well. But you know what? The demand for talent overall is at a level that is nowhere near being met, and it will only get harder to find the right folks. And the pay scales are reflecting the lack of supply. While it can be tough to get your footing, once you have established a record of good work and a valuable, up-to-date skill set, it is pretty easy to stay employed at a fantastic pay rate.
7: Job market of the future
Until someone comes up with a reliable way of having applications write themselves, the job market will only improve for developers so long as they are willing to put in some effort with skills improvement. The graduation rates for development-related majors are not ramping up to even come close to meeting the demand. If you have a foothold in the industry today, and do not let your skills deteriorate or go out of date, the job market should treat you very well over the course of your career, and certainly much better than most jobs.
8: Computing penetration
Those mobile devices have done something amazing: They've allowed entire segments of the world's population to have access to computing when before there was none. Not only does this create potential new users and customers, but it allows our work to have a positive influence on the world like never before. Some of the mobile applications I have seen do truly amazing things, like allowing farmers in Africa to determine whether there is a demand for crops before starting a long trek to market, or enabling doctors in poor parts of Asia to communicate with each other to share lifesaving information. Being able to be part of something more impactful than merely making a living is a great feeling!
9: The rise of "personal computing" devices
When the idea of a "personal computer" came about, most folks treated it as "my personal computer" in contrast to "the company's computer" or "the shared mainframe." Now, "personal computer" is becoming much more similar to what visionaries like Dr. Alan Kay imagined in the 60s, 70s, and 80s, a system that individuals can customize on the fly to meet their needs easily. Is this a reality yet? No. But for the first time in a long time, it looks like the industry is actually starting to move in that direction, and it can't come soon enough. I look forward to being part of the revolution that allows people to leverage their computing devices to accomplish their goals, instead of the devices depending upon users to do what they need to do for the applications to meet their own goals.
10: The increasingly prominent role of developers
As things continue to shift and change in the IT industry, our networking and systems administration brethren are seeing their jobs become more routine and less exciting. Meanwhile, programmers are the fulcrum that the IT lever pivots on. Without us, companies are forced to accept solutions out-of-the-box and attempt to make their business processes match the solutions. Entire industries are experiencing unprecedented paradigm shifts, thanks to the recent innovations in software. Up until a few years ago, it was hard to make software that did more than replace filing cabinets and calculators. Now we're making software do things that have never been done before, and the world depends on us to make it happen.
Do the reasons cited here make the developer field seem more enticing and full of opportunity than in previous years? What other aspects of current tech trends make this a good time to pursue a career in development?