Hacker News new | ask | show | jobs
by rogueSkib 2471 days ago
Fourth Camp: You are a tinker and a smithy. You build tools for other developers to use.

* Source Code: Your code is clean enough for you. Your top priority is thorough documentation and intuitive API design.

* Execution: Critical around bottle necks, like large batch processing and build times, otherwise it doesn't matter. Iterate and optimize based on feedback from your devs.

* Correctness: The program should function exactly how it's described to function in documentation. If something unexpected happens, the error is clearly and concisely exposed to the developer so that they can understand what they did wrong.

* UI: Usually not a thing, but when it is, your users are developers and they should be able to figure it out ...

Personally, I'm a gamedev, super in Camp 3. I've worked with a lot of folks who could care less about product and polish, but love making their colleagues lives easier. It's pretty similar to Camp 3 in the sense of "making for your users", but the skillset and priorities are very different.

Favorite languages: TypeScript

Hangouts: npm, github, anywhere open source code is distributed

2 comments

I was going to post a comment like this if I couldn't find one! As a DevOps-type engineer who writes mostly internal tooling - I really couldn't relate to any of the 3 camps that the author mentioned, but I can relate to what you wrote. Tooling for developers and opearations / SRE types in general all follow a similar paradigm to what you mentioned.

I'd add to add: Fav languages: Whatever is already installed and easy to deploy and maintain/debug on your target system. For linux systems, this might mean Python, Bash, Go.

Additional Hangouts: Forums about AWS/GCP/Azure tooling, Hashicorp projects, Config Management Software projects (ie, ansible)

> * UI: Usually not a thing, but when it is, your users are developers and they should be able to figure it out ...

There is still an interface that the developers are using, whether it be command-line based, graphical, an API, or something else entirely. And hopefully it is well-designed!