A while back, I had an interesting conversation with a software engineer at my work about the subject of software engineering. He suggested that it is good to know how to program rather than develop. For me, this was a very valid suggestion but at times, I think it also comes across as arrogant or even arrogant. Let’s get into why he suggested knowing programming and how it makes one a better programmer. I won’t cover every angle of what he had to say here and will talk more in another post. Anyway, his main point is that knowing programming gives you a leg up on other people who simply don’t care about development.
I thought this a bit odd, but then read over it again. It turns out one thing he said was not very far from reality. There are many great things to learn from books alone. You can learn most anything by reading it. However, there are certain topics that tend to be easier to grasp by reading books. These include subjects such as algebra, calculus, calculus and statistics. This is because these subjects teach us how to solve problems using formulas — algorithms. In layman’s terms, it means learning how to use mathematical tools and techniques to do mathematical calculations for ourselves and those we interact with. These include linear equations such as y = mx + b and cubic graphs such as y = x2 + c. So essentially, anyone who knows anything about basic algebra can pick up concepts of mathematics and start solving problems.
So basically, it boils down to this fact: knowing how to calculate and solve a problem can only give you half of what you need to truly make something work. If it doesn’t work, you can either ask someone else or just look at the code and figure out what you’re doing wrong.
So maybe it might hurt the ego of some programmers when others go around calling themselves experts in the field and bragging about their work. Perhaps the pride they feel that they have mastered all sorts of subjects is based entirely on the knowledge and skills from textbooks and reading in general. But it’s hard to admit that and so instead we focus on our own unique talents, strengths, weaknesses, flaws and failures. We see them everywhere and we forget that developing is often more important when it comes to figuring out solutions to real life problems. Developing helps us become better through trial and error while learning new skills. Also, most professional careers aren’t well defined. Most companies offer specific jobs on various projects within a department or team. And when you are hired on a project, you are given specific duties to complete based on your job description. Knowing programming allows one to stay ahead of time. One doesn’t have to wait until next year to apply for the position they are seeking unless they know everything to do with it by now. Therefore, having the knowledge needed to write good software doesn’t really matter anymore since the software industry has moved on to the next big thing. Hence, understanding development is like being able to climb Mt. Everest without ever reaching Mount Everest. At least that’s what I tell myself each day. I know that it seems daunting, especially if you’re trying to become a developer, but the sky’s the limit when it comes to getting there. No one can ever teach you how to do it by heart and soul. Only experience and exposure. My advice would be to keep looking for ways you can improve yourself by exploring different avenues and not forgetting the basics. Don’t sit still and wait for people to come along and try to help you. Just move forward — find people willing to challenge you. Find people willing to teach you. Seek out mentors who can teach you new ideas and information. Attend courses and take classes where you can learn from experienced professionals. Be active in coding events to meet cool people and gain access to opportunities that may not otherwise be available to you. Maybe you’d gain useful skills and maybe you’d lose weight. Who cares? Not much anyway. All of us are different which is why everyone learns differently. To gain knowledge and eventually gain skill, I think we should never stop learning. Learning should be fun for both parties; the person who wants to get better and the person working toward that goal learns better and becomes smarter.