It seems to me that discipline is the only missing piece in my "developer's tool-kit". My mind naturally follows the curiosity route, so often my projects grow "horizontally" via feature creep. Also, I have an irrational resistance to starting any kind of "chore", even though once I start, it's never close to as bad as I had imagined.
This has gotten so bad that I'm convinced I'm weak mentally, but I've demonstrated tenacity and actually discipline in other areas at times, such as maintaining an exercise routine, though it's difficult there too. I can't help but feel "trapped" by the duty of discipline. It's just very difficult for me to sit down and start on task A, then move to task B after thorough completion, etc. It's affecting my performance at work which frustrates me because I know I have the technical ability to make worthwhile contributions.
Any "work" suggestions welcome as well.
As mentioned elsewhere, start with the tiniest, lowest-willpower possible variant of your habit. Once you’ve been doing it for 3-4 weeks, you can increase the scope or ambition of the habit. Do that for another 3-4 weeks, iterate ad infinitum.
For managing scope creep, develop systems or processes for deciding what to work on. Make a habit of working only on things bubbled up by the system.