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?”

Lessons From a Veteran: Approaching Things From a Different Direction

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.Eric Goebelbecker

Today Eric Goebelbecker is telling us about what really matters for programmers. Eric is a developer, DevOps engineer, system administrator, and whatever else he needs to be for the small trading firm he works for. He’s also writes fiction and enjoys cycling in his free time. You can catch up with him here.

How long have you been a programmer? What Stack do you work with?

I’ve been working as a developer in one form or another for just about 28 years. I started playing around with code a decade or so before that. The “one form or another” bit feeds into the stack question.

Talk code to me coffee mug
Image credit: Pixabay.com

The first bit of code I wrote for money was while I was working as a systems engineer for a major financial services firm. A major job called for a small bit of custom code, and I raised my hand and wrote it. That eventually led to supporting the API for my employer’s middleware.

So suddenly, I was a C developer. Continue reading “Lessons From a Veteran: Approaching Things From a Different Direction”

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?”

Lessons From a Veteran: Step Outside of Your Comfort Zone

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, Omkar Hiremath is telling us about lessons he’s learned during his journey as a programmer. Omkar uses his BE in computer science to share theoretical and demo-based learning on various areas of technology, like ethical hacking, Python, blockchain, and Hadoop.

Let’s find out what advice he has for new programmers.

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

Python code on a phone screen
Credit: Pixabay.com

I started programming when I was in school. Like everybody, I started with C and C++. But when I started programming in Python, I never felt like going back or changing. What interests me about Python is that there’s a library for almost everything.

I’ve been programming since 2012.  Apart from my work with Python, I’ve done a decent amount of Java programming, mainly for Hadoop, and Bash scripting. But if I have to talk about what I regularly work with, that would be Python and ethical hacking tools because I’m also into cybersecurity.

What made you want to go into programming?

Something about computers always grabbed my attention. I started using a computer when I was 7 years old, and computers have always been like magic to me. I was very curious to know how computers work. That’s where it all started. I started researching and learning about computers and how they work. And one day I read about what a computer code is.

Continue reading “Lessons From a Veteran: Step Outside of Your Comfort Zone”

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?”

Lessons From a Veteran: Hard-Nosed Advice From a Softie

“Lessons from a veteran.” Ow, doesn’t that just make you want to duck and run?

Trust me, I didn’t come up with the first part. Being called a veteran is a lot more attractive than the dinosaur label I put on myself more than 10 years ago (already!). Being a dinosaur is what it felt like, though, being at least 10 years older than my colleagues and having started in programming long before many of them were even born.

From the Seven Seas to Bits and Bytes

My career started in 1985, the week after I graduated from nautical college. Yes, I was trained as a ship’s mate. I loved the education, the variety of topics, and the adventure of sailing the seven seas during my apprenticeship.

Three months into my final year at college, though, I realized that I would get bored pretty quickly, despite the variety of work as a mate.

HP3000
A relic from when dinosaurs roamed the earth. Credit: Pixabay.com

Being a sailor isn’t half as romantic as it sounds. The long stretches crossing an ocean are tedious, to say the least. There is little to entertain you (remember it was the ’80s!) and no way to escape your colleagues unless you want to become fish food.

At the time, my brother was working somewhere programming coffee machines or cash registers. Having taken classes in electronics and BASIC programming (no, not Visual Basic, basic BASIC, on an HP3000 with teletype terminals) at nautical college, I figured I could do that, too.

Six months or so later, I walked into the offices of Volmac, the biggest and badassest software consultancy firm in the Netherlands at the time.

Continue reading “Lessons From a Veteran: Hard-Nosed Advice From a Softie”

Lessons From a Veteran: When You’re Not Sure If This Career Is For You

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.

Sylvia FronczakToday, we’re talking to Sylvia Fronczak. Sylvia is a software developer that has worked in various industries with various software methodologies. She’s currently focused on design practices that the whole team can own, understand, and evolve over time.

Wondering if a career in programming is right for you? Read Sylvia’s advice below.

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

Most of my career has involved Java in some shape or form. Coming in a distant second place is JavaScript, and it’s distant mostly due to the fact that I’ve spent more of my career developing back-end web services or batch jobs than apps that include a front-end. In the case of Java, I’ve been writing Java for over 20 years, since version 1.2. The language has changed so much over the past few decades as it works to follow the needs of programmers. And although many other languages have become very popular, Java still has a strong share of the market.

Early in your career, don't put too much emphasis on learning multiple languages and frameworks. Instead, work on getting depth in just a couple languages. And then learn those well.

Although I’ve done mostly Java for my entire career, there’s a ton of value in learning other languages, frameworks, and tools. In fact, I spent time working with many other languages, like C++, C#, Kotlin, Groovy, and Scala. For front-end work, when just considering JavaScript frameworks, I’ve used jQuery, Vue.js, Angular, and React. And then if you add in all the different databases, integration tools, and messaging systems, you can see that there are a lot of different tools to solve software problems.

Through my experience, I realized that one of the most important skills you’ll develop over your career in programming involves being able to pick up new languages and frameworks easily.

Continue reading “Lessons From a Veteran: When You’re Not Sure If This Career Is For You”