So what is my current toolset as a developer? I am not only just going to talk about tools on a toolbelt (like git and slack) but also the utilities or monthly subscription based tools (like google fiber and google cloud platform).

Things aren't stuck in stone and my tools are constantly changing but what is the driving factor behind all of this? I enjoyed math class when what we learned from the previous day built up and needed to be applied in order to learn new things the next day. Such as needing to learn addition as a base in order to learn multiplication. I don't actually enjoy math but rather the process involved in achieving some goal.

When I was a bike racer my muscles were geared more towards time trials (TT), or my favorite: forming a lead out train to get our team sprinter on the podium. If you were to ask me what my current toolset was I would point to my bike and/or the road. Things are quite different as a coder.

I started out with PHP as my first programming language because the software that I was using to run my site (halotracks.org) was programmed in that. I had taken some HTML and CSS classes in high school but I don't think these count as real programming languages.

If I were to start over and choose something other than PHP or tell someone new to coding what programming language to learn first I would say choose the piece of software that interests you the most then figure out what programming language it is writen in and learn that first.

I continued to code in PHP and more specifically around the yiiframework.com because I was interested in building database backed dynamic web apps where I didn't need to know JavaScript. Looking back I wish I was more involved with laravel.com but that wasn't a thing back then. I was soon employed at my first job gritness.com to code Yii.

But it wasn't long before I looked over the fence onto the other side where everything appeared to be all green grass which was JavaScript, angular.io, and node.js. Turns out my next couple of jobs were frontend developer programming in these technologies. React and react-native soon became a thing and prospects of only needed to know JavaScript, HTML, and CSS in order to develop full stack (mobile (react-native), backend (node.js), frontend (next.js), cloud (pulumi), etc) was now a possibility.

That and with the introduction of containers and serverless the question becomes should a website/web app run inside:
  1. container (kubernetes)
  2. serverless (aws lambda, gcf)
  3. static (netlify, s3, IPFS)
Each has its positives and negatives and it usually depends on what your building but typically as a developer I try to lean towards option 3 (static) first, then option 2 (serverless) second, and finally option 1 (containers) last.

/my-current-tools is still in the works!

~Travis Burandt