7 Tips for Beginner Programmers

You’re just starting out as a programmer, so you’re looking for some tips on how to get started.

Maybe you’ve landed your first job. Or you’ve just finished school. Perhaps you’ve done what many of us before you (including me) did and simply said “I’m a programmer!” and got to work. Either way, congratulations!

Here are a few tips for beginner programmers that will help get you on your way to a new career.

There’s No Substitute for Getting Your Hands Dirty

You can read hundreds of books. You can watch thousands of hours of YouTube. But nothing makes you a better programmer than, well, programming. Stop preparing and start writing code that solves problems.

This practical experience needs to involve both of those activities, though.

Writing code is important, of course. Your goal is fluency: the ability to write code without having to think about writing code. You want to think in code. This comes from repetition. From putting finger to keyboard and cursor to editor.

Tips for beginner programmers: Your goal is fluency: the ability to write code without having to think about writing code. You want to think in code. This comes from repetition. From putting finger to keyboard and cursor to editor.
Credit: Pixabay.com

But problem-solving is just as important. Code kata and basic exercises do a lot to create fluency, but taking real-world problems and translating them into code is the critical skill you need to develop.

So, here’s the first of my tips for you beginner programmers: Find real problems and write code to solve them. Write a replacement for the ls command. Create a simple video game with your favorite language. Take a task that would benefit from automation and write something to address it.

Be Practical

Once you’ve decided to solve a problem, whether it’s on the job or for your own practice, stick to practical solutions.

What does that mean?

Well, it depends.

Practicality is often in the eye of the beholder. However, it often means implementing the simplest solution with the most efficient tools in a sustainable way.

The simplest solution might not be the easiest or the cheapest. But it’s a solution you can reason about. And it’s one that you can describe in a few sentences. Take time to think about how you’re going to solve a problem. Can you describe it out loud to someone who isn’t working on the project?

Practicality is often in the eye of the beholder. However, it often means implementing the simplest solution with the most efficient tools in a sustainable way. Sustainability is about how long a solution will last. But often, practicality comes down to your tools.Note that I didn’t say you needed to describe it to someone who isn’t a programmer. Just to someone who’s not up to their elbows in the same project.

Sustainability is about how long a solution will last. Can you update it if new requirements emerge? Does it require periodic maintenance? If it does, will the maintenance be simple enough that you actually do it? Will the solution grow with your system? You might think that you’ll never need to come back and change this code after you’re done. You’ll be wrong.

Often, practicality comes down to your tools, though. Are you using the right tool for the job? Is it time to learn a new tool or language? JavaScript is great for the web, but not so much for system administration tasks. Python is a great general-purpose language, but writing Python directly for the browser is fraught with peril.

Sometimes you can’t choose the tool because your boss or team has already chosen one. Well, then, for better or worse, that’s the right tool.

But Don’t Get Caught Up in Other People’s Dogma

X language sucks! Y editor is garbage! Developers that use IDES aren’t really developers! Z operating system is the worst!

The tech world is fraught with dogma. Stay away from it. Dogma is how learning stops.

Unless you’re very lucky, you won’t have many choices when it comes to tools in the early stages of your career. But don’t sweat it. Do the work. Learn the ropes. Solve problems.

Stay away from dogma. It’s OK to have opinions. I have tons of ’em. There are tools I won’t work with. There are jobs I won’t take. I’m also 25 years into my career and looking at retirement. I can afford to be choosy. So are a lot of the people trying to sell you on their dogma.

Stay Curious

The opposite of dogma is curiosity. So, instead of avoiding tools because of what you read online, check them out if they look like they might be useful. Then kick the tires and slam the doors.

Every tool was made to solve a problem. But that doesn’t mean it’s a good tool. Maybe the designer fixed a problem you don’t care about. Or the solution may be flawed. But someone took the time to create it. It may be worth playing around a little.

Don’t limit your curiosity to tools, though. Learn about the problems you’re solving. Look past the list of requirements you’ve been given and learn about your customer’s problems.

