Once you have decided to travel the long, challenging, and highly rewarding path of software development, dozens of questions come up. “How do I start programming?”, “What tools do I need?”, “How much money do I have to invest?”, and many more along that line.
The thing is that, for those who have not started any kind of programming, it sometimes seems like an impossible leap to accomplish what the professionals are doing. As if they missed some kind of vessel that could take them to that distant land. But it is a matter of preparing a couple of tools and just starting coding. It might seem too simple at the beginning, but complexity will come as you progress.
So you go and enroll in a computer science career, or maybe you plan on attending a coding boot camp, take a course online, or even buy a book and follow the instructions written there. That’s the first step, deciding how you will start learning. Then, you will need a computer and access to the Internet (basically essential at this point). But, which computer? And what else do I need? Stick around to find out!
Although programming applications, creating simulations, managing great amounts of data, and many other projects end up requiring great computational power, for a beginner, a working computer, a screen, a keyboard, a mouse, and access to the Internet might be enough.
Still, since you plan on programming for the long run, there are some recommendations that you could follow, to make sure you get what you need now, but also planning ahead:
- Make sure your computer has at least an Intel Core i5 processor.
- An 8GB RAM (Random-access Memory) is pretty good for beginners. If you have 16GB RAM, even better.
- HDD (Hard Disk Drive) space is pretty cheap nowadays, so you can go with at least 512GB without a problem.
- A desktop computer usually has better specs, but a laptop is more portable. Choose depending on what you prefer.
Keyboard, mouse, and screen
These I/O (Input/Output) devices might not be essential if you use a laptop, but there is still some benefit of using an external mouse, keyboard, or a bigger screen.
Here are some suggestions as to how to choose suitable, standard I/O devices for your system:
- The keyboard has to be comfortable since you will be using it for long periods. Backlight for the keys is a good improvement for working in dark environments.
- For the mouse, just find a Bluetooth mouse that you are comfortable with.
- The screen depends on the user, but you might want something big enough since it is a common practice to split-screen when programming to see both the code and the result. A two-screen setup sometimes makes you more productive.
It is common, maybe due to how pop culture has portrayed developers, that beginners think they might need a sophisticated OS (Operating System) with many complicated programs to start working. But in reality, you can start with any OS you are using. Eventually, you might have to get a grip of each, especially if you plan to develop an application that works on all of them, but any of these three is a good starting point:
- Windows. According to data from StatCounter, more than 76% of computers run on Windows. It is a great starting point since any program you create for Windows will run on most computers.
- macOS. Used on Apple computers. About 17% of computers use it, so it is good to understand at least how it works. This OS is fast, reliable, and a great way to get started.
- Linux. The old reliable for more experienced developers. Although less than 2% of computers run on Linux, it has enormous capabilities, including an all-powerful terminal that you might eventually dominate.
Tools and programs
As you can imagine, thousands of tools help you code better, find resources on the web, use different programming languages on the same file, and numerous other uses. Here are some of the essential tools you need installed before really get to work:
- An Internet Browser. Make sure you download either Google Chrome or Mozilla’s Firefox. Both come with useful developer tools that help you during web development later on. Chrome is fast and works well with a few tabs opened, while Firefox works great when working with many tabs.
- A text editor. Notepad is the most basic one, but it is beneficial to install something more dedicated to programming. Try Notepad++, which uses a colorized layout depending on the programming language used. After you master that, you can go to more complex editors like Sublime or Visual Studio.
- Programming languages. It is recommended to learn HTML & CSS to get an idea of how the web works and Python programming language to get coding. Python is a high-level language. It is easy to understand and has a simple syntax. It can either be used for simple algorithms as for programming Machine Learning.
Tips and tricks
Other tools will make sense and become available as you progress, but you are on a good path here. Even so, here are a couple of tips and tricks to make your programming journey easier:
- Autocomplete is your friend. Learn how to use it since programming means writing repetitive commands all the time.
- The colorized layout mentioned earlier is a great tool. Make sure you are using it on your text editor.
- Set up times for social media since they are a great distraction when working.
- Finally, once you start understanding programming concepts, you can begin to look forward to what path excites you the most.
So, get started and get to work. Software development is a complex and long way to go. Still, if you are passionate about it and overcome the obstacles that come your way, it will be enriching. There are infinite things to build out there, there are many exciting jobs and projects, and the field is constantly evolving. So let’s hope this guide has helped you in this journey, and good luck.