I gotta say both of you have programming experience that far exceed my own. I didn't find myself professionally writting code till around 1990 after being laid off from the last cabinet shop I worked at. I had always dabbled in it as a cabinet maker, some assembly then some basic.
Finally when work ran out for craftsmen in CA (The big base closures hit our industry hard back in the late 80s and early 90s) I found work as a programmer. I worked with a small crew, me and another guy. He was writing in clarion (? either that or pascal, I can't remember which) and I was writing libraries for him in assembly. We frequently pulled 16 hour shifts and shared our code with each other using a BBC he ran from his workstation over a 24 baud modem. I use to set in a lazyboy with my feet up and the keyboard on my lap and the mouse on a side table. I would be a good 6 feet away from that 14" screen,,, no wonder my close up vision sucks now! I would get up after 16 hours of writing code and bits of cheezits would fall from my chest. My wife would say "If this is what I've got to look forward to now that you're a programmer, I hope you go back to making cabinets". She didn't complain much though, at least I was making money
Eventually the internet opened up and by that time, I had expanded my code writing skills to include c, c++, PERL, cshell, bash, vrml, vream, java, etc..... then I found myself working for a small local internet company called red shift. I was their director of technology/general manager/head programmer. I spent equal times managing their operations and writing DB apps and shopping carts for the business customers.
The last 8 years I was tech ops manager for Knight Ridder Digital till they were bought out by McClatchy interactive.
When I worked for KRD I became more involved in applications engineering and management of personell and vendors and my involvement in programming and development was limited to reviewing functional design requirements, design and architecture documentation and occassionally code. It was nice to be pioneering the transition of the print media to the intenet, but I was sort of bored with the role I played.
The pay was good, but I missed programming and during that time I only wrote one significant application. It was an app that recovered miscategorized ads and restored them to the classifieds database in their correct tables. I was writing that under the guns so to speak because it was so vital to the papers acceptance of the online system. At the time, the papers, especially the classifieds were very opposed to online ads. They complained about the descripancies between their print ad system (which was also computerized) and our online system.
They had a good reason to complain, at the time each paper (28 of em) had a print system that interfaced with their own unique ad inventory software using various proprietary markup languages. Our tasks was to build several applicaitons that would run on their systems and convert their markup files to SGML and send that file to our servers. Then those files would be parsed by a natural language system that split the ads in to addtional sub categories to help refine the searchability of the ad. A good idea, but one dependent on the papers cooperation by communicating certain elements that we tokienized. Consequently when they added new categories or changed abreviations or acronyms, ads would get rejected by the NLP app or put in the wrong category. I designed the system to recover them and place them in their default category so that the papers customers could easily find them online.
I think that was my longest programming stint, 3 days solid. I say solid because the first 16 hours I worked from the office, and in the morning my boss told me to go home and get some sleep but I only managed to sleep a couple of hours when I got home. I was actually writing code in my sleep and when I woke I worked another 16 hours straight took another nap, woke up drove back to the office and finished the code, checked in the code and sent it to qa, by the close of business. I don't know how, but it ran with only one minor bug that I fixed the next day in 5 minutes. I'm proud to say that that app ran right up to the time I was laid off finally being retired when McClatchy approved the purchase of a new NLP app.
I thought cool, I'll be back in swdev again but I was told by my bosses that I was too valuable to be writing code. I think they just didn't want me to have fun while I worked. It was also during that time that they out sourced some of our more significant applications to Taiwan. Talk about poorly formatted and commented code! We pratically had to re-write the whole application over again. The work was so overwhelming for the Software Dev dept, some of that work got delegated to my ops team and indirectly to me (so as to "reach certain project milestones" I told my boss) I got to help untangle a small portion of that mess.
Personally I preferred formatting everything the way I did when I was writing assembly code. Which most people found difficult to read, but I did comment most of the stuff that looked too complex or esoteric for someone new to the project to understand. I don't think the Taiwanese programmers knew how to speak english, because if they did, they sure didn't comment much of the code and the comments they did write were for obvious bits of the code. And talk about poor formatting. Jesus, they would start out okay. All there includes in a line, the inits in the same line separated by a double carriage return. Then things got crazy. They started indenting the first algorithm and then any initialized variable and then every expression untill you were finall scrolling over to the right for every just to read the rest of the code. I finally wrote a shell script to parse the code into something easier form to read. It went something like this:
#!/bin/bash
Name_of_file=$1
cp ${Name_of_file} $1.bak
/usr/bin/perl -pi -e 's/^[\s\t]*//g' ${Name_of_file}
It was all justified to the left, but it was a h311 of a lot easier to read
After that I only got to review code once in a great while. It was mostly a java shop any, and I'm not real found of java, I kept telling myself, so it was no big deal. I had my hands full as an apps engineer anyway. I was constantly batteling with garbage collection configurations which left me with a very low opinion of Java especially how it managed memory. Because we were ops there were these constant battles with our ASP that I was engaged in on a daily basis, then anual employee reviews, goals reviews, profit sharing reviews, bandwidth reports, desciplinary actions, assessments and the list goes on. I sort became a code voyeur by then and never really got back the licks.
Since I've been laid off, I have written a few apps for myown site, but my passion for code has somewhat deminished and I find myself reluctant to sit at the console all day writing code anymore. You wouldn't think it, but my knees and feet would actually get sore from sitting for hours typing thousands of line of code. If I stay at the computer for more than an hour anymore, I feel all stiff and have to move around. My eyes get sore.