I can’t stress this enough: True mastery comes from understanding the problems you are solving with your code.

Tips for beginner programmers: Look past the list of requirements you’ve been given and learn about your customer's problems. I can’t stress this enough: True mastery comes from understanding the problems you are solving with your code.

Don’t Be Afraid to Make Mistakes

You’re curious. You’re experimenting.

And you’re making mistakes.

This is OK. And it’s not only OK—it’s inevitable. Don’t be afraid.

This isn’t a license to be a “cowboy.” Measure twice so you only need to cut once. Pay attention to what you’re doing. Learn how to use unit tests to catch mistakes before they happen. Try to test your theories in low-stakes environments.

But if your boss fires you for an honest mistake, they did you a favor.

Watch Your Personal Time

Programming can be a demanding career. But it’s very rewarding in terms of both personal satisfaction and financial remuneration.Make sure you don't spend too much of it on taking your work home. The personal rewards of coding make it easy to blur the line. Get away from the keyboard and get out and see the world. Your sanity will thank you for it, and your career will benefit from broader horizons.

It can also eat your life.

Guard your personal time and make sure you don’t spend too much of it on taking your work home. The personal rewards of coding make it easy to blur the line. They make you want to take home your job writing Python code for a trading firm and apply it to robotics. That’s cool. That’s fun.

But get away from the keyboard and get out and see the world. Your sanity will thank you for it, and your career will benefit from broader horizons.

Relax and Enjoy

One last tip for you beginner programmers: Don’t obsess over tips.

Programming is a great career. They’re paying you to play with computers. Plus, they’re paying you to learn about new fields and solve problems for them. It doesn’t get much better than that!

(But, if you do want more tips for beginner programmers, check out our Lessons From a Veteran series, where we ask veteran developers about their journeys and what advice they have to offer to aspiring programmers.)

This post was written by Eric Goebelbecker. Eric has worked in the financial markets in New York City for 25 years, developing infrastructure for market data and financial information exchange (FIX) protocol networks. He loves to talk about what makes teams effective (or not so effective!).

Lessons From a Veteran: Dawid Ziolkowski on Trusting and Taking the Plunge

This post is part of a series interviewing veteran developers, asking them questions about their journey to tech mastery and sharing the advice they have for those getting started.

Dawid ZiolkowskiToday we’re talking to Dawid Ziolkowski. Dawid has 10 years of experience. At the beginning, he worked as a network/system engineer, did DevOps in between, and recently became a cloud-native engineer. He’s worked for an IT outsourcing company, a research institute, telco, a hosting company, and a consultancy company, so he’s gathered a lot of knowledge from different perspectives. Nowadays, he’s helping companies move to cloud and/or redesign their infrastructure for a more cloud-native approach.

If you’re considering a career switch to programming or questioning whether you’re in the right field, Dawid has some great insights for you based on his own experience. Let’s hear what he has to say.

Basic logistics: Stack? How long have you been doing it?

So, the answer to what stack I use is not straightforward. For most of my career, I was a system engineer involved with DevOps. My first programming experience was with Python. As a DevOps engineer, from time to time I had to write smaller or bigger scripts. And the more experience and different jobs I got, the more programming I did.

For a long time, I was able to more or less understand and write small programs/scripts in Python. After a few years, I decided to finally properly learn at least one language. I decided to go for JavaScript. I made that decision partially because I wasn’t really a fan of Python and partially because I wanted to learn a bit of front-end development.

After learning the solid basics of JavaScript, I learned Angular.js and Vue.js. I enjoyed building front ends, so later on decided to learn the back end, too. Now I know Node.js and Ruby. So, for a little bit more than two years now, I think I can call myself a full stack developer.
Continue reading “Lessons From a Veteran: Dawid Ziolkowski on Trusting and Taking the Plunge”

What Is a Programming Framework?

One of the reasons that learning to program might feel like an overwhelming task is the sheer number of new words, terms, and expressions you come across. Today, we’re here to make your life easier by explaining one such term: programming frameworks. Specifically, we’re going to tell you everything you need to know in response to the question “what is a programming framework?”

You can think of a programming framework as a tool—or a set of tools—you use to make your life easier when performing common programming tasks. I know that might sound a little vague, but it’s hard to offer a more complete definition without going deeper into the topic. Luckily for you, “going deep into a topic” is our thing here at Make Me a Programmer.

What Is a Programming Framework In Simple Terms?

Here’s my definition of a framework:

A programming framework is a prepackaged set of solutions that solves common development problems.

Why do people use frameworks? We’ll go into that in the next section, but I can say that the No. 1 reason for using a framework is probably saving time. But as you’ll soon see, there are several other benefits you can get by leveraging frameworks.
Continue reading “What Is a Programming Framework?”

Lessons From a Veteran: Turning a Hobby Into a Fulfilling Career

This post is part of a series interviewing veteran developers, asking them questions about their journey to tech mastery and sharing the advice they have for those getting started.

Mauro ChojrinToday we’re talking to Mauro Chojrin. Mauro helps PHP developers hone their craft through his trainings, books, workshops, and other tools. He’s been in the IT industry since 1997 and has held roles such as developer, architect, and leader of technical teams. Mauro also likes to write and vlog.

Mauro is going to tell us about how he got his start in programming, and you may or may not recognize some of the throwback systems he references. While the technology may have changed, you might have had similar inspirations for getting into programming.
Continue reading “Lessons From a Veteran: Turning a Hobby Into a Fulfilling Career”

Best Programming Books for Beginners

What are the best programming books for beginners? This is a broad question. Programmers need a wide variety of skills, and the field you want to work in can have a significant impact on which ones you need. There isn’t one book, or even a list of books, that will teach you everything you need. Some skills can come from books, and some will only come from on-the-job training.

You need books that will improve your knowledge and skills regardless of what type of programming you’re interested in. I’ve put together a list of seven books that will do that for you! These books teach you basic skills that any programmer can use and, more significantly, how programmers need to think.

Let’s dive in.
Continue reading “Best Programming Books for Beginners”

Lessons From a Veteran: Back to School With Michael de Ridder’s Drunk Metaphors

This post is part of a series interviewing veteran developers, asking them questions about their journey to tech mastery and sharing the advice they have for those getting started.

Everyone has a different path in life, and that’s OK! Today we’re talking to Michael de Ridder, who tells us about how getting into programming was accidental, not intentional. And that’s OK, too.

MichaelMichael De Ridder has worked in software development, data visualization, data science, research, consulting, and business analysis across health care, telecommunications, radio and finance. He enjoys the challenge of combining and utilizing the relationships between different domains and technology. A big fan of travel, Michael is a proponent for the benefits of work-life balance, believing that time away from a subject allows creativity to flourish.

Let’s learn from him how even a (perhaps drunken) accident can lead to good things and valuable lessons.

What made you want to go into programming?

That’s a more interesting question than it seems. And it’s as good a time as any to say that I wouldn’t call myself a programmer. I recently heard my résumé described—in a job interview no less—as a drunkard’s journey. When the interviewer said drunkard’s journey, he definitely didn’t mean it as a negative, and in fact I took it as a compliment.
Continue reading “Lessons From a Veteran: Back to School With Michael de Ridder’s Drunk Metaphors”

Lessons From a Veteran: Gabriel Aizcorbe on Unexpected Lessons

This post is part of a series interviewing veteran developers, asking them questions about their journey to tech mastery and sharing the advice they have for those getting started. Today we cover a lot of topics, from whether you should go into programming or IT to being specific about what you set out to learn to the lessons you’ll never learn until you start working.

Gabriel AizcorbeAnd we’re learning about all of these things from Gabriel Aizcorbe. Gabriel got into IT when he received his first 8088 at 14 years old. From then on, his whole life was about computers, programming languages, and learning more. As a project manager with PMP and agile methodologies, he gained experience in all kinds of projects in the local and international markets. He has a deep passion for data and analysis and is striving to launch a startup devoted to data manipulation and analysis while he works as DBA/BI consultant.

