The Best Checklist for Buying a Used 2015 MacBook Pro
At OpsLevel, we’re big fans of the 2015 MacBook Pro.
The newer 2019 MacBook Pro has some great features like Touch ID, 32 GB RAM, and USB-C power delivery that you can plug on either side. Unfortunately, it also suffers from a failure prone butterfly keyboard design and the dreaded Touchbar. The 2015 MacBook Pro was the last model manufactured by Apple before the switch to Touchbar and and the butterfly keyboard.
Keyboards are a big deal for developers and some of us are antsy when important keys like Escape are replaced with a virtual one.
We’ve been fortunate to be able to source 2015 Macbook Pros locally from classifieds sites like Kijiji and Craigslist. However, buying a used machine puts the onus on us to thoroughly test the machine before purchasing. A big part of OpsLevel is improving development processes with checklists, so to that end, we’ve developed the following thorough checklist for how to buy a used 2015 Macbook Pro.
Used 2015 MacBook Checklist
Specs
- Model: Mid 2015? ( > About This Mac)
- Memory: 16 GB? ( > About This Mac)
- Disk: 500 GB? ( > About This Mac)
- CPU: Core i5 or i7? ( > About This Mac)
- Discrete Graphics: AMD Radeon R9 M370X? (System Information > Graphics/Displays)=
Battery
- How many battery cycles? Look for < 500. (System Information > Power > Cycle Count)
- Does the battery charge? Plug in the charger.
- Is the battery recalled / explodey? Check the serial number with Apple Battery Recall.
Hardware
- Keyboard: Press each key and verify it works. You can verify this with a soft keyboard (System Preferences > Keyboard > Show keyboard and emoji viewers in menu bar).
- Trackpad: Move your finger across the entire surface. Use force touch.
- USB ports: Plug in a USB stick or mouse.
- HDMI / DisplayPort: Plug into an external monitor (if possible).
- Camera: Open FaceTime.app.
- Wifi: Connect to a network or tether to your phone.
- Speakers / volume control: Use Stereo Audio Test. You should hear audio coming from each speaker independently.
- Can the machine sleep and wake? (Apple Menu > Sleep; wait 10 seconds; then awaken it)
- Fans: Verify they spin up and listen for broken bearings. (Run yes < /dev/null & 10 times to generate CPU load that will spin up the fans)
- Display: Verify no dead pixels by having the display show all white or all black. Visit Dead-pixel check to do this automatically.
- Display / Graphics Card: Cycle through all screen resolutions. (System Preferences > Displays > select “Scaled” and try each option)
- Run the Apple Hardware Test (Reboot, press and hold ⌘ + R). If this fails, don’t buy the machine. If this passes, it can be meaningless. We’ve had machines with clearly deficient logic boards pass the Apple Hardware Test.
Continuity
- Logged out of iCloud? (System Preferences > iCloud)
- FileVault is disabled? (System Preferences > FileVault)
- No firmware password? (Reboot, press and hold ⌘ + R to go into recovery mode, then Utilities > Firmware Password Utility).
- Can the machine boot from a USB? (Reboot, press and hold alt)
- Check the serial number with AppleCare. It’s unlikely to be covered, butstill good to verify the serial.
- Was the machine owned by a smoker? Smell / sniff the laptop for any trace odour, particularly near the ports and fanexhaust. Look very closely at the ports for signs of tar accumulation. If possible, power down the machine and remove thebottom cover for visual inspection of the logic board.
Running through this entire list takes about 10 minutes. Many of the items on this checklist, like odour and broken fan bearings, have been hard learned from personal experience.
Full time OpsLevelers have a choice when they join on which machine they use and some of our newer folks have opted for the 2019 MacBook Pro. However, we’ve found that the 2015 MacBook Pro is still an extremely capable machine for development. There’s also the financial benefit that a 2015 Macbook Pro costs less than half of a fully spec’ed 2019 one and the environmental benefit of reusing existing hardware vs. acquiring new.