I (don't) code therefore I am (not)

31 Dec 2015 . category: . Comments

I consider myself a programmer first and foremost.   

But I don't write a lot of code.  At least not lately.  Does that make me not a programmer?  Maybe.

The terms DevOps, Systems Integrator, System Administrator, Service Manager and others have been tossed around frequently in recent weeks by recruiters trying to describe what I do.

I disagree.  As microservices architectures becomes more common, doing useful work and creating value has become more about taking services from many diverse sources and "gluing" them together with a minimal amount of code than counting productivity in lines of code.  

<div style="text-align: center;"><h4>Need voice recognition in your app?</h4></div>
<div style="text-align: center;">
</div><ol><li style="text-align: left;">You could write it yourself - if you were insane, had endless time and felt more than a little masochistic.  </li><li style="text-align: left;">You could grab some gigantic library and package it into your application.  And endure the pain and costs of distributing that library alongside your own code.</li><li style="text-align: left;">You could spin up somebody else’s code as a microservice on infrastructure you control.</li><li style="text-align: left;">You could call a third party web service.</li></ol><div style="text-align: center;">
</div><div style="text-align: center;">
</div><div style="text-align: center;">If you choose options 1 or 2, congratulations you are a software developer.  No doubt about it.  Options 3 or 4 might make you something other than a developer.  I’m not sure.  It depends who you ask.</div><div style="text-align: center;">
</div><div style="text-align: center;">Option 3 would involve specifying and provisioning a host to run the service.  That’s what sysadmins do, right?  Or Option 3 might involve packaging the service as a docker image and deploying it as such.  Sounds kind of like DevOps.</div><div style="text-align: center;">
</div><div style="text-align: center;">Substitute the other services your application requires for “voice recognition” above, rinse, repeat.  You now have your application.  Relatively little code required.</div><div style="text-align: center;">
</div><div style="text-align: center;">I am not a microservices zealot.  The above are just design decisions.  Costs and benefits to be weighed for the particular situation.  But I would argue that choosing the path of writing less code does not make one something other than a software developer.</div>

<div class="separator" style="clear: both; text-align: center;">


Geoff Purdy is a husband, father and techie. He lives in the Bull City, where he works in DevOps. In his spare time, Geoff likes functional programming.