Year and half back I used to write applications in Ruby on Rails for a startup which paid me less. Various reasons forced to me to look for a high paid job and I finally landed up in Corporate IT wolrd where now I spend my time maintaing ancient COBOL code. The job sucks.
I thoght in the spare time I would do a bit of hacking and develop hobby projects, but nothing seems to be going fine. The day job is keeping me occupied and now I am loosing interest to do anything in my spare time.<p>Anyone in similar situation ?
Need some expert advice to motivate myself and start writing applications and building hobby projects in my favorite programming language.
My guess is that part of your lack of motivation is related to not having a goal, a plan and small achievable steps. Do you know where you want these side projects to end? Do you have a list of steps to reach that goal? And is it broken into small enough tasks that you can check something off the list each night you spend an hour or two?<p>I know that I accomplish very little without this type of "project clarity" and often end up poking around at this and that without actually finishing anything. And just to be clear, I'm not talking about 30 pages of tasks in MS Project ... Just a list that you can see diminish over time.<p>I'm also far better off if I get up early and do my personal projects first, do my paid work and save the reading for the evening ... You may not have the mental energy left to code in the evening so save the less intense work for then.<p>So ... What are you building? Can you make me excited with a short elevator pitch? If not, maybe you're not excited enough about it either?<p>These are my issues ... Maybe some will resonate with you.
Been there as well but instead of COBOL was badly designed PHP codebase. I had the same thought as you but in the end, I was really coding less and less at home. What I did was help in the forums for my favorite language. Helped old timers and newbie alike with examples and good practices. This slowly reignited my passion for the language and I slowly started coming back as I coded libraries people wanted and little examples. Now I am full time back with my favorite language and happy.
Replace COBOL with PL/SQL and that's exactly my story. Here are a few things I could suggest:<p>- Start with a smaller project, something that you could finish over a weekend. Finishing that kind of a project will leave you with the confidence to continue with more demanding projects.<p>- If you're working on a larger project, split it into smaller chunks. Make a list of things that could take, say, half an hour, and complete them as and when you get the time.<p>- Don't depend on others for motivation - motivate yourself. If you don't know why you want ot work on your own hobby projects, nobody else would.<p>There are lots of people I know that struggle to find the time to work on side projects. Funnily enough, I see that people working in startups find it as hard as us corporate IT folks to find the time.
Maybe start learning more about architecting software, if you haven't delved into that at all. Coding can get mundane but planning to build an app, such as a web app, (on a technical level but without actually writing code) can give a new perspective. You've probably already seen a lot of code, by this point, that is crap, poorly designed, etc and that can provide motivation to learn some of the latest design strategies, etc. I guess what I'm really getting at is that you can try to gain a new perspective and new skills apart from just being a "coder" to where you can potentially open up new career options to find a job thats better suited to your interests
A fun project with a clear goal is a helpful start, but you probably also need to get a few wins under your belt.<p>With a job where you're just propping up a rotting old codebase, programming probably just feels like crap after crap.
Start a project where you can have something cool happen after just a couple of hours of coding.<p>The feeling of things actually progressing gives a lot of drive to continue. I guess thats the reasoning behind setting small, achievable milestones.<p>Go code up something fun & immediately gratifying :)
Some ideas:<p>1. Pick something that you want to build<p>2. Pick something new that you have wanted to learn<p>3. Use 2 to build 1<p>4. Have a specific goal, and keep working X minutes a day - absolutely no matter what.<p>5. Ship<p>Time actually runs fast, and even if you spent just about 60 minutes a day, you will quickly realize that you can squeeze in almost a working day into a week.<p>It's quite powerful, and before you know it you would have racked up a lot of knowledge, and actually have stuff to show.
Here is my suggestion, but I am not sure it is doable as I never used COBOL in my life: can you write a program that would compile Ruby (or whatever new language you want to learn) into COBOL? If you can pull it off that would save you lots of time. And you can start by programming something to generate small pieces of COBOL for you, and then expand that program...
Simple. To do something you need to have the passion to do it. If you love it you will find a way to do it. My roommate's job sucks too and yet he finds time to do what he loves.