Solid analysis. A word of warning from personal experience: I am part of a medium-sized software company (2k employees). A few years ago, we wanted to improve dev productivity. Instead of going with new laptops, we decided to explore offloading the dev stack over to AWS boxes. This turned out to be a multi-year project with a whole team of devs (~4) working on it full-time. In hindsight, the tradeoff wasn't worth it.…
Tracking developer build times to decide if the M3 MacBook is worth upgrading
261–270 of 432 posts
Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading
#262Earlier quoted context omitted.
A Macbook-equivalent AWS instance prices to at least the cost of a Macbook per year.
Yes I actually did the maths on this. If you want a GCP instance that is comparable to an M3 Pro 36GB, you're looking at an n2-standard-8 with a 1TB SSD, which comes out at $400/month. Assuming you have it running just 8 hours a day (if your developers clock in at exact times) and you can 1/3 that to make it $133/month, or $1600/year. We expect these MacBooks to have at least a 2 year life, which means you're compari…
Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading
#263As a scientist, I'm interested how computer programmers work with data. * They drew beautiful graphs! * They used chatgpt to automate their analysis super-fast! * ChatGPT punched out a reasonably sensible t test! But: * They had variation across memory and chip type, but they never thought of using a linear regression. * They drew histograms, which are hard to compare. They could have supplemented them with simple me…
I'm glad you noted programmers; as a computer science researcher, my reaction was the same as yours. I don't think I ever used a CDF for data analysis until grad school (even with having had stats as a dual bio/cs undergrad).
Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading
#264[flagged]
WFH is effectively work from anywhere. I can take a month long working vacation and save a vacation day by working on the airplane. I'd be very annoyed if my work chained me to my home desk.
Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading
#265This is a great write-up and I love all the different ways they collected and analyzed data. That said, it would have been much easier and more accurate to simply put each laptop side by side and run some timed compilations on the exact same scenarios: A full build, incremental build of a recent change set, incremental build impacting a module that must be rebuilt, and a couple more scenarios. Or write a script that…
So sure, an M3 might make my build 30% faster than my M1 build, but the network build is 15x faster. Is it possible instead of giving the developers M3s they should have invested in some kind of network build?
Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading
#266Solid analysis. A word of warning from personal experience: I am part of a medium-sized software company (2k employees). A few years ago, we wanted to improve dev productivity. Instead of going with new laptops, we decided to explore offloading the dev stack over to AWS boxes. This turned out to be a multi-year project with a whole team of devs (~4) working on it full-time. In hindsight, the tradeoff wasn't worth it.…
my company did this. fuck i hate it so much. if anyone wants to hire me away from this remote desktop hellscape, please do.
Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading
#267Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading
#268Earlier quoted context omitted.
This might have to do with scale. At my employer (~7k employees) we started down this path a few years ago as well, and while it has taken longer for remote to be better than local, it now definitively is and has unlocked all kinds of other stuff that wasn't possible with the local-only version. One example is working across multiple branches by switching machines instead of files on local has meant way lower latency…
One thing I've never understood (and admittedly have not thoroughly researched) is how a remote workspace jives with front-end development. My local tooling is all terminal-based, but after ssh'ing into the remote box to conduct some "local" development, how do I see those changes in a browser? Is the local just exposed on an ip:port?
Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading
#269Earlier quoted context omitted.
https://xkcd.com/1205/
This xkcd seems relevant also: https://xkcd.com/303/ One thing that jumps out at me is the assumption that compile time implies wasted time. The linked Martin Fowler article provides justification for this, saying that longer feedback loops provide an opportunity to get distracted or leave a flow state while ex. checking email or getting coffee. The thing is, you don't have to go work on a completely unrelated task.…
I really struggle with task switching, and two minutes is the danger zone. Just enough time to get distracted, by something else; too little time to start meaningful work on anything else...
Hour long compiles are okay, I plan them, and have something else to do while they are building.
30 second compiles are annoying, but don't affect my productivity much (except when doing minor tweaks to UI or copywriting).
2-10 minute compiles are the worst.
Re: Tracking developer build times to decide if the M3 MacBook is worth upgrading
#270Earlier quoted context omitted.
I ditched my desktop once "plug in a single USB-C cable and get dual 4k monitors + peripherals all ready to go" became a thing. I love the flexibility of a laptop combined with a dedicated workstation setup.
If flexibility is your #1 priority then usb-c never mattered. You could get mobility long before usb-c. I'm saying if you want a fast machine then you can't beat a desktop for value or potential.
Plus I can now dock either my Lenovo or my MacBook with the same multi-monitor dock making it even more versatile. I don't game or do anything more intensive than web development so I recognize it wouldn't work as well for everyone.