loading...
Cover image for I'm planning to ditch my MacBook and move away from laptop computing

I'm planning to ditch my MacBook and move away from laptop computing

ben profile image Ben Halpern ・2 min read

Frustrations with my MacBook Pro are leading me to re-evaluate my machine strategy. I've been hung up on this since before I bought this computer, but my experiences have sealed the deal. What are those frustrating experiences you might ask? Basically everything. And I just don't see any laptop computers on the market that make me want to stick with this form-factor even if I simply ditched the Apple ecosystem. Mobile computing has progressed to the point where I feel adequately plugged in on the go. But ideally, I'm unplugged when I'm not at my workstation anyway.

My current workflow is that I carry my MacBook around and then plug in when I need it. The process of plugging in is itself chaotic and annoying with my various cords (and dongles!!).

I've enjoyed the convenience of one machine so everything is configured and installed as I need it, but a more cloud-centric workflow is perfectly reasonable. I look forward to finding ways to keep things in sync.

I'm no longer a fan of "working from coffee shops". It was fun for a while, but I now find it frustrating. This is likely because I lead a team and workflow disruptions just make the whole process worse.

I work both from the office and at home, which is why I have gone with the laptop, but I look forward to having two distinct physical machines and not having to carry the laptop around!

I am excited about the change. I'll keep a lower-powered laptop around here and there, and maybe see where the tablet computing scene is going in terms of secondary machines. I'm rarely all that productive with my coding work when I'm away at conferences or something, so I don't really need the primary laptop for anything. I am still not sure whether I want to go MacOS, Linux or Windows.

Posted on by:

ben profile

Ben Halpern

@ben

A Canadian software developer who thinks he’s funny. He/Him.

Discussion

markdown guide
 

I have completely opposite view on this - when working from home office I prefer the desk and big monitors, but I also need option to "bugger off downstairs" if little one can't stop coming up with crazy very important reason to come see daddy.

Not having to set up two machines the same way, and keep them synced up sounded like hassle, so in the end when desktop got too ancient, I just opted with laptop.

Also, working in busy coffee shop sounds like hell to me :D

 

I am still not sure whether I want to go MacOS, Linux or Windows.

Why would you want to limit yourself to these three?

 

I'm happy to hear other suggestions 😄

For any secondary laptop-type machine I'd expand to Google's offerings etc. but I'm not even aware of anything outside Mac/Linux/Windows ecosystems in terms of something I'd reasonably work with. I've heard of things like Redox, but hadn't considered alternatives. Now that you mention it, I kind of want to.

Secretly I would love to build a DEV-OS, which would basically be a developer-centric OS that natively hooks into your DEV profile for interacting more richly with this community. But that's another discussion altogether.

Do you have any OS suggestions I might want to check out?

 

While I'm happy to try various systems whenever I can, I agree with you that Redox is not complete enough just yet.

Being a developer, I can recommend Solaris (OpenIndiana or Tribblix) and BSD (FreeBSD or OpenBSD) though. Especially OpenBSD is a very fine desktop OS in my experience.

I've never tried BSD, I should give it a go 🤔 Anything better than a Debian based linux such as Ubuntu? Or just different?

The viability of BSD for your development environment depends very heavily on what you're developing. A lot of applications either offer no support for BSD, or they lag behind on maintenance and optimization. I wouldn't want to use BSD to write node.js applications for example. Not saying it can't be viable, but it's definitely less than optimal for certain kinds of development.

Which kind would that be, and what exactly is missing for you? From which BSD?

I brought up node.js because there isn't an officially maintained package and the freeports version is 9 patches behind on the latest branch. .NET core doesn't even have a BSD/Unix build at all, and electron support for BSD barely exists so no VS Code, Atom, or a multitude of other dev tools. I personally want my OS to be as little of an obstacle to development as possible, and if I have to compile things myself just to have tools, the OS is an obstacle. If I'm writing something that will ultimately be run on Unix, sure it makes sense to at least do part of my development on the same platform. But the truth is, Unix isn't that popular of a platform for new development anymore. The only time I've ever had to use it was on legacy equipment or firewalls (ex. pfSense).

Ubuntu has a number of problems, one of which being systemd which is a giant mess, others involving repeating issues where one could just skip a lockscreen by pressing Enter. What do you need from a desktop OS that Ubuntu gives you and other systems don't?

"Better" is not defined that well.

 

