10 Characteristics Programming Helped Me To Develop
Originally posted on Dialexa’s blog.
The challenges and constant learning inherent in programming make me love my job. They’ve helped me strengthen and develop the following characteristics, which I believe are not only important to any programmer, but to any successful person.
1. Perseverance & Optimism
Programmers have to get comfortable with constantly failing. Your code is probably not going to work on your first try, so it’s necessary to keep going, even when things don’t seem to be working. One of my favorite quotes about failure, from The Art of Mental Training, is, “Fear of failure is caused by not knowing how to fail constructively.” Programming helps you learn how to fail constructively - how to try a different approach and find another way to move forward each time you fail.
Staying patient through the failures is a necessary skill to develop when writing code. It may take several attempts - spanning hours or days - to work through a complex problem. Sometimes you will feel like you’ve tried everything and still haven’t found a solution while a deadline is fast approaching. Remaining patient allows you to continue to think and focus on your work rather than freeze up.
3. Organization & Focus
You may be juggling several variable definitions, code changes, or alternate solutions as you tackle a single problem. Exploring and finding a method that helps you stay organized and focused is key.
4. Linear Thinking
I noticed I was more logical and clear in my thought process when I began learning programming. Programming requires you to be methodical by analyzing an issue, systematically attempting solutions, and learning from unsuccessful attempts in order to move forward. A programming problem at work is not going to just go away if you can’t figure it out - you must always find a solution.
Features and requirements can rapidly change in software development, and it’s important to be able to roll with the punches. There is no use complaining about why things have to change or how difficult it will be. Flow around the rock!
Knowing you have the resources to find a solution makes daunting problems a little less scary. You might not know immediately how to solve a problem, but if you know where to look for help, you will be much more confident in tackling problems.
When your first ten attempts don’t work, try another! It’s important to have the ability to look at a problem from a new angle when your first ideas don’t work.
8. Attention to Detail
There is a saying that good programmers are lazy - meaning that good programmers find efficient ways of doing things, so they don’t have to do extra work.
Programmers get a bad rap for being unsociable and awkward, but an effective programmer is actually a great communicator. At Dialexa, we have a workspace and culture that makes it easy to converse with coworkers or ask for help. Explaining complex issues to a coworker so that you can work on a solution together is commonplace. We have a team meeting each day, where we share what we accomplished the day before, what we plan to work on today, and any issues that prevent us from moving forward. Writing code in and of itself teaches you to be considerate of others by coding in a way that your teammates and future developers on the project will understand.
I love that my profession has provided a platform to develop valuable personal characteristics that will help me to not only become a better programmer, but a more effective human too! I never would have thought that programming could be so rewarding. If you’ve ever considered learning programming, I highly encourage you to check it out.