What kind of setup would you prefer if you could do it all over again today.
I did a lot of research before my purchase so I would do the same again. Let me tell you about my findings.
As a developer you mainly work with text. You write in an IDE and observe changes (maybe live) upon hitting the run button. I assume you do not like to hit the minimize and maximize button very often. I also assume you do not like to scroll up and down very often two. Given that, my first pick is dual monitor with a dual monitor arm. Alternatively you can use an ultrawide monitor.
If you want to run VM, Docker, Android emulator etc. Then some extra ram will help you a lot.
SSD helps very much.
As far I know, Processor is not that much important for regular development works. However, you know what you might be working on.
I do not need any Graphics Card. However, If your work involves heavy graphics then go ahead and buy a Graphics Card as per your requirement.
As far OS is concerned, I use Linux Mint. You can go for Ubuntu or any of it's derivatives if you do not need to work on Graphics (Ex. Adobe Products), or you do not like to play Games. There are also some edge cases where you might miss Windows though. Moreover, if you need to develop apps for Apple then you might need a Mac.
Note:
If you are a man, and use a laptop, then you may consider not putting it on your lap. Research shows that it can eventually make you impotent. In simple terms, Your balls may boil because of the heat generated by the laptop (or, what I like to call a Balls Buster).
For me, It's either Mac or Ubuntu Laptop. I Use Both.
No. I currently use one screen both at work and at home. I think I need two more at home. One of them would permanently be in portrait mode. I need more resolutions too
No.
If I wanted to spend the money, I'd have a separate gaming machine. For work, though, I'd probably go with the Ockel Sirius A Pro.
For me, I would get a Macbook. That way I could use Safari to test web pages and XCode for iOS. Ubuntu is great, but as it cannot have Safari nor XCode, I would use virtualized Ubuntu and Windows on Mac, to have best of all worlds.
For gaming I'll have a console. Its just that much easier than getting a gaming PC and graphics quality is enough for me.
I have a windows laptop for games and movies or non work stuff. My company have provided me a laptop which I use only for work. Basically I play games when I am bored especially on Saturday and Sunday. There is not much setup needed when you are working from home.
The only thing I would change would be to get a play station or Xbox to play games with better performance and super detailed graphics. And have speakers setup like a home theater. Also get a Chromecast to watch movies or sports.
Definitely, Macbook
Tired of using Ubuntu (full of bugs)
There are too many variables in this question. What do you want to develop? What do you want to play? What OS have you been using up until now and do you feel comfortable with it? Do you need a separation between work and home use? Since I am missing all the information, I will speak from my personal perspective, which might not be helpful for anyone else at all 😉
Would you use the same setup for work vs home?
Let me get this question out of the way first: No. For my day-time job, I have different requirements than for what I use at home. I do some freelance-work at home, but I also program for fun, so my home computer is more than capable of anything I need in those regards.
Mac or Windows, Desktop or Laptop?
For work, I need a laptop, because I am on the move a lot. For the tasks I do, I could go with any OS, though I'd probably go for a BSD or Linux. Compared to Windows, I feel like available DEs for them are way more out of the way and customizable to the way I work, which is why I prefer them.
At home, I need a desktop. I have a big setup, and I doubt a dock could handle it. Also, I don't really need to walk around with it, so a desktop it is. Currently, I am waiting for the Ryzen 3000 series release, and then I will start my desktop all over (see linked article below). In short, I will go for Gentoo Linux. At most a dual-boot with Windows, for games which do not work on Linux at all, and other (financial / learning) applications, which only work on Windows.
How would you handle gaming? Would you have a separate rig for that?
No. I game at home and my home computer needs to be able to handle everything: gaming, development, multimedia center. I also do develop games, so there is no other way. And I don't have the space for a TV, so my computer has to fill in all as a multimedia center, too.
As for the OS, I am using a lot of Steam, so Proton (Wine) does make my live rather easy. I also can handle Wine-Staging quite well, so I don't really have a problem with Linux. For anything else I might need, I still have a Windows license and a Windows installation somewhere on a SSD I can just plug in.
You will find some rigs here:
If money was no object: max-spec OSX laptop for coding, max-spec Win10 laptop for gaming. More realistically I'd really get a conservatively priced OSX laptop and a just-off-bleeding-edge-spec Win10 desktop for gaming. I like my dev rig to be mobile but gaming can just happen at home.
If I could only buy one machine for everything including gaming, I would have to pick a Win10 machine with WSL for coding. There are a lot of crossovers in terms of specs - both dev and gaming like SSDs, plenty of RAM and CPU. It's just the GPU that needs extra investment for gaming.
The one approach I've not really tried is a linux machine. So if I was just planning to do development and money was tight, I'd consider giving that a go. There are a lot of relatively-cheap laptops that will happily run linux for dev purposes.
I'm happy with my current setup, so I'd do the same thing again:
Mac or Windows, Desktop or Laptop?
Ubuntu desktop for me. I like having a lot of screen space, so I'd just save money by not getting a laptop. If I'm away from home, I'll just read some blogs, for which my phone suffices.
Would you use the same setup for work vs home?
Not for me, I only occasionally work from home. Also I use Windows at work.
How would you handle gaming? Would you have a separate rig for that?
I don't do gaming anymore. But if I restart someday, I'll probably do dualboot on the same machine (with the added advantage of making it hard to switch to gaming... don't want to get too addicted).
I would need a better GPU. My current PC is built for coding - the only reason it has a GPU at all is that I couldn't use two 2560x1440 screens without it.
I've recently just changed up my laptop into a duel boot, lucky enough it came with amd chip and radeon card. It's not much but it had sure helped me for development its only temp until I save up for a beasty laptop.
But then again, just then other day I have a bug with my linux and it's made me think twice about develiping just on my laptop.. and maybe investing in a desktop high tower at least for main development just in case if things go crap again!
Even I have windows for gaming, I did try using windows for programming and I've found I just cant go back, I love my linux mint tessa xfe edition as its a lot more stripped down than cinnamon so even faster.
It's also given me some insight on how heavy some desktop programs really are.
I think for development is most important with a good kick ass processor and ram and a hd or ssd, but then If you want gaming you would be looking at almost twice the double and a good duel graphics card.
My situation is that I'll be self employed soon enough but using my main desktop as main development and then a touchscreen laptop for easy bits I think will work out for me 😊
Which games you looking to run?
Joseph S Stevens
10 years of Software Development, Husband, Father and Functional Programming enthusiast.
If you asked me a year ago, I'd say a really badass windows laptop. But now adays, I'd probably buy a Mac, the developer experience with Shell commands is nuts, I don't really like the Mac design, but the code support is top notch. But yeah, I'd keep my expensive gaming windows laptop for you know, gaming :P.