programmersguidebackpain

The Programmer’s Guide to Dealing With Back Pain

I’ve been a programmer for fifteen years and have dealt with neck and lower back pain for most of that time.

This is the chronicle of what I’ve experienced and what books, products, changes, medicines, and doctors have helped (and not helped). I’ll begin by describing my hand, arm, and neck pain. Then I’ll discuss my lower back pain and what has helped it.

Numbness And Tingling in the Hands

My pain started less than a year after I began full-time software development out of college.

I started having numbness and tingling in my hands, especially my pinky and ring fingers. I ignored it for a few weeks but it got so bad I went to a hand doctor.

photo credit: Working hard via photopin (license)
photo credit: Working hard via photopin (license)

The hand doctor gave me some stretches to do on my hands and forearms. But my pain got worse, and the entire surface of my hands began to hurt and be ultra-sensitive to touching anything. To this day I don’t know what this was, but it lasted for five months and was incredibly painful. I think it was some kind of myofascial pain caused by tightness in my neck.

After the doctor visit, I began to improve my workstation. I got a keyboard tray and elevated my monitors with old computer books, so that I could be working in a more ergonomic environment.

I bought a book on Repetitive Strain Injury which was good basic information, and then a second book about how RSI is not carpal tunnel syndrome that had good stretching tips and other ways to help improve this condition. From their suggestions, I bought an IMAK Smart Glove wrist brace as well, which helped to pad my hands from the keyboard so that nerves wouldn’t get irritated, and which stabilized my wrists.

These books helped me retrain the way I typed to not do ulnar deviations and other bad practices. But they had another affect as well.

The Pain Moves Up the Forearms Toward the Shoulders

Now my forearms were having to do more work, as I had stopped resting the bases of my hands against the keyboard and instead kept my hands elevated more often. My forearms began to burn when I worked for even an hour at the computer.

I started stretching my forearms and doing various exercises to help keep things loose. After a month, the pain moved into my shoulders and neck. This centralization of pain is something that the books and articles I read talked about. In a way it is a good thing as you are getting closer to the ultimate source of the problem.

I went to an occupational health doctor and started getting regular massages and physical therapy. The physical therapist was having me do many of the exercises and stretches I read about in the books. He also recommend I buy the McKenzie book on treating your own neck. I did that and found a few more stretches to do.

Worker’s Compensation

A brief digression here in case it helps you. After eight months of pain, I began to worry that I would not be able to work at my software job potentially. I inquired into filing a Worker’s Compensation claim and decided to do that.

photo credit: Attaching Fittings to a Cable via photopin (license)
photo credit: Attaching Fittings to a Cable via photopin (license)

I never actually used Worker’s Comp to take a significant time off from work. Mainly the benefit was that I could go to a certain doctor that was not on my company’s regular insurance plan.

That was good, but what I realized quickly was that 1) the doctor had no great solution for my pain, and 2) it was just a big paperwork fest where they eventually pushed me toward agreeing to “maximum medical improvement.”

I did agree to that after about a year, as I wasn’t going to get any better, and I had learned to manage the pain decently enough to keep working. Overall Worker’s Comp did not provide much benefit for me with this condition.

I also wonder if my company didn’t frown upon me taking it. Of course they can’t say that, but it’s something I would avoid doing unless you have a compelling reason to use it.

Chiropractor #1 And Spine Surgeon #1

At a friend’s advice, I went to a chiropractor he recommended. I had been skeptical of chiropractors my whole life but figured I’d give it a shot.

photo credit: BEST OF THE MARINE CORPS - May 2006 - Defense Visual Information Center via photopin (license)
photo credit: BEST OF THE MARINE CORPS – May 2006 – Defense Visual Information Center via photopin (license)

Dr. F did an X-ray and pointed out that I had “military neck.” My neck did not have the normal lordotic curvature in the cervical part of my spine, but instead was rigidly vertical. He was confident, however, that his adjustments would realign my neck and solve my problems.

