Long time listener. First time caller...
After a fifteen year career as a pilot, I lost my job last year and can't find another one. I went back to school and am taking C++ and intro to databases and everything else I can get my hands on, in order to catch up.
I have no background in technology or business, basically a pilots license with a pretty degree attached to it. Nothing applicable to the real world. For all intents and purposes, I am starting from square one and trying to make my way as a programmer. After eight months, I don't feel I know how to actually program anything.
Entry level jobs are looking for 1-2 years of programming experience and mentors are hard to find.
Am I blowing this out of proportion? Does anyone recall what it was like when they started out? I mean really started out?
Thanks.
Edit: Thank you for all the comments. You lose sight of the big picture from ground level. Just need to stay the course.
Use Python and write a program that prints the numbers from 1 to 100. Then change it so that when a number is divisible by 3 it prints "Fizz" instead. Then change it again so that when a number is divisible by 5 it prints "Buzz". If the number is divisible by both 3 and 5 have it print "FizzBuzz".
Then write it again in C++.
Now ask, how could your program be made simpler? How could it be made clearer? If someone came to it in 6 months time, what would the y need to know in order to assess whether it's doing the right thing?
If you can do all that effortlessly then you're a long way there and in need of a harder challenge that gives you some satisfaction. If it requires any real thought then you need lots and lots of practice at writing code.
I understand the need to practice code and take to it religiously. My wife hated when I was gone all the time. Now I am home and she hates that I am on the computer. You are right about increasing the level of difficulty. Thanks.
Just to get a feel for the kind of code you write, perhaps you could take this little challenge:
Write a C routine with the
following prototype:
void condense_by_removing(
char *z_terminated ,
char char_to_remove
);
Your routine should modify
the given zero-terminated
string in place, removing
all instances of the given
char.
If you're brave you can post your code here ...Apart from that, the challenge is to decide what kind of job you want, then make sure you develop a resume to get it. If you want a web developer job then you have to write some web apps. If you want a systems programmer job then you need to write some slick algorithmic code.
Do you know what a B-tree is and when you would use it?
The great programs are made by the people who used to need them.
There is a lot of money to be made on those platforms; pilots are willing to pay for tools that help them, and non-pilots don't know what they need and can't easily produce such apps out of the blue. I bet you would also easily find a co-founder once you have concrete ideas / concepts.
I will point out, however, that I decided to go straight into Lisp.
Is there any way you can leverage your domain knowledge? Work in avionics or games/simulation?
Given your unique experience, you could probably find niche pilot tools that could use help. Check out freshmeat.net and other sites to find projects that are both interesting to you and could benefit from additional input.
Not quite true. I bet avionics companies (and plenty of others) would be very interested to talk to you.
My dad used to be a pilot and now works in technology, though he made the switch a few years ago now.
As for the programming, after learning the very basics you really have to write something and learn as you go. Try writing a little Android app. I bet you could without even knowing Java.
It could be that working as a programmer isn't right for you (maybe a business role related to aerospace), but if you kept it up on the side and used it as your "secret weapon" ^ you could be a real success. Good luck.
^ See Zed Shaw's thoughts on http://sheddingbikes.com/LearnPythonTheHardWay.pdf
Thanks again.
Starting from nothing, that process can take a couple years - you'll need some money somehow during the learning period, Make sure that's taken care of because the money won't come quickly as you learn.
I did almost exactly this, and it worked for me.
http://www.codeproject.com/KB/cpp/visual_java.aspx
http://www.codeproject.com/KB/miscctrl/ruler_control.aspx
http://www.codeproject.com/KB/IP/videochat.aspx
http://code.google.com/p/rhythmote/
http://pugoob.blogspot.com/2008/01/pugoob-image-search-tool....
Just a sample of my work, doesn't include what I actually do at work. How long do you think it will take you to learn how to build the kind of software above? I would hazard a guess, it will be a looooooong time. I currently work as a System Architect and even so I am not considered a senior person. Programming is like athletics, after a certain age you really shouldn't pursue it as career. You can try to learn it as a hobby, but spend your time and energy on more attainable career goals in the short term. I hate to sound uninspiring but I have seen enough of this type of thing, mid-career people trying to find a lucrative career and thinking programming is the way to go, mostly it is a waste of their time. I am in an MBA class with someone who's about 33yrs old and is taking Oracle classes trying to get into the IT field, he is mostly likely wasting his time.
IF YOU MUST
Start with PHP not C++ (Not likely to get you a job anytime soon)
Learn how to setup an entire LAMP (google it) system first, you could install virtualbox on what I am sure is your windows systemThen try to create some website, maybe a dating site or something your neighbors might find useful.
Be prepared to spend a lot of time on web forums asking questionsHope this helps clarify some things for.
That said, there is absolutely a shortage of C++ jobs... but this shortage has created an equal shortage of competent C++ programmers. We can't find C/C++ programmers to hire fast enough.
It doesn't particularly matter as long as its appropriate for your skill level (but still challenging)
Example: After taking my second ever programming course I decided I wanted to make an iPhone app. So I picked up two books, made a storyboard, a paper prototype, and then went for it. It was a cookie cutter "inspirational quotes" app but I learned a lot and I was proud of it!
Programming is hard because you may understand the solution, but you don't know your equipment well enough yet to get you there.
If you know what kind of industry you want to work in (Games, Web, Enterprise) focus on the tools that are used in that industry (C++, Django, .Net). Once you zero in on these specifics it will be much easier to find a mentor/community, because a flight instructor is pretty useless if he doesn't know where the landing gear is.
Don't discount a 15 year career as a pilot - you might be able to get a job testing simulators for Lockheed, Boeing, or one of the others, and if you still want to write code you'll have your foot in the door already.
Good luck.