This is a typical question of people who are starting in programming or of those who are already working and want to increase their productivity.
I have worked as a Software Engineer for the last five years so I believe I will be able to answer that question.
If you want to learn.
Well, I would like to start this section saying that I started to learn algorithms on a PC that my mother bought me when I was 12 years old. I started to learn algorithms when I was 17 years old which means that computer was an old one for that time. It just had 2GB RAM, 225GB (obviously no SSD), and an Intel CPU which I don't remember what it was. What I'm trying to say with this is that you can learn programming basically with any computer out there. Nowadays, CPU's are really fast and they can run basic algorithms in milliseconds.
If you want to start to build something.
Well, let's imagine you have already learned the basis of programming and now you want to build something. Here the original question can be harder to answer because it depends on what you want to build.
If you want to build some web app, I would say you will be fine with 4GB RAM and 125GB SSD. Basically all you need for web programming is a browser and a code editor. Assuming you have these specifications on your computer you will have to be careful with the tools you choose to work. You will have to use a simple editor like Sublime Text or VIM because the most powerful editors out there requiere more RAM. If you have ever used Google Chrome then you know it takes a lot of RAM and it is the most popular browser so I'm assuming you use that one too, but of course you can try with another one that doesn't require much RAM memory.
If you want to build some mobile app, I'm afraid that 4GB of RAM and a modest CPU won't be enough. Of course you will need SSD storage, nowadays it is difficult to work without that. At least you need 8GB of RAM and a good CPU, that's because when you build mobile applications you will probably need a powerful editor, an IDE, and an emulator to make sure your app work fine in different devices and a good CPU to compile your code fast.
I would apply those specifications to those who want to build some desktop applications.
If you want to increase your productivity.
Assuming you have some experience programming but now you have to increase your productivity and you don't want to waste time waiting for things to load. I remember asking myself what computer I needed to work without wasting time and I made some mistakes which I would like to help you to avoid.
As you have probably noticed I have mentioned RAM even more than CPU, and it's because in programming believe it or not you will need a lot of RAM memory. That's why if you want to be happy and have a lot of tabs open, several instances of your favourite editor running and all dependencies that your app needs to work. All of this at the same time, you will need 16GB of RAM and 500GB SSD. About the CPU, I think it's a difficult question to answer because it depends on how much money you want to spend, I would recommend M1 processors, Apple is doing a really good job with those processors, they are insane. But if you don't want to use Apple which is perfectly fine, I would go for those i7, i9 Intel processors of which I have seen some reviews on the Internet and they seem to be good enough, some coworkers use them and they work fine.
Conclusion.
I didn't give specific recommendations because I think everyone needs to search what is better for them. I just gave some general specifications which I think would work for different cases. I hope this article was useful for you, if you have any suggestion or any experience to share regarding the topic, let me know in the comment section.
Top comments (0)