3 ms·
This is a pretty handy guide to technical skill levels but I've found (over my 30+ year career) that these skills only comprise about 15% of being a successful
by smoyer 12y ago
This is a pretty handy guide to technical skill levels but I've found (over my 30+ year career) that these skills only comprise about 15% of being a successful software engineer (lower case).
Software engineering is all about communications: There communicating your desires to the computer which I'd estimate at the above mentioned 15%. And the rest which is communicating amongst a large enough team to create something useful (and many problems are bigger than a single person can solve). There's communicating with your future self - I easily forget my previous code by about six months out. There's also communicating with another future maintainer, which is somewhat harder than communicating with the future you.
Start-ups tend to disregard many of the skills (and related costs) of the remaining 85% because failing to successfully get to market and become profitable is deadly on it's own. But the successful start-up will eventually have to transition to a more maintenance/continuity/reliability focused organization and there are plenty of pitfalls during that transition. (Note that I realize there are wide variations in how that transition can occur).
At some point, any communications that was put off becomes technical debt ... and like the old commercial says - "You can pay me now or you can pay me later". Either way, developers that only know the technical skills on this competency matrix will either have a lot to learn or be out of work.