I’ve started a practice of spending a couple of hours each weekend honing and growing my skills as a software developer. This weekend’s lesson was deploying my own ConcourseCI cluster to Google Compute Platform via the Bosh Google CPI.

I’m guessing that everyone knows about Amazon’s cloud computing platform called Amazon Web Services, AWS for short. …

I’ve am spending a lot of time lately programming Haskell outside of work. My goal for learning Haskell is to fully embrace all that functional programming has to offer in it’s purest form. As I am doing this, I am working to set aside my object oriented, imperative brain and learn a whole new way of thinking about solving problems.

As part of the discarding of old habits, I’ve find myself struggling to determine where Test Driven Development (TDD) fits into my new workflow as well as questioning everything I know about TDD. When I program in Ruby, I start every new feature with a test because I crave the security of knowing that I haven’t fat fingered something in the code. When I program in Java, I tend to write the code I wish to see in the world and lean on the compiler/type system to do some of the “testing” for me before I feel the need to write a test. With Haskell, I am still working to figure out how long I can go without writing a test. …

Update 11/28/15, 14:40 MST — Added some thoughts about how the type system helps eliminate runtime errors after a Twitter “conversation” with Evan Czapalicki, designer and developer of Elm.

For the past couple of days, I have been intensely (think 4+ hours/day on over my Thanksgiving holiday) teaching myself a newish programming language called Elm. My goal with this article is to organize my preliminary thoughts around Elm with the hopes that more front end developers will take a look at Elm and think about how they might benefit from using it in production.

According to the Elm website, Elm is “the best of functional programming in your browser”. When I read this claim for the first time, two things stuck out for me: “the best of functional programming” and “in your browser”. Why do these two things stick out for me? …


Mike Gehard

Home of my latest thoughts on software development. If you are looking for code, check out https://github.com/mikegehard.