I went to him twice per week for the next three months. I didn’t get any noticeable improvement from his adjustments.

So I went to a spine surgeon for the first time. He had me do an MRI of my neck, declared that I had no herniated discs and that he could do nothing for me. Disappointingly, he handed me a prescription for muscle relaxers and sent me on my way. No suggestions for what could be happening or how to improve it.

During this time, I continued doing lots of stretches, exercising, and refining of my ergonomic workstation set up. This didn’t necessarily fix my problems, but it helped keep them at a maintainable level.

How to Sleep to Reduce Pain

I noticed that some mornings I woke up and my neck would be in severe pain. One day this occurred, and I went to take a shower. I bent my head forward to put it under the water and my neck went into horrible pain. It hurt so badly that I thought I was going to have to vomit.

photo credit: nap time via photopin (license)
photo credit: nap time via photopin (license)

I took three ibuprofen, laid down face-first on a pillow, and put an ice pack on my neck. I couldn’t work that day and had to spend it stretching, resting, doing heat then cool packs, and taking ibuprofen.

After similar episodes occurred a few times, I noticed that they would usually happen after I had gotten really fatigued the day before, and my neck felt tight, or when I had tried to do some weights or moderately heavy labor (say, moving furniture). I started taking ibuprofen in the evening before bed on such days, which helped.

But I also realized that sleeping on my side would often make my neck feel horrible in the morning. No matter how many or few pillows I used, or how I tried to level it out, sleeping on my side would lead to pain.

I didn’t think it was possible for me to sleep on my back, but I began to try. I bought one of those wavy types of pillows that had a curve for the neck and used that for a year. But it was so uncomfortable I switched to a small couch pillow under my head.

Some nights I would turn over onto my side without even realizing it. Then I’d wake in serious pain. But as I kept at it, most nights I could sleep on my back for much of the night. Still my neck would hurt, as the small pillow did not have much support for my neck.

I eventually found the Arc4life Linear Gravity Neck Pillow and that has made sleeping on my back easier, more comfortable, and much better for my neck. It keeps your head cradled better and overall has a more comfortable neck support piece. They have another pillow with cervical traction that I may try at some point.

Why Not Herniate a Lumbar Disc While Were At It?

My wife and I caught the urban farming bug and after several years decided to move out to a farm in the country. I still worked remotely full-time doing computer programming though.

I thought, “Great, I’ll get strong by doing farm work, which will help me be in less pain from programming.”

What actually happened looked quite different: I was a weekend warrior farmer who had lots of chores to do on the weekend that built up during the week. I had bought eight cows and had a tractor, hay buggy, and chainsaw. One weekend I went out and was throwing sixty-pound stones over the side of my truck, then chainsawing trees and moving huge hay bales. I felt manly.

I woke up the next morning and started working, and my lower back began to hurt. I hadn’t had much lower back pain before, only in the neck, so I took two ibuprofen and thought it would go away. It didn’t. Because without realizing it, I had herniated the L5-S1 disc in my lumbar spine.

You can read about all our misadventures in farming in my short ebook Farm Flop. But this injury began a new saga of pain for me.

My lower back and gluteus muscles were in serious pain. I could not work. I couldn’t drive a car and could barely ride in a car. I didn’t know what I had done to myself.

Chiropractor #2 And Doctor #2

I was driven to the doctor, and she said she didn’t think I had herniated a disc. Just a muscle strain. She gave me some stretches to do and recommended physical therapy.

photo credit: MRI, July 1, 2010 via photopin (license)
photo credit: MRI, July 1, 2010 via photopin (license)

It turns out she was wrong, but I believed her misdiagnosis for the next year. One tip for you if you get such a diagnosis: if the pain improves some over the next several weeks but then returns sharply after doing even mild work, it is likely a herniation or something similarly bad.

My friend recommended a chiropractor he knew, so he drove me to see him. Dr. T was confident he could fix me up. (All chiropractors seems to have this confidence.) He began doing adjustments and my pain improved some, whether on its own accord or due to his work I don’t know.

But then it flared up again, and I couldn’t work a full day or drive for weeks. I could stand for a certain amount of time, or sit for a brief amount of time, but that was it.

I went to Dr. T for three times a week for three months before calling it quits.

One small thing that was helpful during this time was the McKenzie lumbar roll (firm). I used it whenever I was sitting down to help support my lower back. I also bought a Hon Ignition chair to replace the big Office Depot one I had bought a long time ago. The Hon one is a much better chair but is pricey.

Back to the City

I couldn’t do any farming work and was hitting a crisis point. What if I couldn’t provide for my family anymore?

So we sold our farm and moved back to the city. For my home, I bought an Ergotron Workfit sit-stand desk attachment that supported my dual monitors. I had been using one at work, and it helped to be able to stand for periods of time. Coupled with this I bought a Cumulus Imprint standing mat that is a necessity with any standing desk. My pain was such that these were necessities to be able to work, as I physically could not sit down for more than fifteen minutes without serious pain. These two items have been mainstays for me with my computer programming set up.

But even with them, I could barely work a full eight-hour day without hurting. And the lower back spasms and pain would cause other parts of my back to try to compensate, leading to tightness and pain in my mid-back and neck.

I had to quit my job because I could no longer drive all the way across town to where it was. But I found a new job that allowed me to work from home most of the time. At this point, I knew something had to be seriously wrong with my back.

I had a buddy tell me about his inversion table. I read about them, and it seemed to be hit-or-miss with whether they helped, depending on the particular person and back condition. After some hemming and hawing I bought a Teeter Inversion Table, and after using it for the past six months can say it has helped when my back felt especially compressed. I get on it for three or four minutes on a regular basis and then do stretches, including the McKenzie ones, and it helps.

Chiropractor #3 And Spine Doctor #3

To get to the bottom of my lower back pain once and for all, I decided to go with the shotgun approach and see both a spine surgeon and another chiropractor.

The spine surgeon ordered an MRI. The results came in, and he pointed to my L5-S1 joint and said: “That disc is herniated and is causing your lower back problems.” I was relieved to know the cause, but also frustrated that the first doctor had jumped to a diagnosis too quickly and delayed me finding this out.

photo credit: Studio Desks: Eric Benoit via photopin (license)
photo credit: Studio Desks: Eric Benoit via photopin (license)

He gave me cortisol pills to take. They had zero effect. So he gave me a spinal injection of steroids. That gave me relief for four months.

Meanwhile, I went to Dr. C, who, like the other chiropractors, was confident he could fix me up. No doubt in his mind. I told him I gave him a 25% chance of being able to do what he said. But I’d be happy if he could prove me wrong.

Dr. C didn’t believe my disc was herniated. He seemed to mistrust spine surgeons. He took an X-ray and pointed out my military neck. He also X-rayed my hip area and found out that one of my legs was 20mm longer than the other. This leg-length discrepancy was significant and had led to me compensating in other parts of my spine and back.

I bought a heel lift and it was cut to be 9mm. Dr. C didn’t want to go more than 9mm to start, since a 20mm discrepancy is too much to try to overcome all at once, he said.

At his recommendation I also bought an Aspen back brace, which was a big help. The idea is this: if your back is too weak to be able to hold you up sitting or standing for your work, use a back brace when you need to (not all the time) so that your back doesn’t get into a bad posture or into tight knots. During this time I was also doing twenty minutes of stretching every morning along with basic ab exercises and lower back leg lifts to strengthen my core muscles.

To help with the pain, I bought BioFreeze (icy hot). It smelled better than the tiger balm I had been using, and it had less residue. It doesn’t solve anything, but it does reduce the feeling of pain. I also bought a Theracane to massage the knots in my back and neck myself, and it has helped. Being able to reduce the knots and tightness in my lower back and neck myself, without having to pay for expensive massages, is well worth it.

With the chiropractor, I did decompression therapy on a special table three times per week for four months. They strap a belt around your waist and then the table moves to apply force to stretch your back at the right location. The computer ramps up the force, then eases it down in alternating periods. Dr. C was sure that this would solve my problem, expanding the region between my vertebrae that would allow the disc to soak up more fluid like a sponge would. Unfortunately, that did not seem to happen.

I also did adjustments and lidocaine injections in my knotted neck muscles. We did some laser thing that was supposed to reduce scar tissue in my lower back, and a vibe plate that would vibrate your whole body. For my military neck, he had me use a cervical denneroll (similar product here), which I lie on for 15 minutes everyday to increase the lordotic curvature in my neck. So far I don’t know if it is working, but the theory seems sound so I am continuing to use it.

After finishing up my regimen of chiropractic therapy, my lower back pain was right back to where it was. Dr. C’s therapies did not work for me, though I view them as steps in the right direction, learning about my leg-length discrepancy, using a back brace when needed, and the neck roll.

One takeaway for me with this is that chiropractors may be able to help some people, but only for specific conditions (none of which were ones I suffer from apparently). They each seemed to have the attitude that other chiropractors don’t know what they know, and also that conventional doctors like spine surgeons don’t know what they are doing.

Second Spinal Injection And Surgery Looming

My pain was getting unbearable again, affecting every moment of my day. So I went back to the spine surgeon, who said that surgery would solve my problem but that my health insurance company would not approve a surgery until I had done at least one more injection.

photo credit: Hypodermic Needle Injection Hand IMG_7420 via photopin (license)
photo credit: Hypodermic Needle Injection Hand IMG_7420 via photopin (license)

I got a second injection, and it lasted two months. Then the pain began to come back. I spoke with the spine surgeon again, and he said that fusion surgery is the next step. I asked why fusion and not just a discectomy, and he said because the pain is focused in my lower right back and gluteus, not down my leg, fusion surgery is what is best for that type of problem.

I am now waiting to see whether the pain gets so bad again that I have to do the surgery. Part of me hopes that I don’t; but I am ready to be able to live again, to pick up my children again, to not fear that I cannot provide for them due to back pain. Every week my children ask me when I can pick them up again, and whether my back will ever get better, and it kills me to not know when I can respond to them with a definite time.

This is the story of my neck and back pain. I’ve managed to live with it for 15 years and continue working, but it has not been easy. Some days I get very discouraged and fearful. But with these tools and techniques, I have reached a manageable point with the pain for the most part.

My hope is that it helps other programmers with their back pain. Every person and condition is different, but for many only a few of these suggestions or tools could make a big difference for them.

For those who want the tips and products I’ve used distilled down into one short document, here’s the programmer’s back pain checklist of things to try.

Please do leave a comment and share your experience with back or neck pain and what has helped you with it.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More

jack-of-spaces

Jack of All Trades, Master of Some

I noticed a pattern in my life early on.

I tended to go deep into a topic in a very short amount of time. It never mattered what the topic was just that I had some interest in it. If I was interested in it I was all in on the spot. This is true even now.  But my life was never lived with a plan – just an interest in some topic that led to another interest.

I had a father that I remember doing everything himself. I always saw him tinkering on something. He didn’t spend much time glued to the TV. And he always had the tools or books or whatever he needed to work with that topic. It seemed that he knew everything related to a given topic. To him these topics spanned construction, all sorts of fishing, almost every war, air planes, plants, and chemistry.

By day he had a PhD in plant sciences and ran a company running various experiments to make plants bigger, better, healthier, pest and disease resistant, while growing faster.  He did a lot of research trying to make a difference in the agricultural world. He flew all over the place (often times in his own plane with him as the pilot) working with people from all over the world.  I like to tell a story about him contributing the size, flavor, and seed-less-ness of grapes as you now know them. When I was a kid grapes were tiny blah seeded things.  Dad loved grapes and worked to make them better.

One of his knacks that fascinated me was his recall.  Someone might ask him a question about a report he wrote and he could tell you all about what he wrote 15 years ago up in the storage at the office in a box buried 3 rows back on the bottom.  This binder. That page. This paragraph.  Yep – there it is. How did he do that? This led to him eventually being a very talented “professional witness” in agricultural legal trials.

I am not sure my recall capabilities are quite as good as his. I forget my birthday for Christ’s sake! But I have always been able to skim through magazines and books cover to cover. I never left the information with full recall of a topic but I could always leave with the vocabulary in hand and enough information to be dangerous.

Having seen my dad do anything he set out too, I have always felt empowered to dive in and just get it done. I had built an entire “club house” around the age of 12.  And by club house I mean 8’x8’x14’ building complete with sleeping loft, door, windows, wired for plugs and lighting (plugged into my mom’s house – she hated that) where I spent a lot of time! My mom had one of my Dad’s come inspect it to ensure it was safe. He said it was “Up to code! How did he do that?”

woodI had family issues growing up which caused me to be an interesting kid. By the second grade I was already being kicked out of school.  My mom sent me to live with my dad when I was 7 – she couldn’t handle me. I don’t know how my dad managed to raise me without seeing the inside of a jail! Among a plethora of other issues I had eventually found a way to get kicked out of high school a couple months into my 10th grade year. Out of the school district that is. I was forced into home school.

Dad took me to work with him every day at 7 and home again at 6. I had to sit in the library and do nothing but school. No talking. No help. But in my sophomore year I had jumped a head in school. By the end of my junior year I was done with high school. My senior year was a blast. I had two PE classes, 2 wood shops, 1 metal shop, and 1 auto shop (and a couple half semester things I couldn’t take until my senior year).  With access to all these great facilities I was building swords, cross bows, knives – thankfully my shop teachers got to know me well and were ok with this crazy kid.  But it was clear that my parents were done being responsible for me. Where too now?

Off to the Army I go. Like most of my life to this point I had bumbled from one interest to the next. Why not do that in the Military? I tested very high and was told I could have any job I wanted. They sold me on 11X-ray. I would get to shoot and blow things up. Sign me up. They even “gave me” an airborne contract. Don’t trust recruiters – they are there to fill quotas.  11X-ray is an open ended infantry contract. Grunt. Oops!

Duped into a life as a worker bee I went through basic and AIT without much problem. Earned my PFC quickly. Showed an aptitude to lead. Off to airborne school. Did well enough. Got recruited into the RIP program – ranger indoctrination program (now called RASP – ranger assessment and selection program). Got through that. Showed up to ranger battalion where they looked at me and immediately decided I could carry heavy shit – weapon’s squad for me! It was a fun period in my life. I have never regretted it in the least. I learned that while I can suffer through anything you might throw at me. I also learned that I needed to work with my head not my back.

Once I got out of the Military I tried “work”. I attempted to hang wire for an industrial electrician. Having just gotten out of a world where shit rolls downhill I quickly realized that I was not going to cut it in a trade where someone that is happy doing the same thing every day for 40 years is telling me how to do something in-efficient – back to school.  ITT Tech! I started in a CAD program and had my first real introduction to computers. I had touched them a couple times in previous years but never in any way that sparked my true interest. Now I was sitting in front of a computer every day.

Talk about a never ending stream of learning! I loved the world of computers. Other than learning command line access to CAD programs, how to hand draw blue prints (right up my alley), and draw in Auto CAD, I was learning daily about networking, computer internals, and how to make this thing go faster. I quickly started to collect dead computer chassis and bring them back to life. I got a job as an in store tech support guy for HP where I stood in BestBuy and Fry’s to talk to customers as an HP rep. Every day I learned something I didn’t know I was missing. Someone showed me HTML in notepad. Another guy showed me javascript. I had friends that could “fdisk” their computers – what’s that? Quickly I found myself in a part-time network admin gig (not that I knew how to do that job yet) and started to figure things out. Each day getting further away from enjoying sitting in a class learning as slow as the teacher would trickle information to us.

My first networking gig was with a company that built shutters which they managed on a magnetic white board. This was insanely inefficient to me. Someone mentioned I should look into making a database to manage that. What’s that? OK. But entering data directly into a database wasn’t going to work. Build a web site. OK. We need servers to run this stuff. OK. A great first playground for me.

All the while going to school where I had two teachers that I interacted with quite a bit. One of them hated that I was so all over the place. I built video games in 3d studio max and some world building program (when we were just supposed to model something simple). Or I would go deep into photoshop.  You name it – if the assignment was simple I would go over the top in five different directions. This guy pulled me out of the class (in the middle of class) to go for a walk.  We walked around the parking lot. He asked me “what do you want to do when you grow up?” I replied that I had no idea I liked a lot of things. He told me that I would eventually have to focus on being really good at just one thing to make it in this world.  A “Jack of all trades, master of none, had no place in this world”. This didn’t sit well with me as I tended to be very scattered and really enjoyed doing all sorts of things – not just one thing.

The other teacher pulled me aside in a similar fashion. He saw that I was tinkering in the web world already and suggested that I should go learn a “real programming language”. His suggestion was that I learn Visual Basic. I giggle at this now of course. I bought a book on PERL (oops).  He was a GIS and big data guy before the term big data existed. He saw where my mind was and steered me in the right direction. I got my associates degree at ITT in CAD with a 3.8 but didn’t complete my bachelor’s degree. I didn’t think I needed school anymore – LET’s DO THIS!

pat-testingThis pattern of constantly bumping into what I didn’t know pushed me to learn more and more. I almost always had three jobs running at one time. Tech support, networking, cable pulling, LAN configuration, phone lines, IVR, VOIP, server builds, building out data centers.  I was very hardware oriented for the first couple of years. At some point I bridged over to building data driven dynamic web sites.  I was doing AJAX before the term existed. Starting with simple commerce web sites plus managing the data center. Then social networking. Then big commerce. Then big systems peeked my interest in general.

To this day there is nothing that I enjoy more than cracking open a new topic. From rebuilding a car, to fabricating a green house, to building poll barns, wiring up IoT widgets to the cloud, building a pig farm, to building big distributed systems.  I have made a career of learning how to learn.  A career of being a technology generalist. A jack of all trades, **master of some**.

Which leads me to why I am writing this book and donating my time to the Developer Springboard.  While my path to where I am now was very unplanned and fragmented, yours certainly doesn’t have to be. I have worked at almost all levels of the technology industry. There are so many soft skills that you can learn from my experiences that will immediately be beneficial to you going down the right path. I am very passionate about sharing this with you and learning what I don’t yet know in this career management space.

My wife is now cringing at my new hobby for which I have to go deep.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More

awesome-640x320

Don’t believe the hype. Be mindful of the gap between your title and your skill set.

blueribbonAs developers, I think we have an experience that is unique to our industry or maybe to high-tech industries in general. Throughout our careers we’re told that we’re awesome. Everyone we interact with tells us that we’re magicians making software appear out of nowhere. Every day we perform super human feats of software development. Maybe it’s because we work for people that are not very technically inclined. What we do on a daily basis is nothing short of magic to them. Or maybe it’s because these people were trying to motivate us to do better. In any case, sooner or later, some of us start believing the hype. We begin to think that we might in fact be some sort of code slinging wizard. Every year, or so, we get a decent raise and a huge bonus. Eventually we start getting promoted…first a senior engineer, then team lead, next principal engineer and eventually architect. This only helps to reinforce the belief that we are in fact the Gods of the programming universe.

