What Do Coders Actually Do?
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 the end, the bulk of a developer's day is writing code using a programming language like we've described. Examples of languages that you may have heard of include HTML, JavaScript, Ruby, and Python. In fact, there are hundreds of programming languages in existence, and each one specializes in something unique. For example, HTML is used for websites, and SQL is used for databases. At times, multiple languages are used together. In fact, most websites include a combination of HTML, CSS, and JavaScript in addition to other languages as well.
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.
If you're considering becoming a software developer, I recommend shadowing a software developer for a day. This will help you really envision what the day-to-day looks like, and can give you a sense as to whether it's something you can imagine yourself doing. Keep in mind that the day-to-day can vary across companies, but seeing even one in action will give you a solid baseline and help you determine whether software engineering is within the ballpark of being your desired career.
Get Expert Advice
The Actualize Blog is where you can get expert advice and insights for learning to code from our CEO, Jay Wengrow. Subscribe to the Actualize Blog and get notified each time we publish a new article.