Hacker News new | ask | show | jobs
by ryandrake 1384 days ago
I've worked in a place without eng managers, product managers, scrum masters, various MBA people, you know... all those employees that a certain segment of HN thinks are useless. It was just Sales and Software Engineering, and the CEO, to whom everyone reported. It was the worst job I've ever had.

Developers just developing, without interference from evil managers and clueless PMs! Amazing! The ideal work environment for the genius bootstrappy engineer! Sounds like heaven, right? It was not. It was total chaos.

1. Nobody knew what they should be doing and what were priorities. Someone from sales would run downstairs and say "I just sold Foo to a giant customer! You need to build Foo now!!" and everyone would go off and start building Foo. Then the CEO would fly in and ask "Why are you not building Bar? I'm personally interested in Bar, please show some results! Oh, and any product changes need to be personally approved by me now. Byeeeeee (gets on his plane again)". So developers kept developing but had no idea what to develop.

2. Joel Test[1] was 0 out of 12. Since it was just developers developing, nobody had time to write a spec, or set up source control, or design a build/release process. Those were icky tasks that stupid PMs and managers did. Developers want to develop. So the software engineering process was a clown show. Releases to customers were always late, and when they happened they were built directly from an engineer's workstation (they would just find a tree that actually built without errors, and that was the release).

3. If the software failed in the field for a customer, and this happened constantly, there were no useless support staff to talk with that customer, do basic tier 1 and 2 support, diagnose, and so on. Customers simply got angry, and since it was just developers developing, they had nobody to call and rage at, so they'd call the CEO. Then CEO mad. CEO would make a developer fly out to the customer's site with a laptop and debugger to pacify the customer. Now, that particular developer wasn't developing and was sad.

4. Things like career growth, mentorship, training, learning new best practices, none of that existed. It was just developers developing, so there really was no knowledge transfer or any distinction between junior, senior, staff, and so on. Nobody's job was to set these things up, so it never happened. There were no levels so no concept of promotion. If you wanted a raise, you'd go to the CEO who would just say no. That was basically your career development.

So yea, go find a place without managers and MBAs and let me know how it goes.

1: https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-s...

3 comments

> 2. Joel Test[1] was 0 out of 12.

Sorry, but then you and your colleges were not senior enough to handle an environment like this. This is not a question of missing management, but also missing (technical) leadership.

While I do not know if it would have solved all your problems, you can make this environment better, without adding a management layer in between.

I can't speak for everyone, but I would not argue against PMs or Senior Leadership.

There are two critical differentiators in the role of an EM: power over those managed, and the bias toward management over productive output. The people who predominately fill those roles are those who are good at management, not those who are good at production (and, by the way, the "good EMs" which DO exist are generally people with a history as an IC, and treat the role more as a PM).

> nobody had time to [...] set up source control

Now wait, how do developers develop without source control?

As an individual contributor, I consider a number of things in that paragraph good practice. Specs, say. But source control? That's just so fundamentally basic that I lack vocabulary to express how essentially important I consider it to be. How does a team get anything done without one?