You Don’t Need a MacBook to Become a Coder

Nočnica Mellifera - Jul 9 '19 - - Dev Community

How to get all the computer you need to become a developer

There is an essential part of consumerist culture that prefers buying something to doing something. Dog bored because you’re not walking it enough? Need a solution? Buy an $800 automatic pup entertainment center.

100 yen laptops display
"100 yen laptops" by Steve Nagata

But, no really, you do not need a MacBook to be a developer, and you certainly don’t need a top-of-the line recent one.

If you don’t really need a fancy laptop, why do people think they do?

There are two big reasons that we convince ourselves we need a big fancy laptop:

  1. It is a convenient reason to not get started today.

Ever think it would be cool to be a computer programmer? To help shape the future of our industry? Wanna make twice the median American household income within 2 years?

Sounds great, right? The first thing you need to do is read about 200 pages on how HTML or JavaScript or something else works.

Bummer, right? All that work and study, when frankly you could open YouTube right now and get started.

But.

Surely there’s a reason that you can’t start right now. The sun is shining outside, you haven’t rewatched The Terror for a third time, and can’t you just watch one more TikTok??

tiktok for life

We all have a part of ourselves that will argue for the status quo. That will tell us that we will always have the same job, live in the same place, that we should make it work with that lounge chair in the living that isn’t really that comfortable

That part of our brain lives off of telling us that self improvement can wait for another day.

And one really good excuse for not starting today is, “I don’t have $2,000 for a MacBook Pro.”

2) Some people do not want to see you succeed.

The labor market for software developers will be a seller’s market for the next century. In the next 10 years the number of new jobs created will outpace the number of new entrants into the market by a factor of 2:1. Yet there are still people who are worried about navigating competition.

Those are the people who will tell you, “you gotta learn CSS thoroughly before you start studying data science” or “it’s really hard to get work as a JavaScript Developer.” I won’t go into detail but both of these assumptions are opposite of the truth. These same people will also tell you about the $5,000 in gear you need to be a “real” developer.

But, doesn’t everyone at meetups have a MacBook?

Okay this one is true. Every single person at the meetup has a MacBook. Every person in the audience at the conference talk has a MacBook. They all have them. They all have them.

Why?!?!?!

There are two reasons for this, which gets me into making a sub-list inside a list but whatever:

  • There was a time when the only way to get the cool Unix command line and a modern operating system that could play MP3’s was with a macOS computer.

  • Remember how I said it was a seller’s market for labor in software? MacBook Pros have maintained their cachet as the most desirable laptops despite their terrible new keyboards. About 5 years ago managers started realizing that providing anything but MacBooks for their programmers was a sign they were being penny-wise (saving $1,000 on each employee’s laptop) and pound-foolish (alienating workers whom it would cost upwards of $50,000 to replace). But really the short version is: most developers use MacBooks because their employer paid for them.

Okay Toby, I believe you. What do you really need to be a developer?

okay, I am listening

I’m going to tell you something you’re not going to want to hear: you can start becoming a developer today. Here’s what you definitely need:

  • Something that plays YouTube
  • A web browser
  • A legal pad
  • A pen

Take YouTube over to The Coding Train, load episode 1— it will tell you when to open a browser to write some code. Write down words you aren’t familiar with or lessons that seem important on your legal pad. And BAM! You’re doing it.

Wait, Toby, doesn’t it matter what kind of personal computer (PC) you run your browser on?

Oh, reader, you could do this all on an iPod touch.

Okay... I’m not actually going to become a coder on a phone, what do I really need?

So, you’ll probably want a laptop with a keyboard to write your code. But seriously you can do everything you need to get started from a browser and it doesn’t matter what kind of computer that browser is running on. (well as long as it has the power to actually play those videos)

Another way to look at it is this: for the first few months you’re studying programming, you’re trying to figure out if this is something you’d enjoy.

Once you’ve been writing little JavaScript projects for a few months and really enjoying it, then it makes more sense to ask next, “what kind of computer should I upgrade to for programming?”

Okay, but, can you still recommend what kind of computer to buy?

Initially when I wrote this I was going to say, “don’t get a Chromebook”, but it turns out that web development issuper easy on a Chromebook so, seriously, get whatever kind of device you want.

That's all I'll say about that

What else do I need to spend money on?

I think there can be great value in paying for a coding boot camp or academy, though more on that would take up a whole article.

Once something like The Coding Train has taken you about as far as it can go, a good book is a very smart way to spend $40.

If you’re ready to spend a bit more and you’ve already shown evidence of being self-motivated enough to work at your own pace, definitely check out Wes Bos. Great material that takes its time and shows how anyone can become a coder.

What shouldn’t I spend money on?

The biggest thing not to spend money on, or at least not to spend too much on, is _hosting. _Sites like Bluehost will offer to serve your site and end up costing hundreds of dollars a year. There’s just no need to spend that much on your test applications or portfolio site.

Find a web service host that offers a low or no-cost tier, and has great documentation on how to get started, even if you’ve never deployed a web application before. Far and away the best service I’ve used is Heroku. I started there and use it to host some of my most high-traffic projects.

Heroku’s getting started guide is available in multiple programming languages and starts with the very basics. If you find the command line interface daunting, check out my guide on the CLI :)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .