Take the 2-minute tour ×
Personal Productivity Stack Exchange is a question and answer site for people wanting to improve their personal productivity. It's 100% free, no registration required.

I have got an idea that can make a good app for web and mobile. I tell myself to design the prototype so as to see how people take it. The problem is when I sit to code, I can't get things done. I kind of know what has to get done, but unable to do so.

I sometimes get intimidated by the code, though I have been coding for quite sometime. I'm not sure why, as I love technology and have the ideas of how to build great programs. For example I found Backbone.js to be very useful for modularizing in my website, but somehow not able code in it too well, put off by tiny little things.

How to motivate myself to code a project, learn new stuff and discipline myself to finish what I do? Here's a perspective of what I have done so far - I have been part of Google Summer of Code, contributed test cases for Mozilla, 2 years of professional experience in a tech company mainly dealing with IBM Mainframes, COBOL.

I kind of think it's a stupid question to ask, but what I'm looking for is people who have faced a similar situation and have reformed themselves to be successful. If this is not the place to ask, suggestion to where to look for will be appreciated.

share|improve this question
    
I get this a lot when approaching a new module. I am in the same boat as you in searching for similar success-minded people. That's why I enjoy PPSE. People come here to improve themselves :D –  Gaʀʀʏ Jul 5 '12 at 23:48
1  
Find a coding buddy. I don't know where or how so I'll just leave this as a comment. It's great to get all worked up about cool new tech and then work together on coding it up, dragging each other through motivational dips. –  w00t Jul 10 '12 at 19:36

4 Answers 4

up vote 6 down vote accepted

if your routine going on for sometimes then it is really the time to break out of your routine now. yes breaking your project into small pieces as pointed out by @gekkostate will definitely help.

1) i think that taking some sort of a break is also important to bring the motivation back for example if you can take 1 month all fun trip to somewhere leaving your laptop back will do a lot of good.

2) work on project details on big whiteboard on the wall in your home can be a lot of fun rather then working on microsoft project or some papers. visualize your every part of the project on your white board and then go to work.

3) also research all the things you need to do before hand and when working just do the work. have done wonders for me.

4) do something more challenging in your work because lack of challenge is also major cause of losing motivation.

5) try to set some deadlines and see how it goes.

6) you can also make it a habit that program alternately in the week . leave it one day read a fiction novel or something and take it on the next day.

7) try to change the place of work.

8) or force yourself to work for 5 to 10 minutes (by work i mean working not researching) and i assure you things will fall in the place.

9) lack of goals attached with whatever you do is also one of the factor for loss of motivation.

best of luck!

share|improve this answer
2  
Well, I got motivated after posting this question and seeing that there are people to help! Great! Thanks guys! What @gekkostate said was correct, but mazhar's was more broad and some of his points were the reason why I was able to complete my small project in no time! Anyways I would love to hear more great suggestions. Thanks again guys! –  adifire Jul 6 '12 at 12:01
    
glad to see that it helped you. you are welcome! –  maz3tt Jul 6 '12 at 12:10
    
Good ideas mazhar! –  gekkostate Jul 6 '12 at 12:17
    
thanks @gekkostate –  maz3tt Jul 7 '12 at 6:19

I recommend you start with one specific use-case, implement it, then add functionality piece by piece.

For instance, if it's a Twitter client, the most important use-case is tweeting, after that you can other use cases like search or reading the news feed.

Don't plan too much, use mind-mappers to stay focused.

Build some prototype with user interaction so you can test your software as it grows. For instance, if I had to design a game, I would:

  • make the screen display a black square in a white rectangle
  • make the square reply to user interaction
  • add other elements that interact with the square by killing it when touched
  • add some form of AI to these elements
  • add a timer so that a specific survival time triggers a message
  • add logging to facilitate debugging
  • add sound effects
  • add sprites
  • add animations
  • add a menu
  • etc

until I have a full-blown vertical shoot'em up game.

Of course, you may as well find at the middle of the road that you need to rewrite everything in another language or using another framework, well these things happen and at least you'll have gained valuable experience.

Do one thing at a time and do it well.

Also, don't be fooled by stories of programmers working 16 hours a day. If you have other interests and hobbys, don't stop them, work at your rhythm and focus on work done, not on time spent.

And maybe you should try to figure out what these "tiny little things" that put you off are.

share|improve this answer

One of the biggest challenges I face when I'm looking at a project and have work I want to do is getting started. Once I get started, I usually pick up momentum and within minutes I'm getting ideas faster than I can make them happen, but to get to that place, I need to just start.

There's no magic trick for that, but the biggest thing you can do to help yourself is to break your goals down into manageable steps. At least for the very first few things you want to do, break it down until you've got to-do items that are so specific and easy that you can do them in 5-10 minutes.

Suppose you have:

  1. Make a prototype
  2. Get feedback on prototype
  3. Add features and functionality based on feedback
  4. Sell mobile app

That's a perfectly fine order, but underneath #1 you need a list of concrete, quickly reachable goals:

  1. Create a project on computer/in IDE
  2. Make a 'Hello World!" app
  3. Add a few buttons to make a simple version of the layout
  4. Make a button do something.
  5. etc.

Those might look like tiny, dumb examples, and maybe you don't need to go to that level of detail before you have a list where you say, "Oh, hey, I can just do that right now," and get the ball rolling, but I hope this illustrates the principle I'm trying to get at. I've always found that (for me) the biggest source of coder paralysis is having lots I want to do and no idea where to start. Put time into answering that question, and before you know it you'll be too busy working on your prototype to consult your to-do list.

share|improve this answer

Motivation is something that someone else can't give you. I've had a similar problem with getting work done. Here are a few things I would suggest to get some work done.

  1. List the benefits of completing the code
  2. Break the code/work into small parts so it doesn't feel long and tedious

I am a programmer myself and this is recurring problem that I face. Those are the two things I do to help me get the work done. Another thing you could try is to remember the time you actually had fun coding. Code what you like to code. In my case, it's math problems or interesting science stuff. Try the above and see how it goes.

share|improve this answer
2  
I think motivation can be given to you by someone else; but it is a different kind of motivation and it is much less powerful. My example: - Seeing a cool piano cover on youtube might give you temporary motivation to learn the piano, learn that cover, or do your own. - Deciding that you want to become a better piano player and acting on that personal decision will give you the power to endure through the learning process and continue. –  Gaʀʀʏ Jul 5 '12 at 23:52
1  
Intrinsic motivation > extrinsic motivation –  asfallows Jul 6 '12 at 13:06

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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