Building software has always been a hassle. Over the years, the effort it takes to create a reliable build system has decreased drastically. Tools like Travis CI dramatically reduce the time and effort it takes to go from nothing to a functioning continuous integration pipeline. I’ve tried a few CI tools like Travis, AppVeyor, and TeamCity. One CI application I had not tried, was Visual Studio Team Services — better known as VSTS.
Recently at work I have been tasked with helping our organization transition from our traditional on-premises infrastructure to Azure. To do that, I’ve been learning how to automate our infrastructure by using HashiCorp’s Terraform. Terraform was introduced to me by a few members of our infrastructure team and I’ve found it quite fun to work with. As I’ve been working on what direction we’d like to head, I’ve focused on new apps using Platform as a Service, specifically Azure Web Apps.
I’ve never paid much attention to podcasts. Up until a few months ago I was commuting to work by train and used that time to either read books, or play games. All of that has been great and I’ve enjoyed the time I have had to read, relax, or learn something new. Recently, I’ve had to begin commuting to work which completely threw the routine I had developed. Since I can’t really read or play games commuting, I had to find another alternative.
Most of my posts are going to be something technology related but I do happen to have other interests. For a while now, I’ve had a Sony a6000 that I’ve been very happy with. I’m very much an amateur at photography but I find it fun and I like the images I get of my family more than the ones I can get from my iPhone. So I’ve been slowly trying to level up my photography skills.
Choosing a new programming language to learn is difficult. What do I want to focus on? Do I want to learn something low level like C? Do I want to go all out functional and learn Haskell? What about Go? Everyone seems to be glowing about that language. Elixir? I hear Rubyists are really digging on that language, and it is built on top of Erlang! So many choices! As you’ve probably guessed from the title, I ended up picking the Rust programming language as the language I’d like to focus on and learn about.
Agile. Such a broad topic with so much to discuss and so much already discussed. It really is one of those topics you can go on about forever. So how am I going to put my spin on things? Well, I’m not I’m just going to talk about what I’ve learned so far in over a year of really trying to do agile the right way and hopefully I’ll have learned something as well as you, the reader.
Testing. We all know that we should do it, and yet often times we find ourselves struggling to stay consistent in testing our code. I know that I personally find it difficult sometimes to really stick to and test my code, and guess what happens when you don’t test your code. It comes back to haunt you. I was discussing this with my coworker Ryan about this very problem, and it got me thinking I should write it down.
I’m in a bit of a retrospective mood so this post is going to be focusing on the things I’ve learned so far in software development. And no, mostly not specific code things I’ve learned. There will be other posts for that. I’ve been out of school and in the world of software development for five years now. Over this time I’ve had the opportunity to have many great, and many not so great experiences that I’d like to reflect on and share.