I’m a junior backend software engineer. I use a Vim plugin on my fancy code editor. I like the command line but I’m not all in on it or anything.
If I was a Windows user I’d switch. But being a Mac user I have a lot of what I need for software development.
What am I missing out on? Genuine question.
I think that’s a lot about personal preference. Do you enjoy your machine? That you can’t repair it? That you can’t easily take your OS with you one to a machine from another manufacture? Maybe you don’t care. I do. I think Linux gives you a lot of freedom, but if you don’t need or want it, I don’t think there is a reason to change. I mean, apart from the whole Apple-being-a-big-coorporation-that-actively-hinders-reparability issue that one might care about from a societal and environmental perspective.
Maybe you could get all the same stuff you need for development in Linux, and a lot more freedom to boot.
I apologize that this comes off a bit hostile. I am a bit hostile. I am also sorry for it!
Perhaps you shouldn’t. Any honest Linux user will tell you up front if that if you have a comfortable system already it may not be worth the disruption in your workflow while dealing with the learning curve. That being said, being free from the whims of Apple is a nice feeling.
EDIT: I’m not sure what the state of virtualization is on the Mac side right now but it wouldn’t be the worst idea to fire one up and try out a distro or two. Kick the tires before you think about committing.
As long as the distro has an ARM64 build, it’ll be fine virtualized on Apple silicon. Virtualbox has a developer preview build for M1/M2 Macs and I believe VMWare Fusion licenses are free for individuals.
While you can run AMD64 builds but it’s quite slow and painful (even headless via Docker). Thankfully most distros have ARM64 builds available - and I second the “kick the tires” effort.
„It is difficult to free fools from the chains they revere.“ — Voltaire
I would use the word people instead of fools, because even the smartest people can be misled.
Also, for some people freedom is very important even if it cost them dearly. Other people just want convenience and luxury, and don’t mind living in a golden cage.
You really have to make your own decisions in life. What makes you tick?
I generally find that setting up dev environments to be easier and cleaner in Linux. I prefer standard distro packages compared to homebrew and all it’s quirks. There’s also native support for docker. If you’re doing backend stuff, it also helps that the machine you’re developing on is using a similar OS as the server that’s going to be running your code in production.
If it’s for your workplace though, evaluate whether it’s worth disrupting your workflow to make the switch. Don’t let your productivity suffer because of it. Maybe test it out in your own free time and make gradual migrations. For a long time, I was dualbooting between Windows and Linux, and I’ve slowly migrated over.
Actually I have a work laptop now, so my personal M1 (which I give a lot of credit for my journey to becoming a developer) is kind of collecting a bit of dust now.
And yes, the point you mentioned about running the same OS as backend servers/infra, it touches on why I would try it out. Again, I’m not unhappy with Macs but there are knowledge/productivity gains that would come with learning Linux which will help with my career, even if it’s a little.
Yeah, then I’d say that dusty M1 mac is perfect for experimentation. I will say my Linux experience came in really handy at my work place (software eng), so go for it! Spin up some servers, do some self-hosting, etc. I feel like the only person who can decide whether Linux is for you is you, and if you run into any trouble, the Linux community is here to help you out.
Eventually you would not have to switch from your MacBook M1 if you like the hardware. Consider following asahi linux, you can follow them on Mastodon or just their GitHub
While I am a Linux user myself I would not recommend switching if you are happy with macOS, especially in the software eng. field there is not much reason to switch unless you explicitly need a platform to do your work. If you can accomplish your work on any platform pick what you’re most comfortable with.