My Firsthand Experience Learning a Programming Language for My Day Job

treesCity.JPG
3 min read

Learning a programming language is one of the best ways to potentially increase your income. Programmers get paid above-average salaries and the market opportunities are enormous for people who know how to write decent code. 

In my day job as a data scientist, I write code every day. The main programming language I use is called R. It has a steep learning curve and can be intimidating at first glance, but it has a huge payoff. It’s the reason I was able to land a job that pays $80,000 at age 23.

I want to share my firsthand experience with learning R to prove that you don’t have to be naturally gifted to learn how to write code. 

Humble Beginnings

When I started my job last summer, I knew just enough R to get hired. I was by no means an expert. I had dabbled in it at my previous job and had used it in some of my college stats courses. 

During the first few months, I had to learn fast because I had to generate and deliver reports that relied completely on R code. This was a stressful time. I would show up to the office around 8:30am and literally keep my head down for three hours straight, constantly asking google for help and copy/pasting chunks of code I found online into my own programs.

I would take a break for lunch, then return to my laptop and grind it out for another four hours or so.

My entire process of learning was:

Be presented with some problem.

Attempt to write a solution in R.

Realize that I don’t even know where to begin.

Google “How to do [some task] in R”

Copy and paste code I found online into my own program.

Modify the code to fit my needs.

Send the code to whoever needed it. 

Do a code review with a senior coworker. Find out where I could have written it more succinctly. 

Repeat. 

This was my life for the first three to four months at this job.

I felt like a complete idiot most days. 

Over time, though, I recognized a pattern: with each new project or request, I became just a little more comfortable with R. I actually knew where to begin when I started a project. 

I still had to google “How to do blah blah blah in R” constantly, but my google queries were becoming more advanced. The basics of R had finally sunk in. It was the hard stuff that I needed help with. 

Fast Progress

I have come to realize that the fastest way to make progress with learning a new language is to attempt to build something using that language. 

Forget about coding bootcamps and taking courses or reading textbooks. Just try to build something using the language and you’ll find out quickly what you do and don’t know. You’ll learn by necessity. 

Google is Your Best Friend

While it can be helpful to have someone sit down with you and show you the ropes of coding, ultimately Google is the best resource for learning as fast as possible.

In particular, most google queries will lead you to a site called Stack Overflow where you can find answers to literally any programming question you may have. 

Grit

Angela Duckworth says the biggest predictor of success is not inherent talent, but grit. Grit is synonymous with perseverance. And when learning a programming language, grit is incredibly important.

A major part of learning how to write code is simply banging your head against the wall over and over until you find the right solution.

You will likely fail on your first attempt.

Things won’t make sense at first.

Knowledge won’t stick initially.

You just have to keep googling, keep learning a little more each day, and stick with a task until you find the solution.

Income Boost

Learning a programming language can help boost your salary.

Best of all, you don’t necessarily need a programming background to land a high-paying job that requires programming skills.

In my previous job, I worked with people who had degrees in philosophy, agriculture, psychology, and other obscure fields. The common denominator is that they all taught themselves how to write code, which is how they got hired.

There are many professions you can pursue if you know how to write code. I chose to become a data scientist, which according to PayScale has an average salary in the U.S. of just over $90,000:

data_scientist_salary.JPG

Keep in mind this number varies based on region, industry, and experience.

As technology continues to advance, the demand for programming skills will continue to increase along with the salaries offered. 

Consider learning a programming language if you’re looking to boost your income.

Zach
Latest posts by Zach (see all)

Full Disclosure: Nothing on this site should ever be considered to be advice, research or an invitation to buy or sell any securities, please see my Terms & Conditions page for a full disclaimer.

6 Replies to “My Firsthand Experience Learning a Programming Language for My Day Job”

  1. You’re very fortunate to select a great field. I see programming as being a demanded skill for decades to come! I know someone who says if it were up to him, he would write Google in big bold letters on his resume under skills, 🙂

    1. I was quite fortunate to choose a field in college that is in high demand and will continue to be for years to come. As I mentioned in the article, though, it’s possible to transition into this field for people who are willing to take the time to learn a programming language themselves!

  2. Nice post Zach! I’ve been trying to get started writing code, but I haven’t chosen which language to learn yet. I guess it depends on what you’re trying to do. But rather than asking you 100 questions about where to start, I’ll just google it!

    1. Thanks Adam! And good idea…Google probably has some articles from experts who can answer your specific better questions than I can anyway 🙂

  3. A recent review of salaries by programming language, controlling for experience and data-related profession, found R users to have the lowest salaries. What sorts of jobs use R that pay so we’ll. Feel free to expand your personal story.
    -an r (and Matlab and python) using academic.

Leave a Reply

Your email address will not be published. Required fields are marked *