I have an easier time describing what I do for a living than at many times in my past. I started out as an arrogant kid who had and easy time at high school and wanted a challenge. This lead me to seek out the most difficult technical school in the world for my degree - Caltech. Of course I judged this entirely on the difficulty of enterance requirements and my hopes were probably shaded by the fact that my sister went there and seemed to have a good experience. The fact that I could get total financial aid there if I could hack it also was important
I started out wanting to be an "Engineer". Which when translated into real-world terms meant "Mechanical Engineer", because any other form was far too specialized. Mechanical Engineers are supposed to make any odd thing work, and get a wide breath of training without much focus. I handled Tech OK, and had a lot of fun there (I was *normal* there, and more socially adept than the average person). During the summers I earned some of my financial-aid money doing odd jobs:
I cleaned glassware for biology...and mounted a guillotine for the rats so they could study brain memory. If the rat felt pain or fear the results would be ruined.
I built a 3'x4'x1' water tank with a variable surface to simulate mud-flows. Harder than it sounds, because everything had to seal and the "mud" was an organic hydrocarbon. Organic hydrocarbons are some of the best solvents for plastic, epoxy, rubber, etc...all the normal things you seal water tanks with. Not to mention mutagenic, carcenogenic, etc if it gets loose. This was also a lesson in the difference between imagination and reality, and the fact that you have to communicate well enough for the experts to build your design (I knew my way around a machine shop but could not weild the cast-iron frame needed to hold the half-inch thick glass..
I assisted in something called Mossbaeur Spectroscopy. At the time only a few people in the US knew what that was, (or so it seemed) but oddly, my sister was doing Geochemistry and actually understood what I was doing. The fun part was setting up the radiation lab from scratch (lead bricks, geiger counters, pouring concrete for a totally stable lab bench, building vibration detectors out of microphones, drilling holes through 2" thick aluminum with a drill that could spin you around, dissolving a pipe to get it thin enough while keeping its integrity and smashing samples in a device that turned your small ingot into a thin metallic smear.). Another memorable moment was hooking up a 1930's vacuum-tube oscilloscope to a modern Macintosh. Working at a lab in Caltech where odd bits of equipment were lying around for 50+ years was a lot of fun. I think we even stole lead bricks from one of the original synchrotron labs, but I may be mistaken...it's been over 10 years.
The next year, me and a good friend were driving through LA traffic jams to a girl's college (attempting to defeat the bad male/female proportions at Caltech) and were commenting on the accordion-nature of traffic. I learned how "Summer Undergraduate Research Fellowships" at Caltech worked (having done one for the Mossbaeur Spectroscopy project) and told him "I bet we could get paid for figuring out why traffic behaves this way". We found and advisor, came up with some things to study that had not been done before, and this became the infamous (among our friends) "Freeway SURF". This was the first time either of us had really managed to find a way to earn money and have a good time. Yes, we drove through rush hour to the beach, then had to wait for the next rush hour to drive back. Hardship. But seriously we did some good work. The models of traffic behavior turned out to be based far more on human reflex time and perceived threats than the more mechanistic models that were in the literature. Pete went on to get college credit for more sophisticated models involving Chaos Theory. I also got a career boost from this job, but that comes later. The other great thing about this SURF is that it inspired others to try to find their own research rather than just assist some Professor (like I had done the first year). I don't try to change much in the world except my little part of it, but it gives me a warm glow when I hear later that people like things I've written or were encouraged to try for greater things by the example of something I did.
I graduated a successful student. I was not very certain what to do next, so I took what I thought was the easy way out and stayed in school. Part of the reason was to find out if I was cut out for academic life. In my studies I decided I liked Materials Science and UCSB had an exciting Materials group at the time, doing all sorts of fascinating things with plastics, ceramics and composites. Materials is still a young science, with a lot of room for "trying things out" rather than deriving everything from first principles.
Although some aspects were appealing (looking at actual atomic structures with Transmission Electron Microscopy and breaking samples of ceramic/metal composites for a living), I was drifting. My research had no focus and was not "fundimental". I failed the preliminaries. Even my GPA was sliding, which was strange since I had done pretty well in a tougher environment at Caltech. Part of the problem was I was socialized wrong for the work... at Caltech everything was collaberative, you were supposed to get help. At UCSB it was competitive, you had do do it all yourself. Also there was much more emphasis on rote memorization than on problem solving.
All excuses aside, the real reason I flamed out of grad school was motivation. I just could not bring myself to care about the things that my colleagues cared about, and what interested me was seen as superficial by them. The 5 year timescale did not help, as for all of my life I was used to producing results in 3 months, maximum. This was a dark time for me, and I spent my off hours trying to find another career. I'd failed as a scientist and engineer. I had no backup plan. I flirted with real-estate (which was helpful when I finally bought a house), and, god help me, network marketing (thus increasing the spam-count 10 years later). Then I got a call from an ex-Techer Bill Gross, who wanted to talk to Pete and myself about our Freeway Surf.
Bill Gross is a man who starts companies. He finds something he wants to have in the world that is lacking and builds a company to provide it. Many of these ideas fail, but his success record is amazing. In the late 80's he had only one or two successes under his belt, and at the time I worked with him and his brother Larry, he had three ideas going. One became Knowledge Adventure, the other two died quietly.
Bill wanted a hand held widget (the size of a gameboy or smaller) that would show you the traffic on LA freeways. Our discussion about the theoretical aspects of traffic flow did not help him much, but I let him know I was interested in working on his project. He offered me work (quite cheaply), officially as a traffic engineer, in reality as a gofer and random "get things done" person. I quit grad school at the end of the term and moved back to Pasadena.
This was one of the most fun jobs I ever had. My memories may be colored by the fact that Gretchen and I decided to no longer be "Just Friends" at that time, but I doubt it. Every day (except on some Jewish Holidays, where I fretted until they remembered to tell me about them) I would get a phone call. That would let me know what I was to do that day. My duties included finding sites to place freeway sensors, scouting the competition in trade journals and even in phone calls asking about their products, focus groups, finding a shop to make a mock-up, helping map the LA freeway system in software, listening to traffic reports, driving around town with a sensor on my wheels which would record speeds that we'd compare to fixed sensors on the side of the road, chatting up Caltrans to find out who owned their "big board" and arranging to get permission to visit it...and eventually access to their magnetic data. Finally I was forced to become a programmer, to crack the data format used by Caltrans to store data on magnetic tape. Caltrans had the problem that they could not read their own data without using the machine that collects the data.
With help from Larry Gross, who got me past my fear of programming, I wrote a fast/dirty program that could dump the data into a spreadsheet. In the process I became a Lotus 123 expert, not a surprise because Bill and Larry were "Lotus developers" at the time. Larry eventually wrote a front-end and sold it back to Caltrans. In the end though, there was no money to build the infrastructure we needed (Persian Gulf War + Recession) and I was cut loose while Bill and Larry got their next success with Knowledge Adventure.
I decided to move where Gretchen was. In spite of my degree and experience it proved impossible to get an engineering job in that time and place (there were infinite laid-off Defense engineers taking entry level jobs). Instead I ran out of money and decided that if I was going to work a crummy job, it might as well be in the place I wanted to live (Santa Cruz)
I spent 7 months as a security guard. Security work is recession-proof. Although it paid poorly it wass useful for RPG background, kept me in shape (I was a "rover" which meant I spent 4-6 hours walking every day) and allowed me to go to interviews (few and far between). I ended up on a permanent station at Seagate Technology. One of the other guards heard an employee complaining that she needed someone good with computers (the person worked late). She came to my desk later and asked me what I could do. I gave the "right" answer ("I don't know Excel but I can make Lotus 123 jump up and down and do handsprings. Excel won't be too hard"). A little while later I had a job at Seagate.
This job was something of a paradox. It was no where near using my full abilities, but doing it well was something of a challenge. Furthermore I respected both my boss and her boss, and got to see all of the financials for the company. I got to see most of the data flow, see how it broke down and package it so busy executives could glance at it and make the right decisions. In the process I became an Excel god, automated most of the annoying manual audits and text crunching and wrote most of the procedures for the group. While doing all this, I was constantly applying for disc drive engineering jobs (or tech support or whatever). I had some nibbles but no one offered. Once I was told I looked "too corporate" (there was a dress code in my building, the corporate HQ). Shortly after that and at the request of Gretchen I started growing my hair longer.
It turned out to be a blessing that I did not get those jobs. Most Seagate engineering jobs in the Bay Area have been relocated to other parts of the country or eliminated. Instead I got more and more frustrated but stuck it out. I began reading random programming books, most of which I've now forgotten. I made my Excel programs fancier and fancier. In the end it was Gretchen's success in moving from temp to tech support to sysadmin in an amazingly short time that made me give up on Engineering and try to become a programmer. After all, the only fun I was having was all the Visual Basic programming I was doing to eliminate the deadly dull aspects of my job.
I was going to start looking in the Bay Area, giving up my nice Santa Cruz area job. The plan was similar to Gretchen's...work for a few years in the Valley and get enough seniority to be able to move back and get a job either in the Santa Cruz Area or telecommute or something. But in one meeting with MIS (shortly to become I.T.) the director was complaining that he needed more SQL programmers. I had read a book on SQL, it seemed quite straightforward so I piped up and said. "I speak SQL. You should hire me." My boss's reaction did not hurt my chances "Nooooo...you can't have him!!!" She knew I was unhappy though, so she was not going to do anything to stand in my way.
I got the job. All those years of doing professional work when underemployed paid off. They knew me and my reputation. My thousands of lines of code proved I could program, at least as a beginner. Furthermore I had good working relationships with people who were about to become my "users"...I was going to support code that I'd been using while working for my previous boss.
I spent the next couple of years going from single application programmer (SQL/FORTRAN/DCL) to Oracle developer (Forms/Reports/PL/SQL) as Seagate converted to Oracle's enterprise applications. We had some management changes and attrition in that period and at one point I was literally covering 3 jobs with occasional side work. I learned that while I am a very good developer, I am only adequate as a project manager. Still, things were going fairly well, when the person who wrote Seagate's custom made message-based middleware software decided to quit with one week's notice.
This piece of software had been running in one form or another for almost ten years, entirely maintained by this single programmer. It was critical to how Seagate did business. Furthermore it was an odd mix of Fortran, Ingres SQL and Oracle SQL, with a bit of PL/SQL and Oracle Replication tossed in.
Throughout my career as programmer, I was good at it because I'd been trained as an engineer. I was not afraid to use whatever tools were at hand to solve whatever business problem needed solving. Because of this I was often given odd jobs requiring mixed technology. It seemed to me that I was the only person with the right mix of skills to take this application and figure it out.
This turned out to be an extremely good career move, but that was not why I did it. I was being nibbled to death by too many small projects and fragments of support. This project was big, complex, used the business knowledge I'd acquired in my time at Seagate and was so important that my other responsibilities *had* to be off-loaded to others. It was also recognized that a single programmer supporting this was a mistake, so I had the benefit of a large group of partially trained people who could do support while I figured out how to fix the core problems.
Within 1 month it was stable, within 6 months I'd re-architected the middleware to last another year. By then it was clear that the custom code approach was not going to work in the long run. Seagate is a disc drive complany, not a message based middleware company. So this year I got to evaluate vendors, help run a pilot and design/implement the replacement system. In the process the scope grew and we are now "Enterprise Application Integration" and our mission is to connect everything at Seagate to everything else.
I don't run the show any more. I'm not best at project management. Instead I am put on whatever simply *must* work. My current job is to be the senior programmer, the one who has to think out of the box and design systems that will work no matter what, and be delivered on time. This role suits me - in many ways I've found my dream job. Where Gretchen is an example of someone who succeeded by moving from company to company, I am a counterexample. I've worked my way up from security guard to senior programmer and in spite of HR guidelines and similar nonsense, am receiving compensation similar to my peers.
I joined Seagate to live in Santa Cruz. For 4 years that was the only reason I was there. The contacts I made in those 4 years allowed me to switch careers when my engineering degree went stale. By taking risks and performing on demand I achieved my dream job within another 3 years. Of course I had no idea it would work out that way. Until the last year or so, I was mostly at Seagate to have a stable job in Santa Cruz. In the last year I've had 2-3 semi-serious offers in the Bay Area and I've just laughed. I'm doing interesting work, where I want to live and making a fair wage for my work. I'll leave the internet start-ups to others (although I admit a secret glee that Gretchen is getting to play in that realm).