Hello. I hope you are doing well?
How do go through your daily work?
And What makes one an efficient programmer on a macro level?
Create templates to quickly answer FAQs or store snippets for re-use.
I'll start with the last question: you get efficient by taking care of your body and mind. Apart from the usual "eat well, drink often, exercise, get enough sleep", I noticed one additional thing that can make a huge difference: as our bodies and minds have a sort of daily cycle of their own (and it's different for each one of us) it's important to align intense work with the moments of the day when our minds are at their best.
On my ideal day I wake up after 9 having had 8-9 hours of sleep. I sloooowly get ready for the day, eat breakfast, let my body wake up, maybe sit and read for a while or talk and hang out with my partner.
Some days I will also sort some emails, especially the quick and easy ones. Other days I make it a point to not open any message in any form whatsoever until the afternoon, so as to keep my mind uncluttered.
I will start coding between 11 and noon for 2-3 hours (that's how long my brain can take, before quite literally giving up). Then a late lunch, then another 2-3 hours of coding. As you can imagine my day ends up kind of late, but that's ok.
Some days I'll hit the gym at 12:30, which means I'll only do one coding session in the afternoon, if I can afford it (no imminent deadlines), or I'll try to have a second session after dinner. That's ok because the next morning will be slow anyway!
I love your first paragraph. So it’s important to understand the hours when we can get the best of ourselves.
And your days seem very free. I mean the way you organize yourself seems to make you efficiently productive.
It's easy if you are a freelancer (like me) or if you work for a remote first company. It can be harder of you are employed. When I used to be employed I had to start working at 9:30, and it basically meant my employer was paying me for a few very unproductive hours.
And I don't have kids, that's also important.
I see. Actually I am studying and it’s difficult to focus on the skills I want to increase with school projects and going to school to 8am to 7pm.
However, freelance seems interesting after graduation.
I usually wake up around 7:30 - 8 AM. I shower, take my dog out, eat breakfast, and head to work around 9 AM. I walk to work and get in around 9:15. I grab coffee and catch up on emails/Slack messages, then pick up coding wherever I left off the day before. I have a few meetings and then eat lunch. I grab more coffee and then get back to coding. Depending on what I'm doing, I might need to talk to other engineers, our product manager, or our UX designer. If I'm at a good stopping point, I try to leave around 5-5:30 PM, but if I'm in the middle of something, I'll stay later and expense dinner.
One thing that makes me efficient is working with other people. A general rule of thumb is to try and solve a problem for 20 minutes by yourself, and if your'e still stuck, then ask someone else for help. Doing this will save you hours of frustration!
Oh great! I love your advice. I will apply it and see the results.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.