There are many, many different programming languages that developers use when building web products. C++, Javascript, Python, GO, Rust, Ruby PHP, the list goes on. Figuring out where to start can be daunting.
One of the best ways to start a journey with many paths is to ask someone that’s reached the destination you want to go. Whether you’re working as a front-end, back-end or full-stack developer, you want to learn a language that can help land that coveted over-$80,000 a year salary. In Baltimore, when Technical.ly looked at the data behind high earners — specifically, those making $200,000 — we found computer systems design and related services were among the top 10 industries that produced the highest earners in the city during both 2009 and 2019.
But the question remains: What coding languages should aspiring programmers be learning if they want to break into the tech industry?
Stack Overflow, the crowdsourced software developer learning site, polled 70,000 software developers to nail down what devs are using to improve their skills, as well as the languages they’re investing their time in. But to give the knowledge from that raw data a more personal feel, Technical.ly asked software developers in Baltimore what coding languages they’d recommend starting tech career today. We also asked if, were they to go back to the first year of their career, they would do something different and learn another coding language. Here’s what five of them had to say:
Chris Uehlinger, software engineer at TechSlice
When I was a kid, I learned C (my uncle gave me his old textbook). I would not recommend this approach to anyone. While I hold C in high regard and think all software engineers should learn it at some point, it’s a really difficult starting language and isn’t very rewarding until you have a ton of experience. In fact, I actually gave up programming for several years because I was failing to make the kinds of programs I wanted to make.
These days, I recommend people start with HTML, CSS and JavaScript. These are languages with a lot of market value, but more importantly, they’re the raw material that makes up most of the software you interact with on a daily basis. And unlike C/C++ programs, if you see a website doing something cool, you can open the DevTools in your browser and actually read the code for yourself. When you’re getting started, that’s the most important part of staying motivated: Learning how to make the things you like.
Yair Flicker, president and founder of SmartLogic
Years ago, I would have said PHP, given how easy it is to spin up a web application using PHP. Now, I would say Ruby on Rails — Ruby being a programming language, and Rails being a framework built in Ruby that people use to create web applications. Nowadays, there are so many resources for learning to program in Rails, from bootcamps to self-directed courses one can take, local meetup groups and others in industry who are happy to mentor and impart knowledge to others. If getting a job is your goal, then [you can] rest assured knowing that your skills will be in demand as a Rails developer.
I’d also pick up a functional programming language like Elixir. Elixir is a popular choice for creating scalable web applications and is seeing increasing adoption across the market. Being a good Elixir developer will also help you be a better JavaScript developer.
Sunny Sanwar, founder of Dynamhex
Like most skills in life, having an idea of where and how to use them is vital to making sure the right set of skills are being identified, learned and perfected over time.
For most developers, people early on gravitate toward front end (what people interact with, either on a website, a phone screen or some visible widget that represents a program or code) or back end (server-side scripting that executes code or stores data in databases that run commands to retrieve certain things when the client/user wants it). Eventually, some can even do both of these well and becomes a full-stack engineer.
After going through the process myself, I would highly recommend general purpose languages like Python, given its ability to be used in various things, (from) making models to websites to scientific experiments.
If a person has already chosen web development as a focus (that is, they want to be a web developer), then JavaScript and related libraries could be beneficial.One final thing to note is that coding and programming are separate things — the same way typing and writing are different. Just knowing how to code doesn’t make you a programmer. That comes with practice. Regardless of the language or stack you chose, start doing small, almost too simplistic projects and add more complexity over time. Only then can you create meaningful programs with elegance and simplicity.
Tronster Hartley, technical team leader and senior software engineer at Firaxis Games
I wish I had a cut and dry answer to this question. When I adjunct at the University of Baltimore, I get asked a similar question by my students every semester.
If someone wants to break in the video games industry, the language they should learn will depend on what aspect of the games industry they wish to enter: indie, or AAA.
If they are unsure, then I recommend they learn C++ (at least up to the C++11 standard) as it will give them a foundation in whatever sector of the games industry they wish to enter. If they are leaning more toward indie game development, then C# coupled with the Unity3D game engine tends to be an easier path forward. A large community of indies have gathered around it which has resulted in a good amount of free documentation, videos, and social networks to help each other.
If the programmer wants to pursue AAA, then C++ and even non-object-oriented C are good places to start learning. Although there is a bit of a learning curve, there are many engine options to pursue with that programming knowledge such as Godot and Unreal. It’s also the language of choice if [you’re] rolling your own game engine.
These days, I also think there is a lot of value in JavaScript/TypeScript as using the web as a platform to deliver games (and other applications) is becoming prevalent with the adoption of the WebAssembly technology in browsers — which allow for web-based programs to execute at near-native application speeds.
If I was starting today, I’d be following my own advice and ensure I have a good foundation in C++ but also be looking to the future with WebAssembly and Rust. The latter may one day be a replacement for C++, as Rust attacks problems on the same abstraction level but has memory safety built into its foundation. This makes it an attractive option in firms who need to quickly scale their applications without sacrificing security.
Brian Seel, data analyst for the City of Baltimore Department of Transportation
I started out writing in C and C++ because that’s what I learned in school, but I didn’t really enjoy it that much. I think writing in C++ is probably a great move for job security and pay because there are fewer people that seem to write in it, but it also feels like fewer projects are being written in it (so you might be more likely to be maintaining codebases, compared with writing new code).
I don’t regret how I started my career. I guess if I were to give a younger version of myself career advice, it might be to consider not going to college. I feel like so much of the stuff I learned as a computer science major really didn’t help me out that much. I took so many math classes that have not been very useful to me (I don’t write algorithms) and I could have learned a lot of the software engineering in a trade school, or just skipped it. I think there are definitely people who need that kind of low-level knowledge, and I started to go down that track when I did some kernel development and malware analysis. But I ultimately didn’t enjoy it that much.
There are lots of options out there, and no one right answer. Go make some mistakes and figure out what you enjoy.
Donte Kirby is a 2020-2022 corps member for Report for America, an initiative of The Groundtruth Project that pairs young journalists with local newsrooms. This position is supported by the Robert W. Deutsch Foundation.This editorial article is a part of Tech Education Month 2022 of Technical.ly's editorial calendar. This month’s theme is underwritten by Verizon 5G. This story was independently reported and not reviewed by Verizon before publication.
Before you go...
Please consider supporting Technical.ly to keep our independent journalism strong. Unlike most business-focused media outlets, we don’t have a paywall. Instead, we count on your personal and organizational support.
Join our growing Slack community
Join 5,000 tech professionals and entrepreneurs in our community Slack today!