Skip to content

Latest commit

 

History

History
131 lines (97 loc) · 4.93 KB

gear.md

File metadata and controls

131 lines (97 loc) · 4.93 KB

Gear Recommendations

These recommendations are predicated on one core principle: your time in App Academy is best used learning about how to be the best programmer you can be, not futzing with configuration.

What follows are a bunch of my opinions. However, I feel strongly that this is good advice, and hope you'll consider it when making a decision.

tl;dr

  • Don't use Windows.
  • Apple is preferred.
    • If you're buying a new machine, I would make it an Apple.
    • MacBook Air is cool.
  • Ubuntu is also totally cool.
  • You don't absolutely need your own laptop.
    • You can use our machines 24/7.
    • It's harder, though. I'd want my own machine.

Don't Use Windows For App Academy

Actually, this one isn't an opinion: don't use Windows for App Academy.

I don't want to say bad things about Windows, but the tools we use aren't well supported for it. Installing and configuring Ruby/Rails/Git/Postgresql/Node.js will be a serious pain for Windows. We don't have recent experience with Windows environments, so we can't realistically offer assistance setting up Windows environments.

Windows is a perfect storm: poorly supported development environment, plus no support from App Academy. Run, don't walk, from Windows.

Hardly any employers will use Windows as their programming environment, so all the frustration you suffer will be pointless when you inevitably switch.

Apple/OS X Is Preferred

Something like 95% of working developers in SF use Apple hardware. It's a smart choice. Why?

First, Apple build quality is very high. The MacBook Air and Pro are great machines. I've had a lot of other laptops, and in my experience I've been much happier with Apple hardware.

Second, OS X is a very good development environment. OS X is a *nix operating system, which means it plays well with the entire toolchain we'll be using.

All the instructors at App Academy use Apple/OS X, so we have maximum familiarity with it. That helps us debug problems you run into. Also, OS X is the most common dev environment in industry, so there are lots of answers online.

Again, because OS X is such a popular environment, you'll have a leg up when you start work, because you'll already be familiar with the company toolchain.

If you're thinking of buying Apple hardware, I have two pieces of advice. First, the base MacBook Air model is already great: I used an 11" Air as my main development machine throughout my career at Quantcast and Google. You don't need to splurge on a Pro or even Retina machine.

I liked the 11" because it was light for me to carry around. Nowadays I like the Pro because I care more about screen area.

If you do buy a MacBook Pro: buy the solid state drive upgrade. Rotational drives are slow, and have a much shorter lifespan. A MacBook Air is a way better machine than a MacBook Pro with a rotational drive.

Ubuntu: A Good Alternative

You do not need to buy a new computer to take App Academy. Any laptop with Ubuntu installed will do just fine.

I personally prefer OS X to Ubuntu. I've used Linux and BSD a lot in the past: throughout college I was a BSD user, and my server machines at Google ran Debian.

I often got dragged into quirks, like setting up the printing driver, or futzing with the wireless configuration. These were frustrating time sucks. They kept me from doing what I really wanted: learn more about coding. Since Apple both writes OS X and produces the hardware, a lot of these bumps are smoothed by OS X.

You don't have a lot of time to be sucked by these issues. If you're spending ~$900 on a laptop, my very strong recommendation is to buy a MacBook Air in preference to Dell/Lenovo/etc.

OTOH, do not feel compelled to buy a new machine. We are happy to support Ubuntu. New hardware is expensive, and Ubuntu will do everything you need. It might just throw some quirks your way from time to time.

SF: 802.11n

There is one caveat. The wireless network in SF uses the 802.11n 5Ghz standard. Your wireless card needs to be able to (a) do 802.11n and (b) use the 5Ghz frequency. Modern Apple hardware does this.

For non-Apple hardware, check to see if your wireless card does 802.11n. Important: check that it does 5Ghz. Many wireless cards will do 802.11n but not 5Ghz.

If not, you can use a USB wireless interface. The Asus USB-N53 seems to have fair driver support on Linux, though I don't have personal experience with it.

No Laptop: It's Okay

You can get through App Academy without a laptop, but it's a little harder.

Our space is open 24/7, and people often live at the office. You can use our machines as much as you like.

However, you'll want to be able to hack at all times. If you're living off campus, you'll want to be able to try things out at home. You'll be in a better position to immerse yourself if you have your own laptop.

Personally, I would much rather do the course with a laptop than without. That said, it can be done.