12

I am a fresh pass-out engineer. I have just started my career as Android Developer. Its been 6 months of working with a company as a developer. I haven't faced many problems in establishing myself as a good programmer.

During this period of time, I am regularly assigned work and I have finished all the assignments within the deadlines. But the main problem I face is that when I am assigned the work, at that time, my enthusiasm for doing the work reaches its peak and I usually finish 50 or 60% of work within 1 or 2 days. But as the time passes on my enthusiasm, as well as focus, on doing the same work keeps decreasing. And it becomes tougher when I need to give the finishing touch to the assignment.

Its really been a trouble for me as I have just started my career and I hoped to be a good IT developer. I don't want this problem to persist, I am going to join a highly reputed company in 3 or 4 months, where I'd have to finish the whole stuff before the deadlines to gain good reputation.

Has anybody faced the same problem and how do you overcome it?

7
  • What do you do first: the hardest part, the easiest part, the most interesting part?
    – superM
    Oct 17, 2012 at 10:19
  • Nice question. first i prefer the interesting part. Oct 17, 2012 at 11:27
  • 2
    So that's why you loose your enthusiasm once the interesting part is done ))) I prefer RDD (risk driven development) _ the hardest part first. So even if I loose the drive with time, I know at least I've minimized the risks.
    – superM
    Oct 17, 2012 at 11:30
  • 2
    @superM lose not loose. I couldn't let it go after 2 offenses ;) Oct 17, 2012 at 14:10
  • 1
    I'd suggest this is betetr suited for the "personal Producivity" StackExchange area, not Workplace.
    – GuyM
    Dec 1, 2012 at 22:59

4 Answers 4

14

It seems that you are enthusiastic while building the functionality, and then lose enthusiasm when you have to implement the small details and polish things up. It's common among programmers. Remember, the result (and the value) you deliver is function both on your skill and the discipline to get everty detail right. There can be various approaches for self-motivation to do the uninteresting part of the work, I'd suggest one. Instead of doing all of the major functionality first and then work on the details, make sure every function is implemented with all of its details before moving to the next one. In this way you will work more often, but for smaller amount of time, uninteresting job, and you will develop your discipline.

Additionally, identify what is uninteresting for you, and then get to know a lot about the topic and the best practices for it. For years, databases and front-end stuff were both boring for me, before I actually discovered their worlds and tried to master them.

8

I'm much the same way. One thing that helps is to get on a team where other people have complementary interests. Believe it or not, there are people who hate the design part and love the finishing touches part. It's amazing how productive you can be together if you manage to get on a team with someone like that.

Even with good colleagues, there are still unavoidable times where tasks feel rote. During those times, I use the Pomodoro Technique. You can work on pretty much anything if you know it's only for 25 minutes. It's also very helpful to listen to music. I'm not sure why that works, but my theory is that it takes up some brain power that would otherwise get distracted, when you don't require your full attention to accomplish something.

Another useful technique is to add a challenge to make it interesting. For example, if I have hundreds of boring compile errors to sort through, I make it a challenge to see how fast I can do it.

Also, make sure to take breaks. When my typing slows to a crawl from boredom, I'll take a 15-minute walk to clear my head, and that can get me going quickly for the rest of the day. Remember, the important metric is your productivity for the entire day. A 15-minute walk can be a very good investment.

2
  • Its a good one, listening to music is a good idea. Our company has provided us with a music portal. i had never realized it could be for the same reason. Oct 18, 2012 at 5:06
  • +1 for 15 minute walk being an investment towards a more productive day. Oct 19, 2012 at 22:41
4

We tend to believe that the core of what we're building is the most important part, and we get excited because we're contributing that to the project. Then we get down to debugging, cleaning up code, and building documentation, and we could almost just drop the project altogether.

As a programmer, your mind is very active. Doing debugging, code cleanup, and documentation is borderline mind numbing for some. Just tell yourself that these steps are even MORE important than the core of the work that you've just completed. Without these steps being taken, your project has the ability to come back with unexpected results. Without clean code and well written documentation, bug fixes and possible rewrites can take much longer to perform, further decreasing the effectiveness of your work.

2
  • Also, if you're paying attention, you'll learn a lot more about the inner workings of your language and understand the ramifications of your design decisions much better in these phases. This will make you much better at what you do. Oct 17, 2012 at 15:56
  • @AmyBlankenship One thing I noticed a lot of companies DON'T do is allow the programmer time away from a project. There's so many times where I've completed a project, to come back to it over the weekend and ask myself "Who the hell wrote this section... oh it was me...". The mind at rest allows it to recharge and give it better processing power. Oct 17, 2012 at 16:01
1

Thanx to all users, who had given their valuable suggestions. what i had concluded that to boost up my enthusiasm during work,

as suggested by @karl beilefeldt

  • Listen to music after some interval, so as to relax the mind.
  • Take small breaks from work and walk a bit or do some other kind of stuff to deviate mind from work.

as suggested by @Mechaflash

  • Take every part of the project as the important part, it could be debugging or code cleanup. Consider it as usefull as the latter part.

as suggestd by @Darhazer

  • Instead of doing important part of all the functions together, implement project as small fucntions, first finish one function and then jump to next one. Avoid doing all functions together.

@superM

  • Try Risk Drived DEvelopment. First implement the Hardest part, so that even if you loose interest later, the risk would have been minimized.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .