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”

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”

How Many Hours Do Software Engineers Work?

The world of software development has a strange reputation, both for insiders and outsiders. One thing many people have wrong ideas about is how many hours software engineers work, or should work. I’d like to dive a little deeper into this subject: What is the reality and what should you do?

What Many People Think

Many people think that software engineers work almost all the time. When you ask about average work hours per week, numbers between 60 and 80 hours per week are not an uncommon response. This idea lives among both developers and non-developers. Among some developers, there is also a strong feeling that you can only be a great developer if you work this much.

How many hours do software engineers work?
Photo credit: Pixabay.com

I’m not sure where the idea comes from. Maybe it originated from the image of the asocial nerds that spend all their time sitting behind a computer. Or maybe the immense pressure that Silicon Valley startups have put on young developers created this idea. In some cases, developers like to cultivate this image out of some peculiar macho reasoning of what it takes to be a “real” developer.

Apparently, things have improved over time. A CNET article talks about how companies and individuals have evolved to more realistic work weeks and room for a personal life. Companies have also realized that overtime doesn’t necessarily mean developers will be more productive. And with the advent of working from home, developers can increase their productivity without crunching extra hours.

The Reality

The reality is complicated. Continue reading “How Many Hours Do Software Engineers Work?”

Do Programmers Use Mac or PC?

In this post, we tackle a question that troubles many an aspiring programmer: Do programmers use Mac or PC?

The question does have a short, straightforward answer. Here it goes: Some programmers use Mac, while others favor PCs running Microsoft Windows. Still others prefer to use one of the many Linux distributions. Last but not least, some use some combination of the options above.Some programmers use Mac, while others favor PCs running Microsoft Windows. Still others prefer to use one of the many Linux distributions. Last but not least, some use some combination of the options above.

Are you satisfied with this answer? I wouldn’t be. As it often happens, the short answer turns out to be too short. Despite being technically correct, it doesn’t tell the whole story. I bet there are more things you want to know about this Mac vs. PC thing. For instance, where does this trope come from? Why does the perception that developers disproportionately favor Macs exist? Are Apple devices really the best option for software developers? Where does Linux fit in?

These are the kinds of questions we’ll answer in this post. By the end of it, you’ll understand the role that your choice of platform actually plays in your software development career.

Let’s dig in. Continue reading “Do Programmers Use Mac or PC?”

Do Programmers Need a Degree?

In today’s job market, many of you look for ways to improve your employability and earnings potential. And you may have noticed articles pointing out the apparent shortage of programmers, along with information on the amazing salaries and benefits they receive. Combining all these things, you may be one of the many people who are now trying to break into programming.

And for those of you who are trying to break in, one of the most popular questions revolves around degree requirements. Mainly, you want to know if degrees are required. And you want to know if the degree has to be in a specific field of study.

Today we’ll answer your questions and give you some things to think about. Because as you’re about to see, the answer to whether programmers need a degree isn’t always simple.

Some Say No, You Don’t Need a Degree

First, many programmers don’t have a degree. Others do have a degree, but not in computer science (CS) or software engineering. For example, my degree is in business administration. Also, I’ve worked with developers that have degrees in music, physics, graphic design, math, education, and even dietetics!

But are these just an example of survivorship bias? Maybe.

Do you mere mortals still have a chance at a lucrative programming career? Definitely.

Continue reading “Do Programmers Need a Degree?”

Should Programmers Learn Linux?

Stop me if you’ve heard this one: “Programmers only use Linux. PCs and Macs are for noobs!”

Yeah, no.

Linux is a tool. Windows is a tool. MacOS is also a tool. Each is an operating system (OS) that you need in order to make a computer useful, and each has its advantages and disadvantages. The problem is that, just like many other tools, these popular OSs have tribes. If Windows is DC Comics and macOS is Marvel, then Linux is Dark Horse.

Uh, What Is Linux, Anyway?

Let’s start at the beginning. (It’s one of my favorite places to start.) If you’re asking whether you should learn Linux, you could probably use a quick introduction to what Linux is. While Windows and macOS are individual operating systems that Microsoft and Apple sell and support, what Linux is (and isn’t) is a little more complicated.

Continue reading “Should Programmers Learn Linux?”

What Is the Best Programming Book for Beginners?

I know, I know.  You’re here looking for the best programming book for beginners (if you came here from Google).  The one book to rule them all, as it were.

I wish I could give you that.  I wish anyone could.

But here’s the thing.  Programming is so involved — so complex — that anyone offering a book like that is selling you snake oil.

There are bootcamps and 4 year CS degrees dedicated to preparing you for a programming career.  No one book is going to stand in for that.  And that applies even if you’re looking for a hobby, rather than a career.

So what I’ll do in this post is make some book recommendations.  By the end, I’ll offer a lot of those.

But first, I’ll do something you won’t see in other posts about beginner programmer books.  I’ll give you a definitive sequence of books to read along with an explanation of why these books, in this order.  Then, I’ll offer the obligatory, “here’s all kinds of books you could read.”

Continue reading “What Is the Best Programming Book for Beginners?”

Languages on boards

Why Are There so Many Programming Languages?

Recently, an outsider to the programming world offhandedly asked me a question: “why are there so many programming languages?”

This gave me pause for a moment.  When you’re steeped in the programming world, you just kind of take this for granted.  In that sense, it’s like me asking you right now, “why are there so many spoken languages on Earth?”

But I reflected a little further on it.  And I decided it would make good fodder for this blog—one that answers questions asked by newbie and aspiring programmers.  We answer questions about whether software engineers are happy and whether programmers should blog.  Why not this question?

So let’s look at why there are so many programming languages.

First of All, Are There Really a Lot of Them?

Before answering the question outright, we should probably look to quantify the vague claim “a lot.”  How many programming languages are we really talking about?

Is five a lot?  10?  20?

I went over to Wikipedia’s list of programming languages to see if I could give you a number.  And I can.

There are 68 programming languages… that start with the letter “S.”  I’m not going to count the entire page, but based on “S” you can easily extrapolate that we’re talking hundreds of programming languages.

And, depending on how you define “programming language,” one might argue that this understates the number out there.  After all, this list omits markup languages like HTML and XML.  (Some consider these programming languages, though I don’t, myself.)

So yes, there really are a LOT of programming languages.  Now we just need to talk about why.

Continue reading “Why Are There so Many Programming Languages?”