Hacker News new | ask | show | jobs
by wizofaus 1464 days ago
I can tell you I'm far less productive as a developer when I have to waste hours figuring out errors to do with AWS cloudformation or various managed service issues, or play/app store certificate expiring or what not. I have the necessary analytical skills to figure out stuff as I need to, but it's far more efficient to let others who are used to dealing with it all the time and seem (perversely) to enjoy what I would admittedly consider the unsexy part of maintaining software and ensuring its availability to customers. I'd even argue it requires (esp. for operating production systems) a different sort of mindset. Sounds ultimately like a debate about where the boundaries of specialisation should be. Some programmers are happy (and very productive) being extraordinarily specialised (knowing only a single language and working only on very particular components), others are used to wearing a very wide variety of hats, that even includes people and project management. I'd probably consider myself somewhere in the middle, but recently I've been painfully aware of spreading myself too thin trying to handle both feature development, CI/CD maintenance and DevOps-related tasks ensuring our cloud-based environments are deployed to and operate smoothly. On top of various other tech-lead/staff-engineer type responsibilities of course.
1 comments

How can you write code if you don't know where and how it would be running? For me it's extremely uncomfortable to know that there are "they" who will do the "unsexy" "dirty" work to make _my_ code run.

> I've been painfully aware of spreading myself too thin trying to handle both feature development, CI/CD maintenance and DevOps-related tasks ensuring our cloud-based environments are deployed to and operate smoothly.

Reduce complexity.

I never said I don't know where and how it would be running - I just don't feel the need to spend time dealing with that layer of things most of the time.

As for reducing complexity, what are you suggesting exactly? Most of the actual complexity I have to deal with is in our codebase to build the core application (which can run almost anywhere), which is independent of any issues with CI/CD and DevOps/cloud deployment. They're not complex, they're just frustrating.