The Biggest Myth of Software Engineering

Those outside the world of software development have assumptions about what a professional software engineer does with their time. It seems like a tautology that software engineers code. They indeed do code, but it’s not true that they spend all of their time coding. They don’t even spend the majority of their lives coding.

So, what is going on, and what does The Secret Developer think about this situation?

“I think we should be coding. We should also be talking about coding and working together to be able to code to solve problems. Mostly coding though, and that isn’t my experience.”

The Frustration

Oftentimes developers want to work on new features and push code. This means that they can close tickets and feel a sense of progression in their career. Some software engineers take this to an extreme and think that their job is wholly about development and see any other activities as extraneous. One of those developers is The Secret Developer.

“I think a good programmer is good at programming. Other tasks that software developers take on can tangentially help in their coding journey, but the heart of the job should still be coding. That means at times coders are spending time away from code to help the team, but do not help themselves. Here is why programmers spend time away from coding, and what they should do about it.”

The Causes of Spending Time Away from Code

Meetings, Meetings, and More Meetings

Yes, developers do complain about them, but they are crucial. Team meetings, client meetings, stand-ups — they’re all about aligning our goals, discussing project progress, and brainstorming solutions to problems.

“We have meeting-free Fridays. Apart from the meetings that we have. So, we don’t have any meeting-free days, although our written policy says we do. It’s not the only policy that is broken.”

This leads to: Less time coding, and only in principle more time understanding.

How you should act: Be aware that meetings help you to be a better developer.

“I just code during meetings. Or write blog posts. You?”

Code Review 

It’s not just about writing code; it’s about writing good code. Reviewing peers’ work, ensuring coding standards are met, and sharing feedback.

“I don’t know why people are averse to code review. If you review someone else's work, you might learn something, which is awesome. Or you can make yourself feel better because you know something they don’t.”

This leads to: If code review is inefficient, it always seems like we are waiting for a review. Good coders can (to some extent) get around this but this starts to cause conflicts at some point (so juniors might get worried about this).

How you should act: This is all part of the gig. Review work, cooperate with other developers, and learn from their work!

“I just wish our junior developers were not too scared to review work. Takes about a day to get a review at the moment — not good.”

Debugging

Like it or not developers spend time fixing their code (or those that went before them). These tasks often take longer (or feel like) they take longer than the initial coding task.

“I don’t make mistakes that lead to bugs.”

This leads to: Time spent not pushing tickets. Or time spent pushing debug tickets, which isn’t a good look.

How you should act: This is all part of coding.

“Imagine having so many bugs that it stops you from pushing features. It’s a problem, but it sounds like your problem to me.”

Research and Continuous Learning

The tech world evolves faster than a speeding bullet. Keeping up with the latest technologies, frameworks, and best practices means we’re constantly learning.

“I don’t need to learn anything, since I know it all. And what I don’t know I’m studying at any given time.”

This leads to: Learning more overtime and understanding what you’re doing. Which increases your coding speed. Which allows you to study more. See?

How you should act: You should be studying and learning, even if it is in your own time.

“I know Robert C. Martin thinks you should be studying 20 hours a week. I don’t think so, but you should make sure you are learning something every day. That’s an achievable goal.”

Documentation

Often overlooked, but incredibly important. Writing documentation is essential for maintainability and future reference, not just for others but for our future selves.

“I sometimes need to read documentation for the language or an API we use. Seldom for anything else other than sucky code. So why does The Secret Developer need to write documentation?”

This leads to: Time spent thinking about coding and documenting code that has been completed. None of which is a waste of time. 

How you should act: You should be a good citizen and write appropriate documentation where you can.

“I’m still shocked that people have not heard of self-documenting code. I’m not talking about a replacement for documentation I’m saying we need code that doesn’t need documentation where possible.”

Collaborative Tasks

Pair programming, helping a colleague, or brainstorming sessions — these collaborative efforts are vital for team cohesion and project success. Working together typically means sharing knowledge and developing together which is great for teamwork. 

“I’m happy to give my knowledge to other members of the team. It’s just a shame that it takes so long to get that information into them!”

This leads to: Time spent sharing knowledge and working together rather than working alone. This can (initially) take longer but can be seen as an investment for the future.

How you should act: You should be happy to both spread knowledge and learn. Working together benefits all parties and means that teams are not over reliant on individuals.

“Sometimes these are at the keyboard, sometimes they are away from the codeface. In all cases, they are not as fast as The Secret Developer”

Wanting to Stop Coding

This one does not need to be thought about too much. Some developers got into the industry to earn a good salary and simply want to use programming as a steppingstone to another career.

“This most certainly isn’t the attitude of The Secret Developer.”

This leads to: There isn’t really anything positive about doing some work that you don’t want to do. It isn’t helpful to your team either.

How you should act: If a colleague holds this opinion there isn’t much you can do, apart from working with them and doing your best to do a good job.

“I think these particular developers should leave and do something else. Honestly.”

Conclusion

It seems The Secret Developer is not right here. There are some reasons why coders spending time NOT coding might be beneficial to both the individual and the company. In the end, it’s all about balance and trying to do your job well.

“Yet nobody is better than The Secret Developer in coding terms. They just aren’t.”

Previous
Previous

Team Meetings Are a Waste of Development Time

Next
Next

Bad Code Can Destroy Lives