Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

It depends on company culture, and there's as many of those as there are kinds of people. I've worked at large, medium, and small companies, in many industries, and there's no common pattern. The people in charge set the tone, and the people are all different.

If there's a pattern in the people, it's that more people in charge are less capable of doing the job, because they've grown up in a culture of ignorance. The past 10 years has been dominated by "StackOverflow Engineers" promoted to management, and people who read HN clickbait blog posts and believe it's good advice (it's not). They never had the time, training, or mentorship to learn from decades of experience. And Dunning-Kruger keeps them confident that they don't need to change.

However, on this point:

"the overall engineering autonomy has decreased over the years as the culture of tech has (in my opinion) shifted away from tech focus to more business, management, product focus with engineers just as the widgets who are tasked with fulfilling the goals of business, management, product"

That's exactly what engineers are supposed to do: listen to and enable the business. A mechanical engineer does not dictate the shape of the car. The designer tells the mechanical engineer what the car will look like. It's up to the engineer to make it work. However, it's also up to the engineer to tell the business that you can't fit a 600hp engine in a Mazda Miata without seriously affecting handling. It's supposed to be a two-way street. Good management/leadership knows this and enables it.



> That's exactly what engineers are supposed to do: listen to and enable the business.

This may be the case if you're a junior engineer just crunching through individual tickets, but with the lower end of software engineering being automated away where even more junior engineers have to take more product/feature ownership, I don't think "churning widgets" is the right way to think about our job anymore.


And this is why the lack of training/mentorship is having a negative effect: somebody needs to be protecting and guiding the junior engineers. They don't know they're supposed to push back and say "I'm not the person who's supposed to decide how your product works, I'm just supposed to build it". They don't know that they need to interrogate the business and get them to commit to details. They probably don't know how to have the conversation and ask those questions.

That's what mid-level and seniors have always been for, to provide that knowledge on the job. But mid-levels and seniors are increasingly the equivalent of juniors with bigger paychecks, because they didn't have someone to show them. We need apprenticeship. In the trades, an apprentice will train for years with a master tradesman who teaches what you need to qualify for the title of journeyman. We need apprenticeship in software development, and real Professional Engineer qualifications. It helps the end-user, the business, and the engineers.


There's room for all sorts. While I've met engineers happy just building the widget with all details specified up front, my career has been taking incomplete specs and deciding how the product works to create holistic designs.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: