Well, I'm sure this is a very common occurance, but I tend to give up a lot or not completely finish a majority of my projects. For example the z8de IDE I was trying to make and trying to partcipate in contests. I was wondering if anyone had some advice on how not to give up on projects or ideas. I have ordered a Ti89T and would love to program it, but fear I would just give up. I want to learn stuff properly and finish programs. How do I motivate myself and learn and make/finish new projects?
I usually give up temporarily. Also called: putting a project on hold. Sometimes you lack the knowledge for a project and you're better off waiting and doing something else instead. Then after a while you can revisit your project. I have done it several times.
Examples:
-Timid soundchip. It was on hold for almost a year. Now I know a lot more about avr programming and I re-wrote the
entire thing in 3 days including pc and calculator tools that go with it.
-Herocore. A calculator game I started making in 2011. It was on hold several times in development. This game was rewritten from scratch in 2013. I was a much better programmer at this point. Ever since july 2013 it is on hold again because I wanted to do more hardware projects.

You see I am not giving up on these projects, but I am merely procrastinating Razz
Think about your idea for a week before getting too involved with it, and if you still like the idea then, there's a good chance you'll stick with it. At least, that's how I usually do it, it's working out gr8 for me
I agree with both responses. I have a project that I've been "working on" since 2009 (arguably since 2004), mainly because it is so complex and I want it to do "everything", and do it the "right way". The worst spots are when I barrel into a bunch of new changes. Now I usually mull it over in my head for a couple days, a week, or a month. I may never finish it, but I enjoy thinking about it and exploring different possibilities along the way. Sometimes I think I continue to work on it (mostly mentally) just for fun.

Some projects finish, and others may be "never-ending", and I think that's ok. Stuff comes together when you are ready for it to. Sometimes even "never going to finish it" projects one day come together and become something amazing; and if not, that doesn't make it worthless as a hobby Smile

Edit: Maybe "giving up on" and "not ever finishing" aren't always the same thing. If a project is worthwhile to you, you will come back to it. Sometimes it's better not to pour too much energy into something that's not ready, and just shelve things, or just let them live in your head indefinitely. Then things come together when they are ready to. (And sometimes "come together" just means figuring out how you would/could do something, whether or not it ever "completes")
I find that the most common reason for programmers and hardware hackers around here to not finish things is that they attempt projects well beyond their capabilities. Challenging yourself with projects is good, but if you get too far beyond what you know, you'll just get frustrated and never finish. I see quite a few projects where members are asking questions for every single aspect of the project, which almost always means to me that they're not trying (unlikely) or are in over their heads (more likely). It is important to start with small projects and work your way up, so if you are getting frustrated with projects in a language or for a platform where you're really not an expert, consider starting smaller. Also, like Keoni, I tend to work round-robin on my projects, getting them to a certain point, moving to another project, and later coming back. Current example: SourceCoder 3.
Just don't start anything. Problem solved.
KermMartian wrote:
I find that the most common reason for programmers and hardware hackers around here to not finish things is that they attempt projects well beyond their capabilities. Challenging yourself with projects is good, but if you get too far beyond what you know, you'll just get frustrated and never finish. I see quite a few projects where members are asking questions for every single aspect of the project, which almost always means to me that they're not trying (unlikely) or are in over their heads (more likely). It is important to start with small projects and work your way up, so if you are getting frustrated with projects in a language or for a platform where you're really not an expert, consider starting smaller. Also, like Keoni, I tend to work round-robin on my projects, getting them to a certain point, moving to another project, and later coming back. Current example: SourceCoder 3.


^This. When you announce a massive grayscale RPG, only to ask how to use matrices one post later, it's not a good sign.

On the other hand, I also have seen instances where people insist in repeatedly starting projects that were already made multiple times before, even if the programmer would be ready to go one step further. Lack of interest from other users can have an impact on your motivation, but if you constantly start BASIC "shells" even after being told multiple times in the past that it will never compete against Doors CS and that it's clear that you are no longer doing it for coding practice, you might not be helping yourself.
In addition to things being "above your level", you'll hit a point where things are generally at or below your level (for what you want to do). At this point, stick to the original plan, don't overkill it. If the plan requires too much work, even if you understand the material needed to make it work, then rethink it. Or at least, set realistic goals. You won't be writing a 3rd party OS in a week, nor a full featured, expansive RPG in day. Acknowledge a truthful timeline, and get working, or scale back as needed.
I'm a serial offender when it comes to losing focus on projects - I currently have 2-3 projects on the go and I haven't touched them in over 2 months. The only reason is that interests in other hobbies have taken over.

But I've been through this cycle so many times now to know that in the next couple of months (maybe even sooner) my interest in calculator programming will take over again, and I'll be madly coding away! I've gradually started to feel the pull again over the last week or so.

Of course, this doesn't really answer your question - all I know is that for me, if I try to force myself to work on a project, it grinds along at a very slow pace and the quality lacks. Given that it's a hobby and not a paid job, I prefer to wait until I'm feeling inspired again before I continue working Smile
A very easy way to keep your attention focused on a project is to not dream too big. Many things that are huge today started out very humbly. OpenSSL started out just as an experiment with the GMP library. Look where it is now! Look how far PHP has gone, too.

If you really want to dream big, get involved with another developer or two. This will encourage you to keep your code from getting to sloppy, which will make it easier to work on after it's ballooned in size. Further, if one of you gets discouraged, there's a few other devs there to get you back into a more positive mindset.
usually life gets in the way and affects motivation.

