There are a lot of reasons to love coding. It’s highly rewarding, it can open doors in your career and it gives you a greater understanding of how things work.

But it’s also just cool. Sitting in a café in front of a glowing screen filled with code has a certain romantic appeal. To others, you look like some kind of wizard/witch with an uncanny ability to manipulate technology. And there’s something haunting about the glow of the monitor and the quiet whirring of your computer. You feel smart and when everything is working correctly, that computer screen is a window into a world of possibilities.

Sitting in a café in front of a glowing screen filled with code has a certain romantic appeal.

With that in mind, it’s worth gearing up with the right tech in order to enjoy the experience to its fullest and to help you get into a productive flow state. Here is the best gear for Android developers.

Computer

This may come as a surprise, but in order to program, you’re going to need a computer. And depending on the precise type of programming you intend to do, you’ll need specific specs.

In order to program, you’re going to need a computer

Running Android Studio is not particularly hard, though in order to install it along with the Android SDK, Android system images for emulators, and any other software such as Unity or GitHub, you’re going to need a decent amount of hard drive space. Likewise, in order to run the Android emulator smoothly, you’ll want a minimum of 4GB of RAM (ideally 6GB) and an i3 processor (ideally i5, ideally coffee lake). If you can’t run the emulator then you can always test your apps on a physical device, but this is slower and it means you won’t be able to see how your creations work on different screen sizes and hardware.

http://fave.co/2BGPwQr

Having a decent graphics card is likewise no bad thing, as this can further help to give the emulator a boost and it can certainly come in handy if you plan on using an alternative engine/IDE like Unity; or if you’ll be creating 3D models in CAD software for your games. An SSD is not necessary as such, but if you like a smooth experience, then it will make a big difference. I hear great things about using busy IDEs on a 4K screen, but that’s a bit of a luxury seeing as that significantly ramps up the price.

So, it depends on what you are aiming to build and what you’re willing to put up with. But if you want your experience to be as smooth and as welcoming as possible (and futureproof), then aim for something mid-range, built within the last couple of years. I personally use a Dell XPS 15 (2017) and an MSI Dominator Pro GT72VR 6RE (2016). The latter is certainly overkill, but I wanted VR. My old Surface Pro 3 (i5, 4GB) struggled a lot, so that should give you an idea.

Recommendations

Mobile devices

If you’re going to be a mobile developer, then you’ll need a mobile device. This will give you a piece of physical hardware to test your apps on (which does have advantages over emulators in the right circumstances – for instance if you want to test a service for an entire day). It will also help you to find the pain points that come from every day use, which then present opportunities for you to create those essential new apps. How can you understand your target audience if you don’t use the hardware and software you’re developing for?

http://fave.co/2zf0rg0

So, what is the best smartphone for Android developers? The answer has to be the Pixel 2 (or the original will do). By getting Google’s latest hardware, you are guaranteeing yourself the earliest possible access to the latest Android updates, meaning you can start testing new features right away. That said, you’ll get by just fine with any modern-ish phone if you combine that with running the emulator.

Depending on the type of developer you’re going to be, you might also want an additional rooted phone or tablet to experiment with. This will also give you the option to use custom ROMs and upgrade to newer versions of Android more quickly.

Recommendations

Monitor

While they’re certainly not as bad as Premiere Pro, Android Studio and Unity both have a lot of windows and panels to manage. Thus, having a little extra screen real-estate can make a big difference.

http://tyvm.ly/ySnp

I heard somewhere that a 22” monitor could boost productivity by 30% over a 19” one. DELL concluded something similar regarding dual monitor displays. While I would take any precise figures with a BIG pinch of salt, I can attest that having a wider space to work with does make a difference. You’ll swap between windows less and you’ll find it easier to work from resources and quickly look things up on the web. If you’re anywhere near as dense as I am, then switching between windows will mean staring blankly at the screen before remembering what you changed your view for. I use an LG Ultrawide, because it was super cheap and it does the job nicely. Of course, going 4K will give you even more useable space (if you have the specs to power it). Likewise, going for a higher refresh rate will make for beautiful video and game playback but certainly isn’t essential.

Recommendations

Keyboard and mouse

Your keyboard is your main interface with your computer and it is through this that you will be entering all of your code. So yeah, it’s kind of important.

The ‘correct’ advice here would be to get yourself a mechanical keyboard with some nice clacky keys. I invested in a Corsair Strafe RGB on this advice and I do really like the way it lights up and dances.

http://tyvm.ly/AGyjA4

But in all honesty, this comes down to personal preference. I actually prefer shallower keys myself and find that I would rather use Microsoft’s Universal Folding Keyboard a lot of the time! The best advice then is not to buy online, but actually head to a store and try the keys out for yourself.

What I will say for bigger keyboards is that it does pay to have programmable shortcuts and easy access to function keys (which goes for productivity in general). I also know some people can’t live without a numpad, especially for software like Blender. In which case, laptop users may even wish to invest in a portable numpad.

Recommendations

Creature comforts

To be honest, none of this stuff is essential. While I say that my Surface Pro 3 used to struggle, I still managed to build two moderately successful apps with it and even do a fair amount of video editing. Computers don’t build apps, people do. Or something.

http://tyvm.ly/yiGmgU

That said, a decent computer and ultrawide monitor can make your experience a lot more comfortable. The following pieces of kit are definitely even more optional but could make your experience all the more comfortable:

  • Headphones – I personally can’t get into a flow state without some decent music turned up really I get a lot of use from my Spotify account! If you plan on working on the go, then add in some noise cancelling too. I’m using the COWIN E-7 Active Noise Cancelling Bluetooth Headphones and I can recommend.
  • LEDs – The ‘gamer aesthetic’ is something that doesn’t appeal to everyone, but I personally find that colored lights put me in a productive/techy mood. An LED strip costs very little and it’s a great way to pimp your battlestation.
  • Large Desk – I know how important it is to have a large desk because I don’t have one. I’m constantly cramped and keeping a book open next to my keyboard is not an option. Being able to spread out can make a big difference and especially if you have multiple monitors or devices you want to use at once. I used to use the Innovex Orbit Desk which was pretty great.
  • Chair – And speaking of comfort, having a comfortable, ergonomic chair is not only a great way to make coding more enjoyable, it’s also a good choice for your health in order to avoid painful backs and necks.

Working on the move (just for fun)

If you like the idea of coding on the move, then you do have a few options.

The GPD Pocket is an awesome 7” laptop that you can fit in your laptop but which runs full Windows 10. It has an Intel Atom X7, which isn’t the best, but is backed up with a generous 8GB of RAM and 128GB storage. While the emulator won’t run that well, you can nevertheless run Android Studio on it without a hiccup (and Unity at a push!). If you keep your Android Studio projects in Dropbox then, you can quickly open them up while you’re on the train or lying in bed to try out ideas or just bring your project on a little.

http://tyvm.ly/2uQCCI

Or how about development on your Android device? You can do this with AIDE (which I have discussed before) or you can build cool tools with QPython (which I have also discussed). Add in a bluetooth mouse and keyboard and you have a faintly ridiculous, but also kind of cool (?), way to code wherever you happen to be. The Microsoft Universal Folding Keyboard and Arc mouse are great choices because they can be folded flat and stowed away in a pocket.

Of course a power bank can also be helpful for making sure you have enough juice to keep you going with all these gadgets.

Recommendations

Closing comments

Of course, those are just my picks for the best gear for developers. Sound off down below with anything I missed/your favorite options. I’m always looking out for ways to upgrade my set up, so I’m looking forward to seeing what you come up with!