Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I hope I can open a discussion on this topic as this is not a specific problem. It's a topic I hope to get some ideas on how people in similar situation as mine manage their time.

OK, I'm a single developer on a software project for the last 6-8 months. The project I'm working on uses several technologies, mainly .net stuff: WPF, WF, NHibernate, WCF, MySql and other third party SDKs relevant for the project nature. My experience and knowledge vary, for example I have a lot of experience in WPF but much less in WCF.

I work full time on the project and im curios on how other programmers which need to multi task in many areas manage their time. I'm a very applied type of person and prefer to code instead of doing research. I feel that doing research "might" slow down the progress of the project while I recognize that research and learning more in areas which I'm not so strong will ultimately make me more productive.

How would you split up your daily time in productive coding time and time to and experiment, read blogs, go through tutorials etc. I would say that Im coding about 90%+ of my day and devoting some but very little time in research and acquiring new knowledge.

Thanks for your replies.

I think I will adopt a gradual transition to Dominics block parts. I kinda knew that coding was taking up way to much of my time but it feels good having a first version of the project completed and ready.

With a few months of focused hard work behind me I hope to get more time to experiment and expand my knowlegde. Now I only hope my boss will cut me some slack and stop pressuring me for features...


migration rejected from Jun 25 '13 at 13:27

This question came from our site for professional and enthusiast programmers. Votes, comments, and answers are locked due to the question being closed here, but it may be eligible for editing and reopening on the site where it originated.

closed as not constructive by gnat, Kilian Foth, Bart van Ingen Schenau, Dynamic, Dan Pichelman Jun 25 '13 at 13:27

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

Voting to migrate to programmers. – The Scrum Meister Mar 6 '11 at 5:13
Yeah, I'd move this to programmers. – Hack Saw Mar 6 '11 at 5:15
It's also not clear this has much to do with .NET. – Hack Saw Mar 6 '11 at 5:19
I feel that this should be moved to the new "The Workplace" site. – Michael Durrant Apr 19 '12 at 1:58

Block parts of your day for the different parts of your work, i.e.:

  • coding = 4hrs
  • blogs = 1hr
  • experiments = 2hrs
  • tutorials = 2hrs

(All the above are example times.)

Be disciplined and keep to these times - you will also find that you will be more focused with a deadline coming up (30minutes left!!) and you will actually achieve more - this is Parkinson's Law.

This way you will do more and do all the things you need.

I agree. I mean 90% coding is too much in 1 day imho. The block example above seem to make more sense. – TeaDrinkingGeek Mar 8 '11 at 15:55
Nice answer. I wish management supported such structure. – crosenblum Mar 8 '11 at 16:47

I have a full time job but work remotely. It's cool for me cos i have 3 years old daughters triplets and can help my wife with children. To have a free schedule is great from the one side and in the same time it's very hard to have all the work done in time - cos here is a lot of stuff which is disturbing me all the time.

And I started to work a lot at nights... But it slowed me down even more.

Then after research and trying different practices I found that the best time for work is morning!

Usually the first few hours after waking up a person spends in a state of idleness. And you have a plan to do today, and some tasks are urgent, but you don’t want to start right now. Yet a full day ahead, you think – still have plenty of time… In fact, hour after hour passed, and you just can not make you to start. As a result of your work day flows smoothly into the night (see first paragraph). Escape from this situation is one. If you know what you need to do, then do it in the morning. As early as possible. Try it once and you will be surprised that beautiful feeling when the clock is only ten in the morning, and you’re already half way done. Then you can and drink coffee, and take a walk – with a clear conscience and a sense of accomplishment.

Being happy from the results I got I even wrote few posts on my blog, and the
quote is from

So, my rule is next: firstly do all the tasks, then the rest of time for learning

Hope my experience helped somebody :)


Calculate how long you need/can code in a day. Factors like: amount of work, urgency, your limits (some days are better than others. This may turn into a range.

You need to break up the day, so pick a list of tasks that can be managed in 5-15 minute blocks: email, SO, read short article, look up something, etc. You'll need about 4-6 of these a day.

Find an area you think you need the most help and consider what would benefit the current project. Not always easy if you get into that how do you know what you don't know if you don't know it kind of thing. Maybe an article, an answer to an SO question or a new book can give some insight.

Pick some sort of secondary or way-out-there topic that may have no use right now, but seems interesting/you never know: NoSQL, Functional Languages, mobile devices, COBOL (just checking), Behavior Driven Development, color theory, the future of technology.

Have a very thorough understanding of what your supervisor thinks is important and how you can communicate what you are getting done.


I totally agree - but would add that you play them in Windows Media Player or similar (iPod) that has a speed control slider. I listen at 1.6 speed it shaves off about 20 mins per hour. I avoid playing in the iTunes player because although it is rather decent for podcast management, and it has speed control for audiobooks it doesn't let me naturally change the speed of podcast audio or video without converting the files.


If you are lucky and your boss allows research in your working hours do as @Dominic proposed.

I am not that lucky :-(.

Furtunately i am also a busy reader of questions in this forum (pm, programmer, stackoverflow) . Whenever there is a question about a technology i donot know i google for it and learn this way what else is in the programming world without applying it.

If there are new jobs to be done i can make proposals about new technologies that can be used (where i read something obout in this forum) and if i am lucky have the chance to try this out.

Beside this i have private projects that i implement in my spare time focussing on technologies that sound interesting.


While it may be your employer's interest to keep you up to date with latest technology and practices related to the work at hand, some argue that it's more of your own responsibility as a professional developer to take care of your career and be continuously learning about the next thing that will make it advance.

Self improvement outside of working hours (whether it be through books, podcasts, code katas, pet projects...) seems like a good idea to me since you're free to organize it however you want and it won't interfere with your daily work (well at least, it shouldn't ;)


Not the answer you're looking for? Browse other questions tagged or ask your own question.