Yesss yesss welcome to the dark side! I completely understand the home office/work office desktop setup. I use all 3 os's for different purposes, so you can always do that if you'd like. (Windows for gaming, Mac for home office/certain software, and linux on a Dell XPS 13 that I take with me for dev work.)

If you go Ubuntu, it's very popular/easy to use and always being updated, customizable and of course open source. Or you can wait to see if a new Mac mini will be released in a couple of weeks. I have the 2014 model and it's still going strong after an SSD drive upgrade.

I've been looking at the Dell XPS 13 for a while now as a possible upgrade for me. What is your opinion on transitioning from a MacOS/Windows programming background to Ubuntu?

I find it quite seamless as I mainly write websites in JS/any open source stack. All major text editors such as Atom, Sublime, VSCode, etc are written for all linux/deb based distros such as Ubuntu. Running updates is also pretty great and haven't run into any issues so far!

The only thing I miss are programs for created specifically for Mac such as Sketch (MacOS) or Lightroom (for personal photography projects). So if you do more front-end or design work it might be an issue. YMMV

Edit: If you use Unity or code in C#, obviously this will be an issue, but you can stick to Windows for that if needed. :)

Wow thanks for the reply Liz! That really helped.

 

try HaikuOS (slightly Joking) it's ancestor BeOS was hands-down the best OS of it's time. I was gutted when Be Inc failed. It was clean, fast, had lots of software and a really healthy community. I'm gutted my C++ is not good enough to have written anything amazing for it.

Downsides are FF and Chrome support, virtualisation, probably a heap of non-core development environments and tools.

 

