I sling code for a living. Done COBOL (bleah), VB, ASP, Java, C#, ASP.NET, PHP… and there’s all the supporting stuff – SQL, JavaScript, HTML, UML, XML … The bevy of acronyms can cause your head to swim.
Today’s adventures had me crawling through SQL query execution plans and trace logs, and .NET memory profiles. Two very different application life-threatening bugs, requiring two different investigation approaches, neither of which is encompassed by all of those acronyms above. (Just because I can write SQL doesn’t necessarily mean that I usually care how SQL Server decides to execute that SQL, so long as it returns the right results. Today’s exercise in query locking, however, had me wading.)
Hours later, our project no longer looks like it has the potential to founder on the rocks of architectural weaknesses. We’ve found the bugs (or, at least, in the case of the memory leak, found the big one causing the kaboom) and corrected them with relatively little changes to the code-base. So, our testers will be happy that we didn’t need to do a total rip and replace. We’re happy that the problem is solved (?). And the system will deploy on schedule.
None of the stuff I learned and exercised today will show up neatly on my resume. The skillset recruiters look for doesn’t usually go into that level of detail – they want to see the language acronyms, the systems lifecycle buzzwords, the application domain areas. The person interviewing me may or may not have experience with this stuff themselves. But I’m a better software and systems engineer for the day… and hopefully quicker out the gate next time with an answer to the problem at hand.