You could be an amazing programmer, but if you’re experienced in the wrong areas, you still might not attract attention from companies. Industry-standard languages and tools are pieces of software that teams actually use to build products and services. As a result, recruiters and hiring managers will look out for candidates who already have these skills, which will give them a boost in the application process.
Tech is a constantly-evolving industry, which means that the industry-standard tools are too. Some stick around for years, while others are constantly replaced as new packages and libraries are released.
These tools are NOT requirements, but it’s a good idea to be familiar with at least one of them in each category. Once you figure out which area of tech you enjoy most, you can dive more deeply into the related tools. When you do projects, keep these in mind, as experience using them is very valuable to an employer.
Software Engineering - All Roles
Github
Github is a version control platform that makes building software much easier. Almost every company uses Github to store its code. The tool’s name comes from Git, which is a more general version control system (Github is the most common implementation of the system).
Command Line Interface (CLI)
Using the command line is a necessary skill as a software engineer. It will help you run your code, navigate your computer’s file structure, configure virtual environments, and more. The command line is part of your computer’s operating system and is accessed through the terminal.
VS Code
VS Code is made by Microsoft and is among the most popular Integrated Development Environments (IDE). Simply put, it’s an app that lets you run code in essentially every language. It also includes a built-in terminal, thousands of extensions for various purposes, and tons of customization. Across the board, developers rave about VS Code.
AWS/Google Cloud/Azure
These three platforms are the most common Cloud platforms. They each contain a host of services including data/file storage, cloud computing, website hosting, remote functions, and so much more. Companies use them for everything they do, so understanding how they work is a great skill to have.
Docker
Docker is a platform that allows developers to build applications in containers. Containers package applications with the other resources they rely on to ensure that the code can be run on any computer.
Selenium WebDriver
Selenium is a tool that allows for automated interactions with websites, making it easy to test web-based applications. It’s compatible with all popular browsers.
Software Engineering - Web Development
React
React is a web development library created by Meta that combines Javascript with HTML-like structures to make building complex websites much easier. Its main feature is a refresh algorithm that only updates the on-screen features that have recently changed, which makes React sites load much more quickly. The framework also contains a ton of other great features, documentation, and support, which is why it’s become the gold standard for front-end development.
Javascript/Typescript
Javascript is the #1 programming language used by developers. In web development, it can add interactivity to static sites, fetch data, and dynamically load content. Typescript is Javascript’s statically-typed sibling, which basically means there are stricter rules about how to write the code. It’s more of a headache to use Typescript upfront, but protects against bugs in the long run.
Mobile Development
Android Development
Android Studio
An IDE specifically designed for Android Development. The default language is Kotlin, which is very similar to Java.
Kotlin
A relatively new language, Kotlin is now the preferred way to develop android applications.
Jetpack Compose
UI toolkit that creates components and layouts for Android applications.
Apple OS Development
XCode
XCode is an IDE specifically designed for development on all types of Apple devices (macOS, IOS, iPadOS, watchOS, tvOS, and visionOS). XCode uses Swift, which is relatively similar to Java and JavaScript.
Game Development
Unity
Unity is a game development platform that can be used to create 2D and 3D games, simulations, and more. Unity is fairly easy to learn and uses C# for scripting (programming game logic, object behavior, etc.).
Unreal Engine
Unreal Engine is a rival 3D game development engine to Unity, developed by Epic Games. It’s used for Fortnite, Sea of Thieves, and other popular games. Unreal Engine is the better choice for complicated and high-tech games, while Unity is better for simple projects and demos.
Team Management Tools
Jira
Jira is a project management platform that helps teams manage tasks, report bugs, and collaborate. It can be overwhelming at first because of the quantity of features, but it’s important to get a good sense of the basics.
Trello
Trello is a project management tool just like Jira, but it’s a lot simpler to use. Its main feature is a Kanban-style board that contains different columns for tasks (usually something like To Do, In Progress, and Completed).
Slack
Slack is a communication platform designed for teams, allowing real-time messaging, file sharing, and collaboration through organized channels and direct messages. It integrates with various tools and services, making it a central hub for workplace communication and project management.
Data Analytics
Jupyter Notebook
Jupyter Notebook is an open-source web application that allows users to create and share documents containing live code, equations, visualizations, and narrative text, making it ideal for interactive data analysis and scientific computing. It supports multiple programming languages, with Python being the most commonly used.
SQL
SQL (Structured Query Language) is a standardized programming language used for managing and querying relational databases, allowing users to efficiently extract, manipulate, and analyze data. It is essential for working with structured data and is widely used in data analysis and database management.
Tensorflow
TensorFlow is a publicly-available machine learning framework developed by Google that allows users to build, train, and deploy deep learning models, offering flexibility through its high-level APIs and efficient execution on CPUs, GPUs, and TPUs. It is widely used for large-scale machine learning tasks and production-level deployments.
PyTorch
PyTorch is an open-source deep learning framework developed by Facebook that provides a dynamic computation graph, making it intuitive and flexible for building and experimenting with neural networks. It's favored in the research community for its ease of use and seamless integration with Python.