4 ms·
The article basically says, as I'm reading it, that it's good to use the perfect technical solution to a problem. However that is a very short sighted and narro
by marcinzm 7y ago
The article basically says, as I'm reading it, that it's good to use the perfect technical solution to a problem. However that is a very short sighted and narrow look at software engineering. Software engineering is a team effort, a business effort and filled with unknown unknowns.
If you've written everything in X then ensuring that your next project is also in X (even if X isn't perfect for it) has many advantages. Your bus factor is high since your whole team is familiar with the technology. There are fewer unknown issues that you'd hit versus a new approach. You'll be able to re-use already written code so getting things running will be faster. There'll be fewer drawn out arguments and discussions on technology choice at every juncture. There will be more eyes able to properly review the code and choices made.
Hiring and overarching technological decisions are as much about business as technology. I've seen many engineers hired who want to rewrite everything in Y because they're not familiar with X. The business gain of it is negative but they still push for it.
I'm not saying that hiring only X is the best choice all the time but rather that a middle ground based on the specifics of the business is necessary. A flat out decision to never hire explicitly for X is as blind as one to without thought always hire for X.
- convolvatron 7y agothe article isnt suggesting you should hire people who only know a different framework from the one you are using, but that you should hire people who are capable of being productive in all sorts of frameworks.
- WomanCanCode 7y agoHow do you measure that? How do you know that someone will be capable of working in any 300 different frameworks?
- Frost1x 7y agoIf they've used a variety of frameworks and worked on a variety of different projects with varied architectures, it's pretty easy to assume they're not only willing but capable of learning new things. I can pickup pretty much any framework in any language and start utilizing it, but I can assure you it will take me at least a few weeks of learning and using examples/templates to get in the groove of things and a month or so to start really getting into leveraging capabilities. If it's a terribly designed framework, API, or very oddly structured language, it may take a bit more time--or if its leveraged in a massive codebase you need to understand that's poorly documented (were no longer talking about the framework itself though). Of course if you're trying to measure how quick someone can pickup a framework or if they're capable of "hitting the ground running" on arbitrary framework X with arbitrary existing codebase Y with deliverables/output that assume no learning curves while having no desire investimg in long term talent retention, this approach isn't for you. If minimizing time to market is your main goal, this approach isn't for you. If you want to produce something different where time to market can still reasonable but a bit slower, this approach may be for you.
- nobodyandproud 7y agoThis is resume padding and a red flag. The right tool for the right job AND shop, or you end up with a major maintenance nightmare.
- Bartweiss 7y agoExactly - I would have said "how do you measure that" is the fundamental problem with tech hiring. That's an incredibly hard thing to judge by any measure short of "hire them and see".
- nobodyandproud 7y agoIf you know the CS and SE fundamentals, then the frameworks are easy to pick up. Because any developer with a breadth of experience and a solid foundation can instantly see the intended use cases for said toolkits.
- fredgrott 7y agoIts an indirect measure of learning ability rather than directly asking for skills on 300 different frameworks. I say indirect because I do not see any evidence of any firm hiring this way...yes MS has stories of hiring someone based on CS or Math level skills BUT we are at a place in time where in fact due to emphasis on UX and cognitive science where Liberal Arts skills is a more important gauge of learning abilities when facing new frameworks and challenges. IMHO
- wikibob 7y agoA excellent explanation of this principle in long form by Dan McKinley http://boringtechnology.club http://boringtechnology.club