Let’s hear about the lessons he’s learned on his journey.

Basic logistics: Stack? How long have you been doing it?

I’m a bit of an “un-stacked” person—more a “free soul,” if you will. I prefer to mix my own tools as I need to in order to achieve a goal. But, if I had to associate myself with a stack, based on the tools I use the most I would say  Microsoft stack. Either way, I have enough flexibility to change to a MEAN stack or whatever else comes along. In the end, they are still development tools.

And since when? Well, I started self-teaching when I was 14 years old. But let’s say that, formally, my first big development job was at 25. So I’ve been working for more than 20 years.
Continue reading “Lessons From a Veteran: Gabriel Aizcorbe on Unexpected Lessons”

What Languages Should Every Programmer Know?

It’s easy to get lost in the sea of programming languages. On top of that, there are some languages (I’m looking at you, JavaScript) that have a vast ecosystem of frameworks. Wikipedia has an exhaustive list of programming languages with several for each letter of the alphabet. I won’t count them, but there are at least 260 at a glance. There’s no way you can learn all of them. So, what languages should every programmer know?

Where to Start?

If you want to know where to start, you can take a few approaches. Of course, this depends on what you want to do in your programming career.

What languages should every programmer know?
Credit: Pixabay.com

If you want to build games, you should learn some common gaming languages (and platforms, too). For mobile app development, you would focus more on the languages used for iOS and Android development. Is data analytics your thing? It’s pretty hot right now! And if it is, you’ll want to learn data-centric languages, plus some languages that specialize in data analysis like R.

See what I mean when I say it depends on what you want to do? But if you don’t quite know where to begin, you might look at the markets. Are you interested in learning to code because it has a good job market? If that’s your game, then you might consider using the markets as your guide.

Two points to consider:

  1. The markets are always changing.
  2. Some languages are in demand because knowledge of those languages is uncommon.

Also, you can ask around. Of course, if you ask five different people, you’ll get five different answers. But, you can always take the ones that are mentioned more frequently and start there. I’ll share my own list and see what others have to say on the topic, too!
Continue reading “What Languages Should Every Programmer Know?”

What Non-Programming Skills Do Programmers Need?

As programmers or aspiring programmers, we often focus on the technical skills we need to build software. We work on improving our programming skills, picking up new frameworks, or reading technical books to improve our knowledge of computer science.

However, those technical skills will only get us so far. As with most careers, we need to expand our learning and also focus on professional skills. And actually, these skills will make the technical side easier, as we’ll have more clarity on what we need to do to solve problems.

In this post, we’ll go over what non-programming skills programmers need to use in our jobs.

1. Communication

First and foremost, we need to be able to communicate with our fellow programmers, analysts, product managers, and customers. Without clear communication skills, requirements get lost or misunderstood. Technical skills will only get us so far. We need to expand our learning and focus on professional skills. And actually, these skills will make the technical side easier, as we'll have more clarity on what we need to do to solve problems.As a result of poor communication, programmers might build the wrong solution to the problem. Or their solution might make things difficult or clunky for the user because the programmer didn’t understand the problem correctly.

A lot can go wrong with communication. And since communication is the most important skill that we’ll cover, let’s break it down further.
Continue reading “What Non-Programming Skills Do Programmers Need?”

Should Developers Write Documentation? Yes, and Here’s Why

Should developers write documentation?

Yes. Yes, they should.

That’s it. Everything you need to know! Come back next week for more helpful career advice for aspiring programmers.

Oh. You want to know why developers should write documentation? Fine.

Why Developers Should Write Documentation

Developers should write documentation because it makes it easier for both you and your coworkers to use your code. Well-written code is easy to read and understand. Documented code, on the other hand, is a gift to everyone—even to the coder that created it.

Writing documentation makes you a more valuable developer and will help your career. Documenting your code makes you a better developer and helps you design better systems. Continue reading “Should Developers Write Documentation? Yes, and Here’s Why”