Hi Wooters, Wooters and Wootites (that looks profane, but I digress)
I was accepted into Columbia’s software engineering program and classes start in 3 weeks. Right now, we have been participating in onboarding each week and last week we had two graduates from the program to speak with. Long story, hopefully made shorter, they both said you can program on Windows, but everyone they knew and have worked with use a Mac.
Now, here is where the problems lie:
They were all over the place on what specs are necessary
The onboarding team isn’t the most organized with responses (either timely or communicating the same info)
My kids are grown and no longer live at home, so I can’t ask them
I am old and have no idea what the heck would be the best option for not only the next two years worth of classes, but beyond (I feel like I might as well learn on what I will be using)
So, my fellow, super, super, helpful W’s what say you??
Yeah my last two companies were all windows based.
In general, for a windows machine, a few things.
16gb of RAM or splurge for 24 or 32.
only SSD hard drive. (doubt you could find a spinning drive, but just in case). 512gb being the minimum
15" screen minimum. You’ll be looking at it a lot for class so save your eyeballs. Touchscreen is not required and you could save a few bucks to get one without.
Same with 2-in-1s… they look neat in theory, but not something I was using day to day.
CPU - keep it multicore and as many cores as you can find.
Generally aim for an intel I-5 or I-7 (avoid celeron and I-3s) or AMD Ryzen 5 or 7.
intel i9’s and Ryzen 9’s are on the high end but if they’re in your budget cool.
If it comes with its own discrete video card that’s neat, but super not that important unless you plan on gaming on it as well.
Keep to known brands, consider budgeting for a dock and a monitor for when at home, etc.
Though, honestly, some folk can get through college fine on a $200 refurb’ed CL laptop.
Generally speaking, when it comes to coding, it’s all about processing power and memory.
Laptop with a smaller screen for portability, laptop with a bigger screen for viewing area, or desktop? How comfortable are you with doing your own upgrades if necessary? And what budget are you targeting?
I have give or take $1500 to spend. I would like to start using multiple screens, but I honestly have no idea how that is setup or works. I have been out of having to do any required computer learning for quite a while. I don’t game, haven’t gamed and I would say, most likely will never game.
I asked our only engineer, Doug, and he mentioned that he codes Woot on his palm pilot still.
Though, I’m not sure I’d trust that, so I’d suggest a MacBook Pro with at least 16gb of ram. You’ll find some MacBook Pros on Woot. Look for at least an M1 model (they’ll last you a while).
Storage - Enough for source code for projects plus dependencies, applications, databases, virtual machines etc
Processing Power - The more items you run concurrently the more this gets split between active items. Also the more you have the faster your process them
Memory - The more items you run at the same time, the more background items such as VMs, the more memory you want
Graphic card specs are less important but if you plan on doing some video editing or are doing coding for video games then you would want to ensure this is high enough.
Depending on the language you code you may be compiling the app (C, C++, C#, Swift, Obj-C, etc) to run the code locally or it might just be loaded by a browser/VM (HTML, PHP, Python, JS, etc). There are also some that process then load from browser say Typescript or NextJS where you get a bundle that loads in the browser.
Compiled code relies on more processing/memory, VMs rely on both but in a different way, and the last one less so.
I say all this to explain that each case is slightly different but a good reccomendation is to try to get the best of each and round out the specs. With modern macs you can’t just upgrade the memory, add a new hard drive, or swap out a processor so you want to choose correct the first time. If you run out of storage you can always use an external drive or USB to add more or offload to the cloud but memory and CPU arent the same.
The minimum I’d recommend is:
MacBook Pro
16GB Mem
1 TB storage
I’d also recommend the 16" if you plan on coding on the laptop without an external screen.
If you can spring for it go with 32gb or more memory especially if you are planning on doing video editing or other items as well.
This would mean these models:
Also be aware that Mac now runs on Apple Silicon chips vs an Intel chip so you should look at Rosetta since some older IDEs or other apps not specifically designed for Apple Silicon will need that enabled to run.
Yeah… unfortunately his stylus doesn’t let him connect the lines of the search box on the screen. We’ve ordered a new stylus with a finer point, but they’re on backorder. I guess search will just have to wait…
I don’t think any Wooters want a search option anyways.
Besides:
There are much better uses of Doug’s time. For instance: Having a button on the main Woot site, which, when pressed, causes monkeys to rain down from clouds.