90 Days of GitHub Commits

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?

One thought on “90 Days of GitHub Commits

  1. In the last year we have moved to very Service Oriented Architecture. We have broken up large applications into small services that have restful APIs. We can tie these services together with traditional frameworks like rails or laravel. Sometimes we will consume these services with new JavaScript frameworks like Angular JS and use nodejs to serve them. Angular has shown to be difficult and we have been leaning towards reactjs. We try to avoid jquery as much a possible these days. The difficult thing has been managing all these small services. We have leveraged docker which bridges the gap between dev and ops and makes it fairly simple to deploy and maintian all of our small services.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s