One of the finest “buzz words” I learned about in my career was the concept of code pride. A lot of people have their own definition of what this is, and it goes under other names as well: Clean Code, Solid Code, Software Craftsmanship. Of course, whatever you call it, virtues like this are hard to pin down. Beauty, as they say, is in the eye of the beholder. So I’ll give you my definition.
For me, code pride shows itself in code that is well tested at a unit test level, well documented at the module, class and function level, and has clear and succinct instructions for what it does and how to use it. It should have undergone peer review, or at least, if that hasn’t happened yet, the developer who wrote it should have undergone some final quality checks before publishing it. It must be checked in somewhere, and the commits along the way should be descriptive.
Honestly, I didn’t intend in this article to write a complete style guide, so we’ll leave it there for now, but of course all of us who’ve been in the business awhile can usually write a much longer list than this with specifics depending on the language, etc.
For me, code pride has always been the answer to whatever else was going on. When I felt pressured at work one time and was trying to get something out under an impossible deadline, a colleague — seeing me stress out — told me not to worry about the client and the impossible deadlines, just to go ahead and rework that ugly function someone else wrote that I’d been asked to incorporate, and add unit tests for it. I was ashamed I hadn’t thought of it myself, because for years, unit tests had been my signature superpower. At the same time, I started to feel better about the project, because I’d been given permission to take the proven mood elevator: code pride.
Code pride is a rock you can stand on no matter what’s going on in your life and the market. If you’re new to the field, other people are (perhaps) in charge of whether you program professionally in the “$ka-ching$!” sense. But you can be a Software Development Professional as soon as you start iterating on the aspects of Code Pride in your work — your articles, your portfolio projects, wherever you mention or promote your work.
In fact, you might drop “Junior Developer” from your vocabulary altogether. If it’s in your LinkedIn heading, replace it with “Software Development Professional”. If anyone objects, just smile and say, “I believe professionalism has more to do with code pride and high standards than a specific sum of money.” Don’t try that on a recruiter, because they won’t get it. But if you’re talking to a developer or hiring manager, you’re half-way through the door already.