| By Matt Long, Gale Software Engineering Manager |
When I hear the word professional, I usually think of that scene from that movie when Leonidas shouts to his small army of men asking them what their profession is. I’ve been developing software professionally for almost 20 years, and while it’s a far cry from going into battle against multiple Persian forces, building software is definitely something best accomplished by a cohesive team of individuals who are accountable to the task at hand, accountable to one another, and accountable to continuously improving themselves and their competency within their profession—these are some of the characteristics that allow anyone of us to identify ourselves as a professional. I’m very fortunate to be working on teams where everyone has this mindset.
“The worst thing you can do as a professional is nothing”
– Bob Martin
“Uncle Bob” Martin is a software engineer and co-author of the Agile Manifesto. About 5 years ago I had the awesome opportunity to see him speak about professionalism and accountability. So much of what he said left an impact on me and the people I work with. Here are some examples of accountability that I and the awesome professionals I’m surrounded by believe in.
Never Be Blocked
“Anything other than coding is a waste of my time”
– said/thought every developer at some point in their career
As developers we get paid to code—that’s the skill set which makes us marketable, right? Consider the idea that there’s more to being a software development professional than just blazing through hundreds of lines of code per day.
In addition to developers, think of all the people involved in achieving the goal of delivering quality software, on time, within budget, and without surprises—product owners, project managers, sales, authors, curators, designers, UX professionals, data scientists, marketing, quality assurance, operations, customer support—it’s a lot of people.
At some point during a project each of the different responsibilities, including software development, will become a bottleneck. Design assets or content are late because of marketing, the backlog of stories ready to be worked on isn’t large enough to keep the team busy, or the QA team is behind by a few weeks which could have an impact on meeting deadlines. What are we developers supposed to do? We help!
“Being blocked is unprofessional and irresponsible”
– Bob Martin
In some situations we can try to isolate and work around the block. Otherwise, we can help write stories in the backlog to make sure there’s a steady flow of available work. We can learn from the QA team to test other developers’ changes, and write the automated and performance test suites. We can even take ownership of lower environments from the operations team. Sometimes we need to take a break from coding in order to help the project move forward—in its entirety.
Always Be Improving, Learning, and Sharing
It’s crazy to think about how quickly the software development world has evolved. I’ll never discount anyone’s historical background, including my own—the languages and the tools of the past are part of who we are, and if it didn’t kill us, it made us stronger. However, many of these skills won’t help our careers today or in the future.
One of the most important responsibilities a software professional has (really any professional) is to continuously learn—read, practice techniques, teach others (speaking, forums, etc), go to meetups, build something using new technologies/approaches, or contribute to open source projects. And while having opportunities to learn new things at work happens occasionally, these opportunities alone will not be enough to help us continue to grow at the rate our industry demands. Bob Martin suggests we consider spending an additional 20 hours outside of work on our careers—it’s what professionals do.
“It’s unprofessional to have one person on the team that stops a project when they go on vacation”
– Bob Martin
Additionally, do not become the sole developer who is capable of supporting a particular system, codebase, or platform—whether or not this forcefield of job security is intentional, it’s irresponsible. If you won the lottery, how much work would halt or be slowed down trying to come up to speed on what you know about a software’s implementation, architecture, and business logic—what’s the impact to the business? We need to constantly be teaching others and learning from one another.
Grow With the People You Work With
“The people that you work with are just, when you get down to it, your very best friends”
– Michael Scott, The Office
Lastly, while I’m not sure being best friends with all of the people you work with should be your goal, realize they’re the people you’re with a majority of your time. Have fun, and grow as professionals together.