Ask: What are the tools and factors that let you to program at your best?
I've been thinking about how and when I program at my best, what the tools are, what the situation is and how I can engineer it more often.
It's a combination of editor/IDE (that I know), debugging tools, clear goal, clear head, ...and a bunch of other things.
What are your factors of 'the best programming you'?
16 comments
[ 3.0 ms ] story [ 23.9 ms ] threadMost important are quiet conditions, minimal interruptions & meetings and confidence management know what they are doing.
1. Big monitor. Tried a regular monitor vs UHD. UHD monitor gives me two rows so I can do stuff side by side.
2. The right music + headphones + no background noise.
3. Nice keyboard and mouse. My laptop isn't good enough.
4. L-Theanine pill before work starts.
5. Half hour meditation time before work. Headphones are great for this.
6. Decent IDE.
7. Also I block off Facebook and games for the entire work week, even past office hours. Flow goes well into the night.
Most of the time I need to relax. I just run some "rainy jazz" playlist on YouTube.
If I'm anticipating pain, e.g. designing a schedule or working with Firebase, I run my workout playlist (Journey/Eye Of the Tiger/some hyped up 80s songs). I don't recommend this for most people. It's just that I've been listening to this exact playlist for hundreds, if not thousands of hours and it has become background noise.
If I'm feeling depressed, I play something chill like Lemon Tree that reminds me of my youth.
Fonts are really crisp on it. It's very pleasurable to work on and one of the things I look forward to every day.
It acts as 2-3 screens on its own so I don't really see any use for more screen space.
My office at home has three walls made of floor to ceiling glass (back wall is bookshelves). You might think that would be distracting but all I can see is trees, and I'm above ground level so not even animals distract.
I need quiet, solitude, and no interruptions at work, and a good nights sleep before it.
I don't know how people can code with music playing or people talking and coming in and out of the work space. I can't hear myself think with that around me and it bugs the hell out of me.
I code in spurts. If I'm focused I won't stop and I'll keep coding until I'm exhausted and get a shit ton of work done, and then I need time off.
When I'm tired and "burnt out" I can't code squat. I just sit there and stare and can't really follow and track logic and if I try to write something it's garbage and will break stuff and I'm better off not mucking with anything at all.
As far as tools go, I've been using BBEdit the entire time. I use it for JS, Perl, HTML, CSS, Python, plain old text and most everything else I might code. I use it more than any other app I have.
I still use "Fetch" for the Mac to transfer files. It works for me.
I use a few Raspberry Pi computers connected to my LAN and configured similar to my production servers for development and to keep working when I lose my internet connection. Where I live, in a rural area, that happens quite a bit.
I have a collection of disk images for the Pi that I use to prototype stuff on and experiment with. I can hack on those and break them or copy them and go from there or start over again on something else with a fresh install in just a few minutes.
The Pi has become one of my favorite tools. I can emulate the internet in my office on my desk and work on building a server dedicated to a specific task and then mimic the install on a production quality VPS. I even have a disk setup to use as portable PC on trips now and don't bring a laptop anymore. I bring a small bag of adaptors for monitors and a tiny wireless keyboard with a touchpad and that's it. Everything important is on a microSD that's easy to remove and conceal and replace.
If I'm well rested I have 4-5 different hour long mixes that I put on my noise cancelling headphones or use "Focus" from Brain.fm - which I actually think I bought a lifetime membership of because of a HN discount - and with either one of those, I have somewhat trained my mind to go into "work-mode"/flow.
I used to think it was about the tools btw. Then realized the constant experimenting with what tools to use was just my mind playing tricks with me and making me believe I was getting work done.
Clunky at times and possibly bloated with too many features and menu options but Debugging IDE is by far the best of any IDE I've worked with!