4 ms·
Two very different examples come immediately to my mind. These remind me of the fox and hedgehog kinds of intellectual. The fox knows many clever things, while
by ideonexus 8y ago
Two very different examples come immediately to my mind. These remind me of the fox and hedgehog kinds of intellectual. The fox knows many clever things, while the hedgehog does one thing extremely well.
The first was a 65-year-old DBA I had the honor of working with on Aviation Logistics Systems for the Coast Guard. He was a brilliant architect who re-engineered our database to accommodate any asset and any business rule the organization could throw at us. He had been programming from the days of typing out code on paper and then renting time on IBM mainframes to see it run. He did one thing, database administration, but he was a genius at it. He was a hedgehog.
The second is a 20-something full-stack developer I worked with for six months. He built a laboratory information system that was visually dazzling. It blew customers' minds. I found supporting the code was overwhelming. There were dozens of frameworks at play with layer upon layer of abstraction. Making even small changes to the business model would take me hours to implement. I bowed out of the project, and watched him put in 80-hour work weeks developing it for years. He eventually sold it for a good deal of money, but there was definitely a tax on his health because of it. He was a fox who knew a lot of different solutions and how to patch them together.
Both of these were brilliant developers with very different approaches. I know foxes in their 40s who know how to balance work-life (I consider myself one), but all the 60-plus developers I currently know are hedgehogs with a deep institutional knowledge that makes them invaluable to their organizations. That said, I think we will see foxes in their 60s in the future as full-stack developers age.
- Rooster61 8y ago> There were dozens of frameworks at play with layer upon layer of abstraction. Making even small changes to the business model would take me hours to implement. Does that really make him a good software engineer though? Clearly a smart fellow, but in my experience, code maintainability is absolutely crucial. A system that isn't maintainable, no matter how clever at the time, will quickly become old news if non-genius level engineers (like myself) can't get their head around it.