I started to use fedora this week, and i`m enjoying it so far! I was using Debian based (ubuntu), but i felt that fedora is better to install new programs and the user interface is better than ubuntu

Are you aware that the user interface is independent of your distribution?

I mean default user interface. My mistake!

Edited: in this case just about information Gnome 3

You can set the default user interface during the installation process. :)

I didn't know about that! Thanks about information!

The default for my was gnome 3!

Great observation man. Thanks!

I would actually disagree with the 'default interface' statement, at least in the case of both Fedora AND Ubuntu. With Fedora, you can get into depth and customize it, but if you wanted, say KDE, you would normally use the KDE dedicated spin. Same for Ubuntu, which also defaults to non KDE. For that, you would use Kubuntu. It's not always as 'simple' as 'just choose the ui you want' because many different changes have been made that you wind up with packages you dont need, may have conflicts, etc.

 

I would love this, mannn.. let's get started! DEV os!

 

Because they are the only mature and widely supported options that won't get your ass busted every time you try something and find out it's not supported. I've had my share of exotic OSes and frankly nothing beats Linux in terms of comfort... (And I've got other battles to fight that are far more interesting)

 

Wow! I started thinking that I'm the only developer without a laptop :)

I can only think of a small handful of situations where not having a laptop proved to be an inconvenience, but it was never more than an inconvenience.

 

I have to say I really like my Lenovo Yoga X1. I dont need adapters or dongles as I have plenty of plugs. I also have a touch screen and a pen which is amazing for scribbling/reading. I dont have to use any syncing software (had really bad experiences with that). I have a Thunderbolt docking station at home, so I just plug in one cable and have 2 monitors, audio, usb hub and more to work productively.

In my opinion most of the gripes are just caused by Macbooks being shitty laptops. I also wouldnt want from Coffee Shops, but having only one development machine is so much easier. I do have a desktop, but I only use that one for gaming.

For OS I would go with Arch Linux. I had a lot of issues with Ubuntu because of outdated software in the official repos. I had less issues with packages on Arch.

 

Considering that Arch in itself might require a lot of manual installations (of course, depending on what you're working with) I'd suggest Fedora instead. I've never ran into any sort of outdated software and the OS itself has never stopped me from doing any sort of work (something that happened with Ubuntu and also the Arch-based distro Manjaro).

 

This is why I love and use Antergos. It's basically an installer for Arch. I have a Dell 2in1 and it worked perfectly out of the box after installing antergos. Even the touchscreen and pen.

 

Everything has a price and a value, and most Apple products have higher price than its value... meaning, it's not worth that cost.

I used couple of other brands before (DELL, Sony, Apple, Samsung... and many more) and I landed with with ASUS, and I can't be happier.

Random simple search in Amazon:

amazon.com/FX503VD-Powerful-i7-770...

Rational price with super high tech from ASUS comparing to this super expensive one from Apple:

amazon.com/Apple-MacBook-Laptop-St...

Maybe you could've got a much better laptop for the same amount of money, I use this little beast and it never fails me (even in RAR brute forcing or rendering videos), about $1000 in 2015:
amazon.com/GL551JW-DS71-15-6-Inch-...

  • P.S:

You still can install any OS you want, or even better, with such a powerful laptop you can install the three OS(s) in VMware.

TD;LR

Maybe your problem isn't in choosing a laptop or desktop, the problem is with the money you spent comparing to the tech you've got.

 

Even if I’m pretty comfortable with any *NIX and I hate to waste money for this stuff, on a daily basis I still prefer to pay more for the Apple products.
Yes, they cost a bit more their real value, but they also offer more support and integration (in a walled garden way, I know). My last Dell laptop was productive for barely 2-3 years, my mac book air is still rocking since 2012. Not only that: I was able to repair the touchpad in 1h by going to an Apple Store, during a Sunday.
I still don’t like Apple, but its products let me save time, money and frustrations/distractions on the long run.

 

You can't legally virtualize macOS on non-Apple hardware though.

 

Would you legalize the macOS you use once a month to try an app or even test how safari opens your website :D

tbh, yes. My experience is that it's also instable and "vulnerable" to future OS updates if you run a hackintosh. I'd rather pay to avoid headaches.

 

I made this move a couple of months ago.

I bought a NUC8i7HVK and haven't looked back!

Have a fantastic dual monitor setup as main workspace and now my laptop is relegated to being an exceptionally good movie watching device, and very intermittent working while traveling.

With a NUC + dual monitors + stand fits inside carry on luggage as well. So works great as long as you are staying somewhere at least 3 weeks.

 

I have a similar setup, but what OS are you running? I can't use dual monitors with Ubuntu yet because there isn't kernel support for the Vega M yet(well it's in 4.18, but that's not LTS yet).

 

Yeah it was a great few days realising I'd bought a PC that Linux didn't support yet. I got a pre release NUC through a friend who won at tournament.

I moved from Linux Mint to kubuntu with 4.18 kernel, and updated Mesa drivers. I update the kernel as needed, I haven't had any issues at all using latest kernel, even when I was using the nightly builds pre release it was working fine but now I just stay on the point releases and will go to 4.19 when it's out of RC. I was manually updating but then installed ukuu to save some time.

The message drivers are: launchpad.net/~oibaf/+archive/ubun...

Here's my thread from askubuntu if you want more information, little bit dated now but useful background: askubuntu.com/questions/1040440/gr...

Depending what kind of desktop environment you like (I really dislike unity and prefer the more "standard" customizable task bar at bottom) KDE Plasma is great and quite customizable :)

I tried upgrading my kernel to 4.18 once it went mainline on my 18.04 install....that didn't go well. And I have Gnome dialed in just right, so I doubt I'd move to Plasma
But thanks for the links! Things will be great when 18.10 is out(hopefully it lands with 4.18 at least out of the box)

Did you try using the updated drivers alongside the kernel update? I think that's still necessary alongside updating the kernel.

 

I aways worked in desktop, this year is the first year i'm using a macbook in my job, it's good because I have 3 monitors, but all the cables and plugs around my desk annoying me too, and some times I have to walk in streets with the laptop in my bag, in a dangerous city (y)

In my house i have a desktop, it's better because all the cables are hidden behind the table, its more easy to keep the table organized, the worst part is turn on all that and wait the windows.

The best part is the work still in that table, if I need to stop working I just turn off the pc and leave the table, laptops are aways still rounding me and poke my brain to talk to me at 2am "hey, i think how to resolve that bug, check that line of code, it's 5 minutes, the laptop is next to you brow".

 

I have a VPS that I ssh into to do 99% of my work - that includes coding, note-taking, running development sites, timecard-keeping, personal wiki, you name it - through the magical trinity of ssh + tmux + vim. Since I can access this machine from literally any device that can run chrome (via an ssh extension), my whole mindset around physical hardware has changed considerably.

In its most extreme and reductionist form, my concerns can be boiled down to:

  • keyboard feel and quality (this is solved with a small collection of mechanical keyboards)
  • screen resolution
  • internet connection + ability to run a browser

This 100% cloud-based setup allows me to start work from my macbook pro, throw it in a bathtub mid-unit test, pick up exactly where I left off (thanks, tmux) in the car on a $99 linux netbook, run that over on the highway and finish the workday on a windows desktop gaming PC. It's incredibly liberating.

Bonus points: your dev environment is identical to your production environment.

 

If you still want to use MacOS, maybe you can try getting the old Mac Mini 2012 Gen with SSD. Got one earlier this year, and its actually faster than my MBP 2015 16gb.

Just google/youtube "Mac Mini 2012 in 2018" and see for yourself.

 

I've been thinking about this too, but haven't got the chance to test it. I think the best option could be to have a bare metal system in a colocation data center like hetzner.com/dedicated-rootserver/e... and just ssh into it to make work, your client can be anything from a tablet or a really small computer like a raspberry pi.

The only downside is that you need to be online all the time. No way to work offline.

 

This past January I went out and bought the Precision 5520, thinking of all the work on my laptop I am going to do. Well when I was at home I did work on it, in my office desk. When I went out it sat in my bag like a brick. I never took it out. I used my phone. I find I never really do work while I am on the road. The only time I do is for conferences. So I decided to buy a desktop for home and an android tablet, just in case I need a bigger screen on the road. Lot lighter to carry. I really think laptop are just not needed anymore

 

Isn't it interesting how we move away from desktops because "the office should travel with you" towards laptops and now we're getting back into static environments?

I always find it fascinating when we go back to classic working themes as the technology ebbs and flows. Personally, I have a work laptop (which I take home out of habit), which I leave in a bag and never touch.

For my personal projects like Jelly Fin, I primarily used my iMac, but later wanted the freedom of working from my bed while watching a show, so I started using my old MacBook again. I was reminded of the pains of setting up a developer environment from scratch.

I know there are cloud IDE solutions out there, but none have really caught my eye. I like my setup the way I like it. I don't want someone else's interpretation of it.

As far as OS goes, Windows (if I'm desperate or if that's the only option given my employment), MacOS preferred (because it's a beautiful Linux), and definitely Linux. Linux Mint is my favorite distro. I learned on Debian and Ubuntu, so I really like those based systems. Linux Mint is just clean and easy to use. Highly enjoyable.

This would be a great separate #devdiscuss topic. What is your developer setup? What do you use? Hardware setups mostly, then branching to IDEs and whether you're cloud-based or not.

Didn't we have a survey about that?

So, I have a Samsung Galaxy S9+ and apparently, there's a device called a DeX where you can use your phone and hook up a monitor to it and use it as a computer. Can you imagine using your phone as a Linux development environment?

 

apparently it is not possible to use a phone as a dev-pc in any productive way, except u are using some sort of webIDE stuff that u can use with ur normal webbrowser. I tried so many possible solutions an it ended up buying me a s120 lenovo supercheap laptop. I know that it is possible to deploy linux on android. But what youre actually doing is, u run it in a container and then connect through VNC to your own device. and in the background is android still running. That is much to slow for a real workflow.
This is only useful for portable penetration testing.
greetings.

 

I'm not sure why you would use your phone to develop on it... Just to make the battery last 20 minutes :D ?

For me as a Student it was quiete a good idea to keep always a capable device around you. I got a great Android tablet and I wanted to use it for sitting in a cafe or sth... But aparently it is not really possible anyways :D

 

I only use my desktop which is a 27"i-Mac but was a custom built PC with Linux Ubuntu before that. I hate developing on laptops. They don't provide enough real estate for me. I also have dual monitors. The second one has a 24" screen. These two monitors combined seem to be able to handle everything that I need.

 

I have a touch bar era MacBook Pro at work that is almost always "docked" (all dongles plugged in), and an early 2015 MacBook Pro at home that's almost always docked (as in I actually bought an expensive third-party dock for it).

What I really have been liking lately, though, is my ASUS Flip Chromebook, since Chrome Remote Desktop allows me to remote into my home laptop at work, or I can just have Chrome up to do internet searches as an external monitor of sorts, or I can have it doing Spotify while I work.

Even with Termux, I can't picture ever using an Android/Chrome device as a primary solution, but it's an awesome supplement.

Ah I was looking at the wrong version number (release comments). I do believe it's community maintained though, which isn't that big of a deal. And no, there is no BSD support for Electron, someone got it to compile on FreeBSD 11, but it's far from supported.

 

Reading your heading, makes me think of dismissing a laptop as a form factor. Reading the article, makes me think you want to dismiss the one machine for everything. As I can understand the latter, I can not understand the former.

I have a laptop at work and two laptops 13" at home (a linux box and a MBP2015)
I am so happy with the form factor: having a desktop was always a pain. I do not use external devices like mouse and monitors at home. My desk is zenlike clean.

I thought about moving to a Chromebook but hesitated so far.

If I am on the road, I use my mobile. I don't develop then, so that's okay.

 

I had similar issue. Solution for me (as windows user) was to put everything in synced directory (tresorit in my case)
i have one app directory with:

  • PHPstorm
  • Notepad++
  • Git
  • KiTTy
  • TotalCommander
  • ssh keys in second directory a have synced all projects. whole thing (at first only .idea directories because my metered connection)

so envrionent and tools are same and i can have it same on both computers.

and yep, docker installed, so i do not have even PHP in my machine :)

 

As a remote team, we have remote dev server in aws. I mostly use ssh with gnu screen to do the development (though I'm doing less of it these days). Some other team members who prefer IDE will mount the remote dir using sshfs. One thing I like about using screen is that I can work seamlessly from different place up to the cursor position, so to speak. For example, if I'm typing prin and then need to move away to different place, just close my laptop and then at new place, reconnecting ssh, reattach to my screen session and continue typing t("something").

With a remote dev server, laptop OS not much a factor as long as I have good keyboard and screen, light and long battery life. Console and browser are the only apps used on the laptop most of the time.

 

I use a laptop for development in my home-office for a couple of reasons: 1) it's required for my current contract, and 2) it's much more powerful than my current desktop.

However, I keep the laptop connected to two large monitors, so I effectively have three monitors going at a time. I use Microsoft's "Mouse Without Borders" utility to connect my laptop to my desktop and the three monitors, so I can control everything from my laptop.

If I need to go into the office, I just grab the laptop and go, and there's no need to backup or restore files. Also, I'm connected to OneDrive, Google Drive, and Azure for cloud storage, so if I do need to pull a file not on my laptop it's easy to get to.

 

Just so happens I'm trying to get a MacBook Pro for some side gig stuff for non-profit civic hacking and the like.

Looking to sell on the cheap? ;)

I look forward to reading follow-ups on how this goes for you though.

 

I have used a home desktop (gaming and dev) and work desktop for a while now, and I much prefer it to the overhead of plugging and unplugging things every day. Especially when I think about those couple of times I forgot to bring my laptop in to work.

Another alternative to two desktops is a home desktop, and leaving your work laptop plugged in all the time like a desktop machine at work. That way there isn't a lot to mess with day-to-day, but you can still take it on trips. Most places I've worked have badged or keypad access so the risk of theft is lower. (Laptops being a little more stealable than desktops.) Leaving a computer at work instead of taking it with you everywhere might necessitate a change in security habits. For example, locking your computer every time you leave your desk, even for a short break. I'm sure you trust everyone on the team, but sometimes a break can turn into leaving for the day, and you don't want your computer to stay unlocked overnight when no trusted person is watching.

Update: Syncing. I don't sync my settings between the two. But I try to keep my workspace simple so there is not much work to repeat between the two.

 

I've been thinking about this a lot lately -- especially with the talk about the reliability of the new MBP keyboards. I like that I can switch it up with the laptop. I'm not restricted to using a separate keyboard. I can pick up and go work at the dinner table or the couch. But, it'd be nice to have the big high-res screen of, say, an iMac. Tablets could fill in gaps in goofing off and writing comments on web posts that I would otherwise do with a laptop. The non-pro iPad has come down in price, and is a pretty good value for that.

Fortunately for me, the 2014 rMBP is still working really well and is giving no indications of quitting on me...

yet.

 

I tried the multi-computer setup for a couple years in college, and just never liked it. I tried everything to keep all my files, keybindings, git repos, etc. in sync, but it just ended up being a big hassle. I was really frustrating when I would make a change on one computer (settings, new programs, things like that), and then go to another and expect it to be there as well, but it wasn't.

And when you consider that a lot of programs don't have any kind of native sync, it almost makes you have to abandon certain programs you've come to depend on for so long, or set up really hard-to-maintain or expensive workflows for implementing sync outside of that program.

But just because it didn't work for me, doesn't mean it won't work for you. Good luck!

 

I bought the Dell XPS 13 Developer Edition (Ubuntu) and I am very happy with it. I used a Mac for a year and I really didn't like it. It was buggy and I never got used to the commands as I have to use Linux and Windows in my work as well. I use the Dell usb-c dock which works very well. To only use desk wouldnt work for me as I have to use my computer on meetings etc.

 

I have to say, I do like having a laptop personally. But I still occasionally wonder about getting a desktop computer. I imagine they're easier and less expensive to take care of and upgrade. Having more flexibility with peripherals is also definitely a plus.

 

I had a late 2013 MacBook pro which is a really good machine. Battery lasting for hours and hours. Recently my new job offered me to switch to the new MacBook pro (with the touch bar). What a disappointment. I'm so happy I didn't pay for this. I was thinking of selling my old MacBook pro and keep using the work one but after a week or so I completely changed my mind.
So, overall, I just carry laptop only for pleasure. At home I've got a windows powerful desktop. My work laptop I'll be leaving at work. I don't think it makes sense to do work outside of working hours if you're not on a remote position. You can still check mails and corporate chat or slack with a good phone.

 

I used to have a mac boook pro in late 2015, it was fun, but to be fair I used to boot quite a lot on windows 10 (haha sorry, that's what it is) and while MacOS felt good sometimes I think linux doesn't ask much when it comes to dev stuff, unless you are into .net stuff (and that was on those days).

I switched to a desktop because as you I felt like my working in a desk without a disruptions is a better option and... why would you want a laptop when you like to work from the desktop?

So I ended up dual booting Ubuntu/Windows 10 in a desktop computer at home without any lack of tools for my dev environments

 

Hi Ben,
I really understand your frustration using the mac book pro only. It's a bit to small for home use... And I'm a Linux user so macOS is not ideal for me. From my personal experience and opinion, I would never ditch a laptop with that kind of "power". I personally own a lot of computer's. I have like 5 Lenovo Laptops in different formfactors, a macbook pro, an imac and a solid desktop PC, and a couple more machines but they're not that usefull anymore. One of my Lenovos (thinkpad w520) ist a real powerful "Workstation" kind of laptop with a nice dock with a lot of screen outputs. This one is really useful in the office, because u can use it as a desk tower but sometimes u can take it home to finish some work. The other one is for power on the go, a thinkpad l450 14 inch wich is pretty much the biggest size of a laptop I would prefer you on the go. The last one I'm really using is a super cheap, always ready s120 Lenovo wich is totally awesome for just taking with you, for example to a cafe and don't care to much about. My desk is my baby 😂 I use it for like everything I REALLY do at home. Even if it's gaming on my windows part. Both of the macs stay at my "second home". Especially the imac is in my opinion a nice machine to work on (I don't know why, it feels really nice to work on). I pretty much use every single machine of them in they're special purposes. I ALWAYS use Version Control, in my case it's git on github, to share work between machines and to work individually on different machines.
So to come now to an end, I can guarantee you that you would not regret to invest in a solid tower. This is my personal favourite. But to keep a couple machines around you is never a bad idea.
If you want to get into Linux try Ubuntu first. This one is pretty elegant and uses kind of similar menus that macos has (actually that's the window manager gnome that is shipped with Ubuntu by default). If you want to try something different u can try Antergos wich is basically Arch with a nice Installer for an easier start. I luv it.
Greetings.

 

I run an Ubuntu desktop VPS which I just remote into using TeamViewer for my Dev work. I've gone through lots of changes in desktop, laptop, tablet and phones but always kept that remote environment the same.

I keep a copy of a link to TeamViewer portable on my phone so I can download the software on pretty much any device or use their browser viewer too.

All my code is on gitlab so if I do need to debug something in my local hardware I can always clone and test things out. All my vscode settings and plugins are also synchronised so it's been really quick to build and tear down.

I did look into vagrant boxes but since this was just for me and I didn't want to lose state between logging in and out plus installing on multiple devices to get up and running it made little sense to go that route.

It might not sound like the sexy setup people would want but it's perfect for my needs. I've been coding on my phone a few times now when I've had a light bulb moment on an issue or new feature, plus the consistency of the environment is perfect.

 

I used Windows for over 25 years and then switched to a Mac as my primary machine for the past 3-4 years. I can't imagine going back. Although I miss Windows, I don't miss the stupidity of the OS (and I have worked at MS and for BG!).

Don't even think about switching to Windows! (If you do, consider windows 7).

If you're interested in Linux, Ubuntu or CentOS/Fedora are your best standard options.

Unless you like to spend your time being a sysadmin, using anything else you will either spend too much time configuring the OS manually (like ArchLinux for instance - which is really nice!) or it the OS won't support latest drivers, software, etc. It is not worth it as a professional IMO.

 

I run Manjaro here on my desktop and I spend nearly no time making manual configuration outside of what I would need on any OS (e.g. installing dev toolchains, setting my editor up, etc.).

Booting the Live ISO on my laptop automatically detects everything including WiFi and Bluetooth, everything works out of the box.

But I also have the option to tweak it to my liking, should I want to. The package availability between the official repos and the Arch User Repository is also massive.