I'm hoping the copious coding nerds around here can give me a bit of guidance here.
I would like to improve my programming skills to the point where it would be feasible for me to be hired as a low level code monkey of some stripe. Mostly, I'm thinking about being able to do useful things with GIS and databases, as that kind of thing could easily be leveraged for archaeology projects, which is primarily what I'd like to develop my skills with an eye toward.
My current base of knowledge is this:
• 1980s - high school. Learned BASIC over course of a couple semesters. Never did anything extra-curricular
• 1990s - out of college. Learned PASCAL in a programming class. Taught self Perl. Took algorithm classes. Did a few tiny projects with perl to generate HTML code in the EARLY days of http.
• 2000s - sysadmin @ Columbia. Shell scripting, but never often enough that I got terribly proficient. Also have spent a not insignificant amount of time bashing on source code and compilers to make them work in custom environments, but this is mostly just an issue of finding places in someone else's code where things are pointing to the wrong place on my system and making a quick edit.
• Present - Teaching myself Python (and have dug up a ton of useful resources for this purpose)
I've been around the block a few times with learning basic algorithm issues, am comfortable with recursion, etc. and have learned different programming languages at different times and have some proficiency with them and with general concepts. However, that's about as far as it goes. I've only dealt with command line and file based I/O, no GUI stuff. Haven't ever had to worry about system tuning as I've never had to write anything that's been more than a few hundred lines or had to munch serious buckets of data.
So, let's say I'm a 1st level coder. How should I proceed in order to make progress towards eventually being able to develop my own projects rather than just being able to churn out coding problem sets?
