My goal is eventually either contract out programming/engineering work and start my own business. I have a few ideas for programs or apps that others would find useful in engineering work.
Right now, I have a full time job as an Aerospace/Mechanical engineer for an engine company. My current task requires me to do a bunch of iterations of a system design using thermodynamics, fluid mechanics, etc. I basically created a small program in Octave (using Emacs and it's octave extension) that can take a few user inputs, ensure that they are relatively sane (I.E. no negative diameters, and certain numbers should always be ascending, like x-values on an axis), and iterate and solve a fairly complex system where the user can specify the number of elements to break a component into (it's similar to finite element analysis, but not quite computational fluid dynamics).
Also, in my free time I am reading SICP using Emacs and xscheme.
The only class I've had in programming is C++, which was a requirement for my undergraduate degree. After that, I spent a lot of time writing simple matlab scripts. For a while, I also wrote some finite element analysis code in Java while a graduate student. At a previous job, I also wrote some python code that had a simple graphical user interface that allowed you to change the dimensions of a mechanical linkage, animate it's movement, and it would also calculate simple stresses in the part and mechanical advantages, etc.
One of the things I'd like to pick up is maybe the use of a CVS system, because at the moment I'm the only person that really writes elaborate code beyond scripts, and I'd like to have some way of reverting in case I screw up. I usually do a good job of documenting my work, because sometimes I don't even remember what I was thinking when I write some code.
But, I'd like to gear towards launching my own business. Should I just get going, set up a website, and start coding up some ideas?