If you ask a programmer, software engineer, or product manager what website they use the most, they’d probably all say the same thing: Google. Even the most experienced programmers rely on Google to answer questions about code — it’s not cheating, it’s part of being a resourceful problem-solver.
Besides Google, there are some other industry-specific programs, websites, and pieces of software that are ubiquitous among the tech community, and will help you code and work more efficiently. So we asked our team of Curriculum Developers at Codecademy to share the go-to software and applications that make their lives easier.
Whether you’re a coding newbie or you’re a working developer looking for new ways to streamline your process, here’s what to bookmark and use.
This is a public platform that technologists use to ask and answer questions about coding. Stack Overflow has more than 100 million users, which might sound overwhelming if you’re new to coding, but it’s an invaluable resource for programmers and developers to connect and problem-solve with other people.
Most people head to Stack Overflow to troubleshoot technical questions. For example, people ask quick questions like how do I compare strings in Java? Or more open-ended ones, like how do purely functional languages handle index-based algorithms? It’s wise to spend a little time on Stack Overflow before contributing a question, because there is some etiquette to it — they even have a handy guide for how to ask a “good” question.
Curious what that website with the cat logo is all about? GitHub is a widely used web application that allows developers and code enthusiasts to host, explore, and work together on code with their teams and the broader developer community.
For an overview of how to use GitHub and Git, the command line software that keeps track of changes, check out our Learn Git & GitHub course. (And, in case you’re wondering, the cat in GitHub’s logo is technically an octocat named Mona.)
Some folks prefer to navigate their computer using the terminal, versus using your mouse to click on icons to open software. Through the terminal, you can open applications, enter commands, and modify folders. Mac computers have a built-in terminal console (literally called Terminal), whereas Windows’ is called Command Prompt.
Intimidated by the terminal’s blinking cursor? Take our Command Line course to learn how to navigate your computer’s filesystem and run built-in programs or custom scripts.
An IDE that you’re used to
If you’re writing code, you’ll need an Integrated Development Environment (or IDE), which is a place where you can write, edit, and test your code. IDEs are designed for coding, so they have helpful features like syntax highlighting and debugging tools. An IDE is like a combination of a terminal and a text editor, explains Alex Kuntz, Curriculum Manager at Codecademy. “The difference between an IDE and a terminal is that an IDE is software that will let you write code in addition to running it,” he says.
Pro Codecademy users have access to their own IDE called Workspaces; it’s your own space where you can experiment with 14 different coding languages. Some other common code editing platforms that you can download include IntelliJ IDEA, VSCode, Atom, and Sublime Text.
A computational notebook
A lot of data scientists use Jupyter, an open-source computational notebook, because “it mirrors a scientific lab notebook,” explains Michelle McSweeney, Data Science Domain Manager at Codecademy. “The best part about it is that you can conduct quick experiments, take notes on the results, and share it with colleagues — just like lab notes.”
You might’ve noticed that we recently added Jupyter support to our data science courses. “Learners can follow along with our code, take notes on what they’ve learned, and conduct their own experiments all without influencing the overall result,” Michelle says. You can also download your notebook to use offline, she adds.
If you’ve never used a computational notebook, now’s a great time to start. Check out our article on how to use Jupyter.
Mariel Frank, Curriculum Manager at Codecademy, likes to keep the documentation for whatever technology she’s using available to reference. For example, she’s using Go more these days, so it makes sense to have this page on-hand.
A webhook tester
If you’re using webhooks (tools that help apps talk to one another, aka web callbacks or HTTP push APIs), you’ll want a tester that can be used to validate that they’re working correctly and that they have all the information you need in the right JSON format.
DevTools for Chrome or Mozilla Firefox is essential for debugging broken web applications. These tools are located directly in the web browser, so you can access them quickly. To take a look, right click this browser page and select Inspect to launch DevTools in a subwindow.
Yes, we’re tooting our own horn — but Codecademy has tons of resources, whether you’re looking for advice about how to get a job in tech, or are ready to learn another programming language. If you want to take the plunge and switch careers, our Pro Career Paths provide a solid foundation to get started in a new role. In addition to our hands-on courses, we have a Codecademy forum where you can connect, ask questions, and get feedback from other learners in our community.