Are you a good Software Developer? Recently I 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 response 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 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 depending on the company you work for is highly possible you don't have a social life.
All of these can be enough to quit being a Software Developer, but If you haven't let's answer 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? If you don't have passion is ok, as long as you keep giving results.
Do you go with the best possible solution?
I want to clarify that not everything is bad about being a Software Developer, there are a lot of cool things about it, 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.
- Find 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 succeed 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?
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 at the moment?
How accurate are yous estimations?
Can you manage details and keep sight of multiple projects?
Adapt to changes in requirements, and exploring new solutions.
Are you delivering quality results? 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. :)
No hay comentarios:
Publicar un comentario