Coders go by many names. Software Engineers, Software Developers, and Computer Programmers are three of the most common terms used to describe professional coders, and all titles basically refer to the same position, as there’s no substantive difference between the three. The term programmer is slightly dated, so you’ll see more mention of software engineers and developers these days. In this book, we’ll use all of these terms interchangeably.
In a sentence, software developers are the people who create software. Now, software includes many things. Desktop applications, mobile apps, and websites are the most popularly known types of software. However, software exists in many other places too - such as in your car! These days, cars (even the ones that aren’t self-driving) have lots of software embedded within them that tells the various parts of the car how to respond to different situations. It’s software developers who create all of this software. To the user, computer programs and cars just seem to work - but it’s the coders in the background who actually bring them to life.
Even websites are a kind of software. When you visit an online store like Amazon - a lot of programming has been done to make it that you can add a product to your shopping cart and then purchase it. One can’t simply create an image of a shopping cart, add it to a web page, and automatically be able to accept orders. The code behind the website dictates all the nitty gritty details - how someone selects an item, how they add it to the cart, how payments are processed, how to notify the store that they need to ship a new order, and many other details. These processes appear seamless to the user (on a good website, anyway), but there’s actually a lot of complexity under the hood!
To make software, developers write computer code - which we’ll just call code. To understand this in greater detail, we need to understand a little bit about how computers work. Despite recent movies that make computers and robots seem to have minds of their own - they don’t. Computers are just pieces of metal connected to other pieces of metal. They don’t understand English. And they don’t understand Spanish or Mandarin either. What they do understand is binary - which is just a bunch of ones and zeroes.
In fact, even simple text like “HELLO THERE!” is really 01001000 01000101 01001100 01001100 01001111 00100000 01010100 01001000 01000101 01010010 01000101 00100001 to the computer.
Technically, we can write software with just ones and zeroes, but that’s a bit difficult. Because of this, computer scientists have created what are known as computer programming languages which resemble human language a bit more. These computer scientists also wrote software that break the programming language down into ones and zeroes so that the computer can understand it. Thus, we can communicate with the computer by writing code using a programming language - and then another piece of software that interprets that code into ones and zeroes so that the computer can understand what we’re telling it.
In some companies, developers may write code for nearly 100% of the time, while in other companies the day may also contain meetings of various sorts. These may include meetings of developers amongst themselves, developers with business managers, or developers with outside clients. These meetings are often great vehicles for allowing developers to understand exactly what they’re being asked to create.
Now that we have a glimpse into what developers do, what skills does it take to be successful? I'll explore this in a future post.
Make sure to book a tour here to see if coding is a good fit for you!