One of the other main reasons is that as hobby programmers, we dont plan or schedule properly - which is actually pretty important.

Usually i do all the hard coding to get something cool working, then lose interest piecing everything together.

Creating a schedule and setting milestones is good practice ... but its something that i rarely do for personal projects :S.
It's not the most professional way to do something, but what I usually do is try to get the code to do what you want and get the project working, even if you know it's not optimized yet. Then you can come back later, when you have more knowledge, and try using that knowledge to optimize the code. If you have something enjoyable sooner, you might be less likely to drop the project.
An example of a project way above my level at the time was my profile essay titled TI-nterface. This is a device you plug in your TI84+. It allows you control LED's, motors and read sensors, buttons and potentiometers. I started with pretty much zero knowledge on digital systems and microcontrollers. Because of this profile essay I study Electrical Engineering now.
Coding productivity is a combination of talent, focus and committment to a deadline - notional or otherwise. Regrettably, I have none of the former but plenty of the latter. Musical composition and coding are from the same stable and possibly Beethoven's Ninth Symphony would have been the (one mans) OS/360 of it's day - truly a monumental achievement. From what I have read, breathtaking feats of programming productivity are completed quickly by people who are just supremely gifted. Mere mortals and relative underachievers, such as myself, have to rely on bruteforce and a doggedly painful struggle to get anything working. The point of quitting is exactly the right time to perservere and finsih the project...- apparently...
Ashbad wrote:
Think about your idea for a week before getting too involved with it, and if you still like the idea then, there's a good chance you'll stick with it. At least, that's how I usually do it, it's working out gr8 for me


shkaboinka wrote:

Edit: Maybe "giving up on" and "not ever finishing" aren't always the same thing. If a project is worthwhile to you, you will come back to it. Sometimes it's better not to pour too much energy into something that's not ready, and just shelve things, or just let them live in your head indefinitely. Then things come together when they are ready to. (And sometimes "come together" just means figuring out how you would/could do something, whether or not it ever "completes")


This is what I somewhat do, but for me, I usually just start making it and if I don't like it while doing so, I just give up before being too involved, but I do keep my old projects code/ideas and such for if I like it again or think of an improvement, kinda of on hold. But I'll start thinking about it more now.

KermMartian wrote:
I find that the most common reason for programmers and hardware hackers around here to not finish things is that they attempt projects well beyond their capabilities. Challenging yourself with projects is good, but if you get too far beyond what you know, you'll just get frustrated and never finish. I see quite a few projects where members are asking questions for every single aspect of the project, which almost always means to me that they're not trying (unlikely) or are in over their heads (more likely). It is important to start with small projects and work your way up, so if you are getting frustrated with projects in a language or for a platform where you're really not an expert, consider starting smaller. Also, like Keoni, I tend to work round-robin on my projects, getting them to a certain point, moving to another project, and later coming back. Current example: SourceCoder 3.


I like your advice, and I think I'm somewhat good with this, I don't really round robin though, rather just sticking with one project, which may be a reason sometimes of some loss of motivation? As I am picking up learning z80 asm again, I think I'll redo my calc locking system in pure asm as my first project, which I see as not being too hard, what do you think?

allynfolksjr wrote:
Just don't start anything. Problem solved.


That doesn't help.

Ashbad wrote:
In addition to things being "above your level", you'll hit a point where things are generally at or below your level (for what you want to do). At this point, stick to the original plan, don't overkill it. If the plan requires too much work, even if you understand the material needed to make it work, then rethink it. Or at least, set realistic goals. You won't be writing a 3rd party OS in a week, nor a full featured, expansive RPG in day. Acknowledge a truthful timeline, and get working, or scale back as needed.


I like this advice, I have done these RPG things and so in the past, and it does not work, rather it's frustrating. But what about trying to just understand concepts that seem difficult? Like I know 4 level greyscale is a hard concept in asm, and I'm just figuring it out (z80 asm), is it okay to try and understand how the concept works?
There is some good advice here. Although I tend to differentiate between "Hacking" a concept around (4 level greyscale, for example) and actually getting some productive coding done.
It's important to lay down a specification (of sorts) and stick to it. A common software engineering failure is to allow "feature creep" to set in and bloat the code - and delay the project.
So yes - set an achievable goal and stick to it. Kerm didn't write Doors CS7.x in one coding session: it evolved. There was always a stable beta version "out there" to be used: and that is a key point.
I personally always have projects that (initially, at least) I really want to see completion of. Usually I start something primarily because *I* want to use the result--and if it seems like it would be useful to the community, I consider releasing it, but this is normally secondary. Smile So I have no problem with motivation; if I want it badly enough, I usually end up finishing it (some day).

I do have a problem with starting too many things at once, though, because I'm always coming up with cool stuff (to me) to make or do, and the excitement can be enough to simply overwhelm motivation to work on previous projects for a while. I try to round-robin a few of the most recent things I start for some balance every hour or two. Often, projects that are slower to be completed end up getting buried for extremely long periods of time, unfortunately. In a few severe cases, really old projects reach a point where I no longer care about them or it's simply no longer possible to finish them some reason (life changes, no longer having the things or resources that I was planning to use for them, or something like that).

Somehow, I manage to finish certain things, though. Probably the most important ones to me. Even if they get buried for a while, I often eventually get back to them if they're important enough. So maybe all this simply functions as a bit of a filter so I only spend energy on projects with more long-term benefit or something. Who knows. Smile
I am going with nikky on this one. I have ideas, but I don't start them. I don't want to deal with having to drop a project forever.

Just don't start projects.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement