Hacker News new | ask | show | jobs
by mentos 3120 days ago
Steve Job's view on management shares similarities to what you have described and I think from my experience I agree with this outlook

https://www.youtube.com/watch?v=rQKis2Cfpeo

"The greatest people are self managing, they don't need to be managed. Once they know what to do they will figure out how to do it. What they need is a common vision, and that's what leadership is. Leadership is having a vision, being able to articulate that, so the people around you can understand it, getting a consensus on a common vision."

"We were in stage where we went out and thought, Oh! We are going to be a big company, so let's hire professional management. We went and hired a bunch of professional management but it didn't work out all well. Most of them were bozos, they knew how to manage but they didn't how to do anything!"

"If you are a great person, why would you want to work with someone you can't learn anything from? You know what's interesting? You know who the best managers are? They are the great individual contributors who never ever want to be a manager but decide they have to be a manager because no one else is gonna do a job as good as them"

1 comments

Well that's the big secret that's mostly secret because nobody wants to know it:

Programmers/developers are only effective if either the developer himself or enough people in the team have sufficiently deep domain knowledge.

That means you can only write accounting software if you are an accountant, in addition to a developer. You can replace "accounting" with anything else you want.

Software developers don't want to hear this because it means that being a developer is near useless : it allows them to express themselves in code but ... they have nothing to express.

Accountants don't want to hear this because it means no generic software developer (or firm) can deliver on the software they want.

The real bad news for software devs is this : you'll do a lot better as a bad developer with expert domain knowledge than vice versa. This is why Excel sheets and VBA macros can run for decades when great and easily maintained software cannot : the knowledge they were written with is what makes the difference.

Of course both situations are what you constantly see in the real world. Software developers just making software that doesn't support the function it was written for, and really, really badly written pieces of crap software that work amazingly well.

>That means you can only write accounting software if you are an accountant, in addition to a developer. You can replace "accounting" with anything else you want.

That's overstated. You don't have to be a full-blown accountant; you just have to have enough accounting knowledge to do your job. I worked at a funds company for a few years and I didn't know anything about the business when they hired me. But the amount of domain knowledge I had to learn to be effective in my little area wasn't that difficult to pick up.

>The real bad news for software devs is this : you'll do a lot better as a bad developer with expert domain knowledge than vice versa.

Nobody is going to thank you for producing software that would have been great if only it worked the way you intended.

> That's overstated. You don't have to be a full-blown accountant

Nope, ideally, you should be better than your average "full-blown" accountant.

> Nobody is going to thank you for producing software that would have been great if only it worked the way you intended.

Look there are minimum levels of competency for a lot of things before you can do anything. In similar fashion, you also need to be able to walk, or at least get around, have some modicum of how to run a business (even if you're just a TL), ... and so on and so forth.

This says that the most successful people in the the business-software space are people who have domain knowledge and software skills, and write software in their domain. And those people do quite well, dominating their various industries (Lexis-Nexis for law, for example)