All of this continues for several years and we keep buying into the idea that we are the awesome-est of the awesome oozing awesome sauce on everything we touch. By this time, our head has grown so much that we can barely squeeze it through the door of our swanky corner office.

reality-check-aheadThen, all of a sudden, something happens that pulls us back into reality. Maybe we are laid off and have to start looking for a new job or maybe we’ve gone as far as we can go in our current position and decide to test the waters. This is probably the first time in years that we’ve been on the market. Things have changed drastically while we’ve been, heads down, climbing the career ladder at our previous company. We look through job listings and see that every one of them requires some tool, technology or process that we are not familiar with. Industry best practices have progressed and what was magic at our old company is now not so cool, new or even relevant.

All of a sudden we realize that we are not as awesome as we thought we were. We are consumed by self-doubt. What is happening? Have I been fooling myself this whole time? How did I get this far without realizing how far behind I was?

Unfortunately, I see this play out far too often. I’ve interviewed several people that have an architect title and are not able to code a simple fizz buzz console application. In fact, in one case, an “architect” I was interviewing didn’t know how to create a new console application project at all. This is not as uncommon as you might think. It is really easy to climb the careers ladder at one place and lose sight of the industry changes that are happening around us.

I too experienced the same thing early in my career. I had spent 6 years at a company and had climbed all the way up to Web Development Manager. One day, I looked up and said “man I’m a really good Cold Fusion programmer!” This was followed soon thereafter by “holy crap! I’m a good Cold Fusion programmer…what the heck!!!” I realized that the industry was leaving me behind and that I had to do something immediately if I wanted to have any chance at catching up. I decided to make a change quickly and refocus my career on learning the things that I had missed out on while I was going “full steam ahead” down the wrong path.

The key takeaway from all of this is that finding yourself at this juncture in your career isn’t a death sentence. At least you’ve recognized that something is wrong and you have the opportunity to resolve it. It is up to you to make a change and refocus your career. You have all of the necessary tools at your disposal and all it takes to reset is to go out there and do it. To avoid getting into this situation in the first place, you should try to stay abreast of all the trends in the industry and periodically reevaluate your current positions to determine whether it is still the right position for you. Sometimes the answer is going to be no, but that’s ok. At least, you still have the chance to do something about it. You don’t want to be the person that spends 20-25 years at a company only to realize that you can’t even consider going somewhere else because you’ve become so specialized at your current job that making a change would mean starting from scratch.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More

ladde1

Climb the Right Ladder

Once in a job you will quickly discover that a broad array of technical career roles exist. At a high level, do you want to be a programmer or manage programmers? If you want to remain in a hands-on role developing software, do you want to go with the architect or engineer track?

In short, many ladders exist for you to climb, and you need to choose the one that aligns best with your interests and strengths. Fortunately, you can often leap from one ladder to another, so you are not stuck forever on one of them if your desires change over time.

The Technical Climb

Most companies offer a technical track for software developers that may branch into sub-tracks as you move along. Typically the levels are engineer, staff engineer, senior engineer, principal, chief, distinguished engineer, and then fellow or CTO. Not all companies have (or need) all these levels, but this categorization is common.

Somewhere up the track, usually at the principal level, the track splits into architect vs. engineer sub-tracks.

track1Architects excel at high-level design and structure. While they also are often excellent coders and deep in technical knowledge, they are capable of understanding customer needs at a high level and architecting solutions to them. For example, the architect of a large website may be juggling in his or her mind the website design itself, the web backend, the scaling and deployment stories, and even specific technologies used in each part (database types, buses, messaging frameworks, and so on).

Engineers like to deep-dive into specific technical implementations, solve difficult problems, and are willing to get into the low-level details of issues. Their minds are drawn to such problems, and they derive satisfaction from finding and implementing solutions to them. If a skilled developer gets placed in an architect role–which happens oftentimes out of necessity–you will quickly know he is an engineer if he gravitates right back down into the guts of a problem and has a hard time pulling his head back up to look at the big picture.

