As part of my 2015 Year of Code plan, I made a small goal to commit code daily for 90 days straight to get back into things and learn as much as I can. My last run at serious software development was in 2008, so it’s been many years since I’ve done it on a regular basis. Now, I feel proficient and productive again.
Here are a few takeaways after writing code for 90 days straight:
- GitHub – Git, and GitHub in the cloud, make version control easy and integrated. Before, we had hosted a version of Subversion in-house and it worked, but wasn’t nearly as seamless. Add in pull requests, code reviews, tight issue tracking with code commits, and things are much better.
- AWS – Amazon Web Services is insanely powerful. Between OpsWorks, RDS, ElastiCache, EC2, and more, AWS completely changes how software is managed and scaled in the cloud. I now understand why AWS is a $5 billion a year business for Amazon.
- Continuous Deployment – Running automated tests and deploying code to production was historically a tedious process. Now, as soon as code is committed, tests automatically run and code is pushed to the appropriate servers, without human intervention.
- Special Purpose Conversion Languages – One major trend that wasn’t around before is writing code in one language to produce code in another language, specifically CoffeeScript for JavaScript, HAML for HTML, and SCSS for CSS. Clearly, smart people weren’t happy with some of the tedious aspects of popular languages and markup formats, so the solution was to write code in a more understandable way to produce other code. I like it and it works well.
- jQuery – Writing JavaScript (through CoffeeScript) and plugging in pre-built components has never been easier. The eco-system and available modules make putting together interactive front-ends enjoyable.
Overall, software engineering has made solid progress. Now, things are more maintainable, distributed, and productive compared to several years ago. I’m a fan of the innovation and can better appreciate how the new tools and systems have decreased the time to market for talented teams.
What else? What are some other new trends in software engineering compared to several years ago?
Leave a reply to paulsellerlabs Cancel reply