Pittsburgh Web Developer
Where Do I Start as a Developer?
You're deciding that you'd like to learn programming, eh? Maybe you decided you need a change of careers and heard this one has decent pay and security. You may know a someon who is currently thriving at it and has suggested it. It's a good decision: if you can commit to learning, that is.
What is it, though? What do programmers do? A "programmer", is a generic term for someone who solves problems using a programming language. The good news is, no one is hiring for a job title of "programmer". If I saw a job with this title, I would click out of morbid curiousity. It would be like seeing a job post for "boss person".
So if a programmer is a person who solves problems with programming languages, what are the problems that need solving? What are programming languages? This is where you start. Because it's these gists that direct us to the following destination.
What Is a Programming Language?
I'm going to give you the dumbest but most useful definition. A programming language is a language that goes into a computer to tell it to transform data and put it somewhere else.
This is far from what most text books will tell you, but this is the truth. This is the barebones fact of what a programming language does. As far as what data is, you may have heard that data is 1's and 0's or bits. The truth is, most data is moved around as bytes which is typically eight bits. Sequence of bytes are used in the computers processor to add, multiply, and do other maths.
Most languages are built on other languages and don't directly touch these bytes.
What Problems do Programmers Solve?
We are at a point in time where we want to solve everything with code. This is not possible, so the quick and general answer is this: programming languages solve problems revolving around data, which is what they do work upon.
Because data lives in files, streams from network sockets, or just floats around in RAM, and there are there different business domains with specific problems pertaining to data, many different languages have been invented. Some examples of languages and what they're good for (I put a star next to some that are good to start with):
Language | What It Gets Used For |
---|---|
Java ⭐ | Enterprise Desktop Applications, Back-end Web Development |
Go ⭐ | Enterprise Desktop Applications, Back-end Web Development |
Rust | Back-end Web Development, Systems programming |
Python ⭐⭐ | Back-end Web Development, Scripting, Data Science |
Ruby | Back-end Web Development, Scripting |
JavaScript | Client (browser) code, Scripting (with NodeJS), Back-end Web Development (also NodeJS) |
PHP ⭐ | Back-end Web Development |
SQL (PSQL, MySQL, SQL Server, Others) | Database administration and general reports via querying |
C, C++ | Back-end Web Development, Systems programming |
Swift | IOS App development |
Lisp (Clojure, Scheme, Common Lisp) | Scripting, Back-end Web Development |
Haskell | Academic use, Back-end Web Development |
R | Data Science |
Assembly | Systems programming |
Fortran | Systems programming |
I put two ⭐'s next to python because it is by far one of the most plain english like programming language with least syntax to learn, plus strong-typing (so you learn a bit about types). From there, you could pick up PHP JavaScript, HTML and CSS if you want to learn more web development. Or something like Java or Go if you want to learn how to build desktop applications.
Keep At It
No one learns, or even masters their first language over night. I would say expect at least a few years to get half-way decent with one. Although, most developers who pick up one language learn many. Each language has a unique approach to solving problems, but they each borrow ideas from each other.