Lately I took some time to think about how learning to code over the past six years actually changed me, and these are the things I came up with:
Number 1: Problem solving
Let’s face it. As developers we should be glad that there are so many problems in this wide world, because without them – we would just be unemployed. These problem solving skills you acquire throughout your career are providing so many benefits for your everyday life.
- I don’t tend to overreact or get frustrated as fast as I usually did if things did not work out the way I wanted them to
- I got more creative, efficient and more mindful about decisions I make in general
Number 2: Being mindful and thinking ahead
This is one of the most important things about coding. In this profession not thinking ahead can cost your company a lot of money, they may even lose customers, because of errors you made (because of not thinking ahead and not being mindful about what you were doing).
This may sound like a lot of pressure, and yes, it is, but let me tell you a story:
I have been working as a part time junior developer since last November, and there was this one task. You know that feeling – you are reading through some kind of task and you are already solving the problem in your head, start to code right away, quick test if you get any errors and just submit it?
This is actually the way I did it since I started coding, and being a student, this always worked out for me. So, I did this, again, just as always, and I felt pretty good about myself, what can I say? I started with my next task in the pipeline, and that was it for me.
Long story short, we had really bad performance issues, because of the gigantic amount of data my little program had to process, and one of our senior developers just sat down with me and showed me some other way to do the exact same thing and it was so fast!
All of this could have been avoided by me doing more research and maybe at least finding two separate ways of performing the task, and then deciding on the "better" one.
Number 3: Accepting the help of others and being more open for new ideas
Don’t we all, at least sometimes, feel like the smartest person in the room? Thinking that we have everything figured out, just like me with my task?
I just did not see another way and I did not really think of it as necessary, but being forced to deal with my mistakes, and also being forced to improve my skills – I just learned that making mistakes is great.
And the more you accept that fact and get this mindset the more joy you will have in your life.
But with this new door opened up come some more or less positive things:
Number 4: Perfectionism
Sometimes we developers tend to discuss the smallest details and slightly lose our focus for a moment.
Perfectionism is very time consuming, but it also shows how passionate we are about what we do and this “perfection” we strive for is automatically integrated into our daily life too.
I noticed that I got more mindful of the words I use in a daily conversation or the things I do like body language, just as mindful as I choose my datatypes or variable names while coding.
I want perfection, but I know that everyone defines it in a different way, and as I said before – I am open for new ideas.
But in general, it prevented me from making some mistakes.
What are your thoughts on this topic?
Many times as a mobile developer I have to work on apps without the API ready that was crucial for the feature I was implementing. Either the backend was developed by another team that was not entirely in sync with us or our backend team had no chance to implement those endpoints earlier. For this reason, I was not able to satisfy the Definition of Done but it does not mean that I have implemented the UI only.