I had to think for a few minutes to find my top 3 skills. It was not easy to self-evaluate myself objectively and to find out my top 3 skills. Now, I think I found them:
I am almost certain that the most used sentence of little children who discover the world is "Why?". Most children loose this childhood curiosity after a while. I never lost it. And it has served me many times during my daily life as a developer.
The first example that comes to my mind happened about a year ago. We developed an API with JAX-RS. The version of Java used on the server was much lower than the one we used on our machines to develop. In itself, it may seem harmless, but the version of JAX-RS did not support the Java version of the server, and it would have complicated the sudden deployment to production. My curiosity allowed me to find out this problem and inform my team.
I think curiosity is needed as a developer. All day long we try to make the code work. If we do not know how to make it work, we can not do a good job.
My second skill is undoubtedly self-learning. I think it's related to my curiosity. I have a great thirst of learning. I try to learn something that can bring value to my business and indirectly to myself. These last days, I have focused on how the agile method Scrum works in detail. Thanks to that, I could, by example, convince my colleagues to use the poker planning technique to estimate the duration of the future developments.
This is very interesting for my colleagues and me because I can regularly suggest new ideas to increase the productivity of my team and thus facilitate the daily.
The last skill I will mention is rigor. I always try to give my best in my work. I need to build the best for the end user. My goal is that the end user doesn't just say "nice" but to create a wow-effect. When my boss gives me a task, I get totally involved from the beginning and never slow down.
During my apprenticeship, my boss asked me to install an Ubuntu 16.4 server and configure some services. Even before starting to install the machine, I had already thought about which commands I had to execute on the machine corresponding to the given instructions. This serves to avoid creating unnecessary configurations that could cause some confusion in the future.
When I had finished preparing this machine, one of my co-workers had to set up a software he developed on it. Even though I was not involved in this action, I helped my colleague to save his time and to check if I had done my job correctly.