Inspired by audio journal episode: AJE-2011-03-17-18-58.
One of several things I consider each year on this date of March 17th, St. Patrick’s day, especially since 2003, is when I resigned from my software engineering job. I want to just mull over that experience and the currents flowing around it in my life then. Each year, I like to pause and reflect about that highly life altering choice I made, what led up to it, and how I’ve come to be forever thankful that I could afford to leave.
Yesterday, I talked at length in the journal about how the tenth anniversary of my choice to become a writer (that I decided to pursue in 2001) is coming up this fall. That event and leaving my job of nearly fifteen years are related because had I not chosen to become a writer in 2001, I would probably have not chosen to leave software engineering in 2003 to focus on the writing full-time. I admit that I had a lot of grandiose visions of my new life as a successful writer, and certainly overestimated the amount of money I’d be able to earn as a writer, at least in the short term. I’m extremely grateful that I could save a fair amount while programming computers, and that I was eligible for social security disability payments because of my legal blindness. Without these two resources, I would have promptly fallen on my face financially as a “starving artist” writer.
At the time, I was not prepared to commit to the level of sheer work required to write good prose. I knew not how to become viable as a writer in a short enough time to seamlessly replace my software engineering income that I’d lost, before my savings would be depleted.
But fortunately, the savings did not run out, and that’s a nice feeling, to know that that money is available in an emergency. But I won’t spend it foolishly.
As I said yesterday, I’m thankful that I’m finally starting to get pretty good at writing. I mean, I would not say by any means that I’m “the best” at it or that my level of writing skill makes me a shoo-in for any reward in particular. But I do feel like I’m good, and am confident now that I can get my points across effectively to most English-speaking people anyhow. This after all, is what writing is about for me, and the more I do it, the better I become at it, and I’ve done quite a bit of it, particularly since the fall of 2008 when I established my blogs.
I’m constantly looking for ways to get more of my own words written down each day. To that end, I’ve been taking notes from the Dr. Phil shows and posting those, because they get a lot of hits. These pieces definitely drive more traffic to my sites (it’s up twenty-five percent since I started posting these). Plus, in these posts, I include links to my other writings, and people who come to see what I’ve written about each Dr. Phil episode sometimes look at those links as well. In fact, today, I hit a new record of the number of distinct hosts that have visited my sites during the past week and during the past six months. Over the past week, we had 1715 distinct computers visit me, and over the past six months, we saw over 13400 host visitors. These numbers are up almost three-fold in the past year. So I’m pleased with the blogs’ progress so far. Indeed, there needs to be much, much more before they’ll buy my monthly groceries for me. But at least from the numbers, there’s certainly movement in that direction.
But you know, when I left software, I hadn’t planned to be a blogger. I didn’t even know what a blog was in 2003. In fact, I really didn’t even start hearing about blogs until the mid 2000s (say in 2004 to 2007). Yet nonetheless, here I am, a dedicated blogger now. At least I believe I have a modicum of momentum going now.
But it took a long time to see any real progress. When I left software, I had no externally measurable momentum going yet in the writing direction, and I’d had lost (by choice) any momentum I could claim in software engineering due to my quitting. I knew I could not return to work, I didn’t want to go back either, and I still to this day eight years later, have no regrets about terminating that employment.
Immediately upon resigning, I got quite down on myself because of having failed to “make it work” at that company, and that I couldn’t find it within myself to get along better with key people there – not when I was a home based employee especially, and being so far away. Besides, the tides that software moved in were changing drastically then, and moving in different directions than I wished them to.
Further, I grew to hate the cyclic stupidity that a wise software architect told me about there as he mentored me. He said, “You’re first a novice, then a tenderfoot, then perhaps, if you work hard enough, you reach expert status. But If you’re going to be a successful software engineer for an entire career, then you must accept the fact that you will feel stupid, a lot, as in when you start a new project.” He explained that at that time, you know little about the project or the people working on it. You may not know the programming languages or the computers or operating systems they’re using, or how to write test plans the way the current Q & A team wants to see them.
It can take several months to a year or more to “come up to speed” on the technical details of the new project, before you could be rightly considered “an expert.” You make mistakes and must endure the jeers and sighs of the people who have been inconvenienced by your mistakes.
But over time, through lots of extra hours of pouring over books and white papers, attending classes and seminars, and making those repeated and humiliating mistakes, expertise eventually comes; not cheaply typically. But it does eventually come. At least, it did for me.
Then, working on the project gets fun, and you become “smart” for a time. You might get to lead and teach others to revise and support the new software.
But then, technology advances in a few years (at most in the sorts of software I was developing). Then, the powers that be will either want to rewrite the systems that you’ve come to know so well, or phase them out altogether. This makes you stupid all over again. But to remain employable, you must to start anew with fresh systems that work very differently than those you were familiar before. The people change as well as do the computer platforms upon which these systems are built. So, you’re essentially back to square one again, having to learn yet more computer languages or the latest software design techniques and philosophies.
Oh, you may be able to utilize some of your years of experience and prior skill sets in the new projects. Indeed, this retro knowledge may speed along your learning of the new material a bit. But for me at any rate, a new project meant having to acquire a near-complete set of new skills.
I made this transition “back to stupidity” seven times in the fifteen years that I designed, wrote, and supported computer program code. At first, I programmed grammars on an MVS system.
Then it was to UNIX on an NCR Tower machine for a communications project written in the C language. Constant head-butting with the project leader characterized this particular project for me. But one nice thing about software engineering is that people move around a lot. So I didn’t have to deal with her for but a year and a half. Hell.
Next I went back to MVS and assembler language programming for a search and retrieval project. But after six months, I still was nowhere near mastering IBM assembler language; the comments in the code were often not accurate, and as a fledgling beginner in this type of programming, this frequently misled me as to how the code worked, and sometimes, I’d spend hours following the wrong paths through it, and my tech lead would often have to “rescue” me. Needless to say, I never achieved expert status on this project, and though they never said this directly to me, I think they realized how bad I was at assembler and accommodated by moving me to a better-fit project. I got a good review for this project but I think that in this case, they were just being nice.
So then, shuffling around again, it was back to UNIX but this time, on a Sun SPARC workstation running SunOS, programming a user interface that was to become the company’s signature appearance on the Internet. I worked that effort for a couple years. But it was eventually cancelled in 1993, before ever being released to production due to its lack of maintainability.
Following that foible, it was off to the PC environment with me, and OS / 2, where I helped design, develop, and support an email-based document retrieval interface. I was thrilled. I’d wanted to work in the PC world for a while.
But soon, lead engineers decided they wanted to port that system to Windows NT. So we did. This didn’t bother me, as it was still PC, and it was Windows after all.
But a couple years later, bosses elected to rewrite that entire system. So I learned all that new stuff and supported the resulting system for four years besides, until they chose to rewrite it again in the Java programming language.
It was during this project that I resigned.
Truthfully, all these transitions back to stupidity and moving among very different development environments really burned me out by this time eight years ago. I had grown tired of having to keep up constantly like this. Indeed, I often felt like I was forever running; that’s how tired this rat race made me frequently.
…
I’ll add more presently. Check back later.
Tom Hesley
Related Posts