Over a million developers have joined DZone.

Programming Myths About Coding

This article smashes the myths about coding, from claims that it's too hard to claims that it's too easy and everything in between.

· Agile Zone

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.

Overhead view of a desk with a laptop and hands over the keyboardOver on LinkedIn, I wrote a post about 5 Steps to Starting Your Programming Career (and Three Ways to Become the Best) and received a variety of comments from interested individuals. With an entire list of languages (which I'll get into later) at your fingertips, there's no better time to get into programming.

But some beginners are skeptical about coding. Don't I need a special skill? What classes should I take to learn about programming? What courses are available?

There are a lot of myths flying around on the interwebs and I thought we'd address a few of them today.

While some individuals see coding as waving a magic wand, some people downplay the amount of work it takes to write a truly effective, maintenance-free system.

Cartoon about a alien as a programmer with people looking at him weird

"It's Not Rocket Science"

Before we start into the myths, I want to explain that while some people have the aptitude for programming, some do not. Early in my career, when I was young and naive, I was talking to a Senior Analyst about the details of an application we were writing. The details of the application seemed simple and should've taken only a week to finish.

I said, "This should be really simple. I mean, hey, it's not rocket science..."

He quickly replied back, "No, it's computer science."

The "simple" details took over three weeks to write and put in place. Whoa! As I've said before, nothing is ever easy.

The moral of this story is that when it comes to writing code, you can write something extremely fast, but in the end, it's a balance between science and art. Sometimes you need to see the forest through the trees.

So, let's get into the myths, shall we?

Do I Need to Have a Math Degree for a Programming Career?

This is the most common question I'm asked from developers who are just starting out, and it's the biggest myth around.

If you are looking into developing games, I understand that there are a number of coding engines out there (like the Unreal engine, which is free), but understanding mathematics like algebra and calculus is required when working with PoV (point-of-view) angles and collision detection along with the X-Y-Z axis.

It all depends on the type of programming that you want to focus on in your career.

Gaming, AutoCAD, and financial analyst (think Excel) are just a couple that come to mind.

For writing business applications, utilities, websites, or databases, a basic math degree is enough to move you forward in your programming career, but it doesn't have to be your major.

The characteristics of a developer include logical reasoning, problem-solving, creativity, and a lot of patience, along with a mastery of your primary language and a general knowledge of design patterns.

As a Woman, Should I Get Into Programming?

Absolutely! I've worked with a number of women in my career and each one of them has shown a higher level of development along with a strong understanding of programming architecture.

I know truly amazing women (I'm talking about you, Josie, Carey, Shivani, and Amanda, you F# wizard, you!) and I respect each one of them and consider them an equal (or better) when I have a programming issue.

For the women debating whether coding is right for them or not, try to find the language that best fits your career choice and start using it in your free time.

It takes time to truly understand a programming language and its idiosyncrasies. If you don't like it, drop it and move on to the next language.

I absolutely believe that this is the best time for women to learn how to program.

As a matter of fact, the National Center for Women in Technology reports 25% of professional computing occupations in the 2015 U.S. workforce were held by women...and it's growing!

The amount of programming jobs continues to grow every year as the demand increases for even more people to become code-savvy.

So, definitely dive into programming. It's not going anywhere anytime soon.

Should I Use "If" Statements If They Add Complexity to an Application?

During the same time period as that rocket science comment, one of my friends and coworkers said his brother made the comment: "If you were to create a truly object-oriented application, it would have no if/thens in the code."

At the time, I called bullshit. Again, I was naive.

Now, as I look back to 1994, I realized he may be right.

There is a term called cyclomatic complexity that Wikipedia defines as a software metric that defines how complex a program is by the number of branches in the code (i.e., if/then and switch statements).

For example, consider a situation in which we use a customer object to determine if the control is enabled or not, like this:

if (customer == null)
{
    enabled= false;
}
else
{enabled=true;}

We've all seen this type of code. Each section of code in the true and false block will increment the cyclomatic complexity since there are two branches.

It would be better to write this code.

var enabled = customer != null;

The less if/then and switch statements you use, the more developers may understand the system better. Maybe this is why I have issues with switch statements. *Shrug.*

Learning a Language Takes a Lot of Time

Once a developer finds their comfortable language, they feel like they can write anything thrown at them. They can conquer the world. 

Until that time, you need to experiment and try out some new languages once in a while.

It also depends on your career.

  • Web development? C#, Java, PHP, HTML, CSS, JavaScript.
  • Fat executables? WPF (Windows Presentation Foundation), C#, Java, C++, C, Assembly.
  • Database administrator? SQL, Oracle, Firebird, mySQL.

...and on and on and on.

Since there are so many career paths and choices, some web technologies are the obvious choice for this connected world. However, there are a number of Microsoft technologies that you can strive for as well.

Once you have a career path, it's time to focus on the languages that interest you the most.

If you look at the TIOBE Index chart (also refer to the Programming Language Popularity Chart), you'll notice that the top five are Java, C, C++, C#, and Python, in that order, with JavaScript closing the gap at number six.

Since JavaScript is the lowest common denominator, it would seem the most logical to learn if you wanted to get into web development. Learn JavaScript first so that you can appreciate the underpinnings of every single MV* frameworks out there written in JavaScript.

The bottom line is that you don't need to learn every single language out there to become a programmer. What you should do is: 

  • Understand the concepts of one language.
  • Experiment with ones that intrigue you.
  • Stick with the ones that accomplish what you need.
  • Become comfortable with your go-to language when one doesn't provide enough to reach the finish line.

Once you grasp the concept of a for...loop, it is essentially the same concept across every other language you encounter in your career. As I've said numerous times, a language is a language is a language.

It will get easier to learn new languages once you understand one or two.

I'm Too Old, So I Can't Program Anymore

My grandfather always said that age was up in your head. I know, I know, so long as the body is willing, you can do whatever you put your mind to.

In my mind, there is no such thing as too old.

I guess my point to older developers out there is to always be learning and continue to be passionate about your craft. Programming is more that just throwing code at a digital canvas and seeing what sticks. It's more than that.

It's your personal experiences and wisdom you've learned over the years through the school of hard knocks, the design patterns and practices, database considerations, scalability, usability, JS frameworks, performance issues, web services, SOA, and web APIs.

All of that!

I understand that there is a lot of competition out there, but over those years of work, you have tenure in your career. Valuable years of experience.

You also have contacts. As you moved through your career, you made contacts (using LinkedIn, riiight?). These contacts, whether they be recruiters or co-workers, know how you work and understand your potential, what you've focused on in the past, and what you want in your future (you could tell them, they know you!).

I always have a list of top recruiters in my LinkedIn account who I keep in touch with and vice-versa. If they treat me well, their "stock price" on the Danylko stock exchange goes up. If they don't assist when needed, they slide down my list.

However, don't always rely on recruiters (although the good ones do help in a pinch).

Always keep your skills up to date and your contacts active on LinkedIn and you should always have something in your field.

Conclusion

I hope that this post has brought some light to some of these programming myths.

At 46, I've been programming for over 25 years professionally and I have no intention of slowing down or stopping anytime soon.

If you have confidence in what you do, passion for your craft, and enjoy accomplishments through code, it's not considered a myth. It's a gift.

I hope that my fellow coders out there feel the same way as I do.

Do you know of a programming myth that needs to be debunked? Post your comments below.

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.

Topics:
agile ,coding ,programming ,career

Published at DZone with permission of Jonathan Danylko, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}