Typically you will discover early on whether you are more of an architect or an engineer. Some people can do both almost equally well, but most people favor or the other. It’s important to recognize which sub-track you most fit in as that will guide your career decisions later.

Companies may also have other technical tracks, ones like QA engineer, product support engineer, systems engineer, and applications engineer. These roles are usually not straight coding ones but instead involve test suite design and test writing, advanced customer support on technical topics, or creating proof-of-concepts for potential customers.

You want to climb the ladder, but how do you do it? Quite simply, find out how your company defines the responsibilities for the different roles, and then begin to do those responsibilities in your current position. In doing so, you make the decision to promote you a no-brainer. You are already working at the next level.

The Student Becomes the Teacher

I worked with a young guy named Adam when he was fresh out of school. I was the senior engineer on a large backend system, and he joined under me to help implement features and fix bugs. He was quite skilled and did well, but due to misunderstandings at our company, he ended up leaving.

He left as a staff software engineer but joined his next company as a senior engineer–this was due to our company promoting people at an abominably slow rate–and soon he was promoted to principal engineer and was leading the development of a large part of his new company’s flagship application.

I lost touch with Adam for a few years, but I reconnected with him and another mutual friend to find out what he was up to. He had moved to a hit startup company and was the director of software development. Within the year, he was offered a CTO position. Young Adam had strategically defined and refined his goals and worked toward them. In the time I remained at one company as a senior software engineer, he had jumped to several companies and gone from staff engineer to CTO!

Far from being jealous of him, I admired what he had accomplished and reflected on my own stagnation. His example was an important factor in my decision to move to a different company and push my boundaries.

Professional Cat Herder

After gauging your strengths and interests, you may decide to go to the dark side and try management. Hey, someone’s got to manage all the programmers, and you may have the aptitude for it.

Being a manager of programmers is a very different beast than being a programmer. I have seen (and endured) many managers who were once programmers and decided to cross the divide. Some were quite good; others were awful.

cathe1Ideally you can find a company that allows you to try out management on a trial basis, with the understanding that if you don’t like it or do well at it, you can go back to being an individual contributor as a programmer without your career being harmed. I have worked at companies like that and seen developers go to management and back again without any problem. Most mature companies recognize that some programmers just don’t make good managers, but you don’t know until you try.

Management has its own track, typically avoiding the “staff” title and moving from group manager to senior manager to section manager and so on up to director and vice-president. Once you reach that big wig status–uh, I mean “senior management level”–you have gone beyond the scope of our help. True story, we used to refer to the big wigs as “the higher ups” and the higher ups took offense and sent out a memo to all employees that the appropriate way to refer to them was “senior management.”

Where Do You Excel?

As you try out different roles or move up in level, seek to identify the conditions under which you work best. For example, after several years I discovered that I am an engineer, not an architect, and more importantly that I do best when working under a strong architect or engineering lead. I naturally tend to find positions where an existing strong technical leader has already blazed the trail.

You may discover that you excel most when you can do the trail-blazing yourself, and chafe at having to follow in another’s footsteps. Or you may realize that you enjoy working closely together with at least one other person, doing pair programming and test-driven development together. These are important markers to take mental note of, as you can deliberately seek out positions and companies where you can thrive.

Of course, you need to balance this out with the need to push yourself beyond your comfort zone. Sometimes you need to take that role that stretches you outside your boundaries. Doing so acts as a forcing function for personal growth. The worst outcome isn’t failure but never trying in the first place.

As you work, be mindful of which track you are on and whether it is the right one. Should you consider jumping to a different ladder? Are you making steady progress up your current ladder? Are you finding fulfillment in the technical track you have chosen? These are the questions to regularly ask yourself as you refine your career goals.

Post Footer automatically generated by Add Post Footer Plugin for wordpress.

Read More