Stringing the Pieces Together

Posted 9 years, 42 weeks ago.

Recently I talked about building web services and backends with the other co-hosts of Mobile Couch (…and Rusty… hi Rusty!). We talked about everything from spooling up a VPN and building something in your language of choice, to using a service like Azure or Parse to string together other third-party services into a cohesive platform.

When we discussed backend services on the show, timeframes were a big part of the discussion. Spooling up a server and rolling out a web service does take time, but my argument then, and still is, that you can build a level of expertise, as well as have tools in place so you can do it over and over again. This means that you’re ready when you need to do it, and it becomes easier to manage.

Jake uses pieces built by third-parties. Where I can — and where it make logical sense — I use pieces I’ve built myself, but by no means are either of us inherently right. Like many things in the world of development, there are pros and cons to each approach.

But the important thing here isn’t the solution you ultimately create, it’s the development of the the tools that you have at your disposal. I don’t necessarily mean writing the code, either. I mean improving your understanding, finding tools that work with you, and putting yourself in a position to be better, faster, next time. A chef doesn’t forge his own knife from scratch, but he sure as hell spends time keeping it sharp. And as developers, we need to do the same.

For me, this means that each time I build something with it, I make sure I spend a little time improving my PHP Framework. With this site, I added the ability to find files within a folder that match a regular expression. I don’t know when I’ll use it again, but it’s in my toolbox.

On the other hand, I recently spent time while working on my podcast CMS researching and trying out CDNs to replace AWS (which was proving too expensive for me). I settled on one that I felt suited my needs, learned how it works, and spent some time learning how to set up zones. This is also something I can make use of in the future.

In the end, creating great software isn’t always about being able to write thousands of handcrafted lines of code. Often it’s about being able to string the pieces together, whether they be pieces that you’ve written, or pieces someone else created. The tools I’ve cultivated have made it easier for me to do the things the way that I naturally work. Jake’s toolset is different to mine, but no less effective.

Spending a little time here and there developing tools that work with you — not against you — is ultimately the best investment you can make in the things you create. Invest time in them and you’ll reap the benefits in your future projects.