Hacker News new | past | comments | ask | show | jobs | submit login

Not the OP, but my experience matches his and for me the following are particularly important:

- Getting the requirements right. This by far has the most impact on effectiveness

- Reducing friction. Simple things like proficiency with high quality tools, smooth and fast builds, clean logs, easy ways to generate and analyze core dumps, accumulate to produce an outsize effect on productivity.

- Uninterrupted, substantial blocks of focused time. It is staggering how easily chat, email and meetings can destroy productivity.

I was attempting to answer this elsewhere in the thread, but I totally forgot about uninterrupted time. This is a huge one, it really matters.

Quick tip: For people who work in a company where they don't necessarily have control over their own time: schedule the living out of your calendar. Book endless meetings with other programmers, then just sit there and do work. "Q2 Backend Architecture Review: 4 hrs" can just be a few people sitting in the meeting room programming. It's crazy the power of blocked out time on your calendar to a manager who otherwise sees an empty day.

This is a hilarious and amazing tip.

Another way I've tried to tackle this is on day 1 of a job - I've blocked out a huge chunk (4 hours) of my daily calendar of "Coding Time - No Meetings, No Slack, No Email" before anyone could tell me no.

If I could give you +4 million for the "blocks of focused time" comment, I would. This is hugely under-rated in my office.

Open plan, with 2nd line support talking to customers right next to developers.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact