We, the developers, tend to look at other fellow developers and copy ideas for our workspaces and setups. Don’t you dare to say it is not true :)! Have you ever seen a beautiful screenshot of an IDE and immediately downloaded the same font and applied it too?
I’m not sure anyone would want to copy me, as you can see in the photo above my setup is not the cleanest one. The LED band keeps falling from time to time and I am too lazy to fix it all the time so I just leave it like that for a while.
Anyway, this is my 2021 setup!
Up until this year, I’ve exclusively worked on laptops only. My current laptop is a MacBook Pro 15 inch, the model from 2017. It has a 2.9 quad core Intel i7, 16gb memory and 512 ssd drive.
This is quite a powerful machine until you reach it’s limits. I was constantly using it with 2 external displays and this made it often overheat and throttle the CPU down. When connected to the displays, normal tasks took at least double to finish (npm install for example).
That’s why this month, February 2021 I decided it’s time to build a custom desktop pc. The main problem was that I am not ready to say goodbye to macOS, the best OS for developers in my opinion. So I searched for compatible parts that I can use to run macOS on the custom desktop I make. After one lost night of fiddling with the OpenCore settings, I made it. I am now running macOS from the beast. The main specs are:
- i9-9900KF 3.6 GHz up to 5.0 GHz in turbo mode. This is the 9th generation of CPUs.
- Sapphire Radeon RX5700 XT graphics card. It has 8GB of memory.
- Intel Z390 chipset.
- 16 GB ram, DDR4
- 500GB M2 SSD (runs macOS), 128GB SSD (runs Windows), and a 2TB HDD drive for storing data that does not need speed.
- Case is SG1V EVO TG ARGB, it has nice LED lights that I cannot control from macOS only from Windows, so those are connected to the reset button on the case so I can change them.
- The fans use liquid to cool down the CPU
In addition to those two above, I have the following devices that help me on my daily struggle:
- i5 Thinkpad laptop with Windows so I can quickly test stuff on Windows when needed
- iPhone 11 is my phone
- The old Retina MacBook from 2015, still works OK-ish but I broke the charger
- Skullcandy Crusher 1 headphones, my kids broke them so I cannot fold, rarely use them because…
- Skullcandy Crusher ANC. Those are some of the greatest headphones I ever had. I am sure there are others that sound more ok than these, but I love the price/quality ratio on those
- The keyboard is Keychron K2 version 2. With Blue mechanical switches
- I use the Magic Trackpad from Apple 99% of the time. When I want a break, I use a vertical mouse from Lidl I bought for like 10$
- I have a Xiaomi Mi Band for checking my heart rate and recording activities
- I have two Samsung studio speakers, not the best ones but the sound quality is ok
- My router is Ubiquity EdgeRouter X, this gives me 1 Gbps speeds over the wire
- My Wifi access point is Ubiquity Unifi AC PRO. A very good-looking access point that I’ve screwed on a brick wall, but also performant enough to cover all the house and outdoors.
I use macOS for my job activities, coding and etc. I cannot easily get over this OS, the best one in my opinion. I usually upgraded day-0 to beta OS, but now that I have this Hackintosh PC I have to be careful not to break it, so no more beta for me.
I code using VSCode almost 90% percent of the time. Here’s how it looks:
For PHP development, the Intelephense extension helps a lot that I bought the pro license. The font I use is MonoLisa, usually 16 pixels size. I like keeping the extensions to a minimum so I do not have a lot of them, only some for React and JS, GraphQL and a few themes.
When I want to make a change, I use PHPStorm too. This was my first IDE, but it was quite slow on the laptop, maybe I will use it more on the powerful PC I built. Here is how it looks:
Other software I use, some daily, some only when I really need them:
- iTerm for my terminal. This is almost always open on my OS
- My main browser is Firefox Developers Editions. I also use Safari for non-dev browsing
- F-Bar to manage Forge servers
- DBngin for managing databases locally
- Laravel Valet for local development
- Alfred, the Spotlight alternative is great.
- Transmit to connect to FTP and sFTP servers
- I use Helo for local mail testing
- Tinkerwell for running random code and testing bits of code
- Ray app for debugging PHP apps
- PAW to test APIs
- I use iCloud, paid the 2TB plan and I have 950 GB used.
- TablePlus for connecting to databases
- 1Password for password management
- ScreenFlow when recoding videos (which I plan to do this year)
- Photoshop for quick editing pictures
- Illustrator for messing with vectorial images
- iStat Menus for showing the CPU temperature and more
- Mail.app for mails, the native one
- Slack and Discord for work and personal chatting
- Grid App for window management
- OBS for streaming
- Rocket for emojis 😺
- Notion for notes
- BetterTouchTool, an awesome tool for managing input devices and more.
- AnyDesk for remote connection
- CleanMyMac for doing regular cleanings to my OS
- BeFocused PRO for when I use the Pomodoro work technique
- Sip, an app that can tell you the HEX to RGB color of any pixel on the screen.
- Telegram, Whatsapp, Signal for chatting with friends and family
I am sure there are more things that I have or use, but the ones above are the most important ones. If you have a certain question about my setup, let me know below. Thanks.