Are you a good software developer?

Clemente Morales Fernández
4 min readOct 4, 2020

Are you a good Software Developer? I recently heard this question and it really caught my attention.

How can we answered this? are we good because we do our testing? because we pass the sonar quality gates? because we finish our tasks on time? or based on production statistics like app rating, or existing bugs?

Well, tools and reports will definitely help, but I think is also based on expectations.

I still remember when I heard someone having big expectations from an specific developer. Was he able to fulfill them? Not sure.

I think the same developer can have a different evaluation depending on whom you are asking. the client, the PO`s, the manager, the architect.

The true is, We can not ignore those expectations. So let’s focus on some of the most common expectations for a Software Developer in the job market. At the end the companies are looking for good Software Developers right? Do we really know what we are signing for?

Problem Solver and analytical skills

Here, We can have technical, and not technical problems. It refers on how we overcome the problems, on how we respond to different situations.

So, we get a problem, we set a plan, we execute that plan, and finally we evaluate the results.

But wait, Is the problem even solvable? Did we find the root cause? Is the solution solving the actual need? Did we check the whole impact of the solution? Did we include all the involved parties?

Communication Skills

This is very important because we are supposed to work in a team. We also need to stand up to our ideas, suggestions. We need to also interact with not technical people without jargon. If we want to succeed, Is not enough being brilliant, we need to clearly communicate our ideas.

Passion

Sometimes doing software development can be quite stressful. Long meetings, constant changes with rigid deadlines, dependencies with multiple teams with a different commitment to the project, or pressure when critical production defects are found.

And if you try to stick to all requests from customers, is very likely you don’t have a social life.

All of these situations can be enough to quit as a Software Developer.

Do you want to know if you have or you still have the passion? how about answering these questions:

Do you feel satisfied doing this or would you rather being doing something else?

Are you proud of your work?

Do you stick to only doing your work?

Do you feel motivated to keep learning new technology?

Do you go with the best possible solution?

I want to clarify that there are a lot of cool things about being a Software Engineer, but we can have those cool things for some other discussion.

Continuous learning

Willingness to keep learning new skills, new technology, new programming languages.

Includes being aware of the latest Software development practices.

Learning can come from multiple sources like:

Books, Blogs.
* Individual courses.
* Coding boot camps. Some of them provide a mentor for some months. They will guide you to speed up your learning in the selected technology.
* Codelabs. I really like Android Codelabs.
* Joining software open projects.
* Finding a mentor.
* Conferences, Meetups.
* 1 on 1 with your manager. I have found this very useful.

Team player

Is impossible to work alone these days. We are in constant collaboration, and We need to work on the relationships with the other team members.

I have seen amazing engineers not able to succeed in a company because they were unable to integrate with other teams. But that was also as result of lack of communication skills.

Being a good team player means helping to create a collaborative and positive working environment.

Don’t being arrogant because you are the most senior developer. It means being humble. We always learn something from each other. We are all responsible for the project(s).

When the team succeeds we celebrate, when the team finds some problem, we solve it together.

Are you helping others to succeed? Do you get satisfaction when the teams improved?

Are the team members happily coming to you when they have a question?

Shared knowledge

Mentoring other developers is a very important task in a project. Additionally, when you try to explain something, you know if you really understand the concept.

Are you Collaborating with ideas to improve the code or the existing processes?

Are you engaged with software communities?

Do you share your knowledge writing Blogs? through code reviews? Pair programming?

Are you teaching by example?

Time/Task management. Achieve results

Can you do multitasking? Are you able to prioritize and work on the most important task at the moment?

How accurate are your estimations?

Can you manage details and keep sight of multiple projects?

Adapt to changes in requirements, and exploring new solutions.

Are you delivering results with high quality? are they on time?

These expectations will give us an idea of some of the most common expectations for a Software Developer in the market. But what about yourself, how do you feel? what is your personal feedback? are you a good Software Developer?

Having said that, I think I’m a good developer, but I’m not completely satisfied with what I have been doing, I still have a lot of things to improve. :)

--

--