This is of course much more expensive than picking up any contractor, who might be brilliant at programming, but lacks the domain knowledge that only grows over time, but it is a good way of having more eyes spotting potential spec issues.
This is of course much more expensive than picking up any contractor, who might be brilliant at programming, but lacks the domain knowledge that only grows over time, but it is a good way of having more eyes spotting potential spec issues.
I am a software engineer now, but my major was mechanical engineering, I can barely remember any of my coursework, but I understand how physics work in general, and a small bonus on how to disect a system. Nobody can know everything in today's world and that's why common engineering/sense training is so important IMO.
Where are those managers?
This misunderstanding arises out of necessity to compensate for the lack of understanding of the value of nontechnical roles.
It's heartbreaking for BAs, POs, PMs, and every other flavor of functionary when they realize that, after some* years of experience, the programmers understand the business just as well as they do. And the programmers have countless other invaluable skills that the functionary could never understand if he studied for a hundred years.
*This length of time is variable. Depending on the business domain, it could be anywhere between 1 and 10 years.
Shouldn’t be. Very few engineers want to move to BA/PM/PO or management track.
Engineers who understand those roles exist and should be given the reins. Call them whatever but an engineer with domain knowledge is what you need for just about everything.
We’ve had quite a bit of success moving to a product model for internal services. One thing I’ve observed though is that teams lacking strong PM/PO support tend to start looking inward to develop their roadmap rather than outward.
This ends up building little silos in which they are doing something and it’s generally executed well but when you explore their plans it can be hard to see how it connects to the larger view.
Why heartbreaking? That should make it easier for everybody to do their job, and to do it better.
I don't push back on the premise that there are some incredibly dumb non-engineers. But of all the people I've had to work with, engineers were among the best and the worst. The latter has to do with their dysfunctional level of focus and utter lack of creativity - not just in an artistic way, but also in terms of general imagination.
Here's a very common scenario:
- non-engineer: let's improve this by 10%.
- engineer: that will cost 40%.
- non-engineer: I get that. But our current 90% is not competitive.
- engineer: but it doesn't make sense to invest 40% to get 10%.
That's what separates great engineers from the high-IQ/low-EQ ones: they have taste, imagination, and common sense. Incidentally, the latter group tends to have less self-awareness than the former, and tends to think they are the only non-idiots in the world.
And you make damn sure that if either of you has questions or see something funny, you figure it out before you ship.
You'd hope you could communicate or document or something like that but exceptions are endless.
So are the computers that have to actually implement the solution. So that seems like at least as much a blessing as a curse.
It takes time and investment for other engineers to get to know you and feel comfortable explaining their thought process, including parts of the design they are afraid need extra testing.
You can't outsource the essential give and take of a correctly functioning cross-domain team.
I have yet to meet one of those unicorns.
He would have to leave the company every so often because of company rules (or labor law?) about how long the company could employee a contractor. Eventually he'd get hired back in, as a contractor.