24 July 2020

New TurboMed Braces

Recently I got some new braces  that only provide assistance with my foot drop. The idea is that I need to use my own body for every aspect of walking except upward foot movement (also known as dorsiflexion) now. This is due to my paralysis which now exists only in my ankles and feet (but muscle atrophy does still exist throughout my lower body). So, I need to push my body to get stronger by relying on it for all aspects of walking with the exception of dorsiflexion. The type of braces I wear are known as an ankle-foot orthoses or AFOs and are more common than you would think. Most often, I see someone wearing one, though I have seen two other people wearing two. As you can see in the video, all the cases shown are people wearing only one. In my case I need to wear two because I'm not dealing with only foot drop, but the bilateral paralysis from the spinal cord injury.

I have not dove into wearing these braces full-time like I did with my current braces when I got them. In fact, it will be quite a while before I am ready for this because it's going to take time to build the strength to be able to do so. When I wear these braces in public (and I've only done this a couple times so far) I am back to using two arm crutches again because my muscles from my hips on down are just not strong enough yet. The crutches help me with stability and also with moving faster with my stride. So, I only wear the braces around the house right now but I'm doing this most days now. The result is increased soreness in my calves, hamstrings, hips and glutes from the use of more muscles. But this is a good thing because it means I'm still moving forward (believe it or not, I am very, very grateful for this soreness). One thing that's still very tough is foot placement as I take steps. This due to the lack of dorsiflexion in my feet and also just the general weakness in my lower legs. I'm hopeful that the dorsiflexion will come in time as I continue to build strength in my lower legs because I already have plantar flexion (downward foot movement).

From the video above, you can see there's not much to these braces. And the structure that is there is not high strength carbon fiber like my current braces. It's actually fairly soft and allows your body to do almost 100% of the work. This is the intention of these braces whereas my current braces are meant to replace all function of my calves and ankles which is huge difference! My current braces allow me to ambulate by compensating for my lack of calf and ankle strength with other muscles such as the hamstrings and glutes. While this gives me a lot of mobility it also means that my stride is not very big and I'm not using all my muscles like I would prefer to do eventually. I really like my current braces because they made me so much more mobile immediately when I began using them. But I had been wondering for a while if I had gotten new braces sooner how much further I would be by now. But I don't spend much time thinking about that because my body is already quite tired every night moving forward with the new braces every day and I'm very grateful for the progress I am making.

My goal is to wear these new braces more and more to force my body to become stronger over time. It's not easy at all. In fact, it's quite difficult and requires a level of acceptance that I had no idea I was capable of when all of this began six years ago. It's basically like a different kind of work out every day now (just imagine for a minute that simple walking was a difficult workout for you and you might understand my situation a bit better). I started using these new braces back in May but had to get into the habit of wearing them every day and just around the house. Now that I'm more into this habit over the last couple months, I'm already seeing some strength gains. So, I just need to keep moving forward.

15 August 2019

The Power of Gratitude and Optimism for Overcoming Barriers

Over five years ago, I was involved in a cycling accident and sustained some serious injuries including a spinal cord injury. When I awoke in the hospital a couple weeks later, I was shocked to learn what had happened to me. At first, I couldn't make sense of it all. My entire self-identity had been twisted and turned inside out. Because I was paralyzed below the knees, my only mobility was via wheel chair and I had not even learned to use it yet. Every moment of the day, my mind reeled from one extreme to another and I didn't hold it together very well. I felt helpless and not in control of my body or my own existence. I saw the concern and helplessness in the eyes of my wife and daughters and friends. I didn't know how to help myself and they didn't know how to help me other than to provide me all their love and support. I was almost entirely dependent upon the nurses, doctors, PTs, OTs and techs to care for me. I didn't know it at the time, but this was true vulnerability and it was terrifying.


As I was introduced to my PTs and OTs at Craig Hospittal, they put me to work. I never knew exhaustion like the exhaustion I was experiencing from the work they had me doing. But my main doctor told me something within the first couple days of arrival at Craig Hopsital that has stuck with me even to this day. First he acknowledged my injuries and told me that most of them will heal in time. Then he told me to look around the hospital and take notice of how my situation compares to others -- I was extremely fit, I had broken bones that would heal, I had a family and a support system and there was a really good chance that, with a lot of hard work, I might walk again one day. Essentially, what he was telling me was to count my blessings. As I got to know other patients, I realized what he was saying.

I was in the hospital with people who had zero chance of ever walking again. Some of them had zero chance of ever even using their arms to hug someone again. It really broke my heart, but it also strengthened my resolve and opened my eyes in many ways. From that day on, I looked at my journey through life from a point of optimism.

There is a famous quote from the past about optimism that states:
I was lucky enough to be able to adopt and embody this type of thinking early on in my healing and it continues to propel me to this day. But there was a turning point where this optimism really kicked in for me.

Discovery of Movement

Early into my recovery, my friend and neighbor suggested that I visit a muscle activation therapist (MAT) who had helped her in recovering from various running injuries over the years. For those who are not familiar with MAT, it defines a non-invasive, systematic process for assessing and correcting muscular imbalances, joint instability and limited range of motion. MAT is very powerful because it jumpstarts muscles to get them functioning and operating at maximum efficiency. The process really boils down to some very specific sort of muscle manipulation/deep muscle massage that can be very painful but highly effective. Anyway, I went to see this woman who is certified in MAT and I'm glad I did.

I was still in the wheel chair at this point, so I had to make it into the building and into her office. Then I transitioned to her massage table so that she could assess my paralysis through this deep tissue muscle manipulation of my lower body. I was surprised at the amount of pain I experienced from the manipulation. My muscles had not worked properly in many months due to the paralysis and she was basically awakening them and the nerves that control them. As she worked through different muscles she told me that nearly all the muscles that she manipulated were actually working but they were just diminished due to the atrophy and the lack of use over time. At this moment, something clicked inside me and I broke into tears of joy! I was so overcome because I had experience with recovering from muscle atrophy. She comforted me and was very pleasantly surprised herself at the assessment. Although the optimism was triggered by what my doctor said to me, this message about my condition is where I began to feel like I was in control again. I could decide how hard to work out to get these muscles moving again.

Due to my previous experience with recovery from a couple knee injuries in high school, I knew the hard work necessary for such recovery. What I did not know was that this recovery was not months long, but years long. Here I am over five years later and I am still working hard every day to build muscles and encourage more movement in areas of my body that are still healing. Little did I know that the energy of optimism would lend itself to further gratitude as time went on.


Beyond just being optimistic, I have also been lucky enough to be thankful for many things from early on with my injuries. As I described above, my doctor opened my eyes to some of the upside to my situation. At that point, I had already been meditating for years to calm my mind. So I began to meditate frequently on gratitude and this quickly became a frequent exercise for me. I spend this time focusing on things in my life for which I am grateful, and this has really helped me to continue and improve my mindset to this day.

One of the worst things that someone with serious injuries can experience is a mindset of pessimism. I learned through experience that mindset can work as a self-fulfilling prophecy. That is, the mindset you choose to adopt can cause a cascading result throughout both your mind and body. This is not to say that a positive mindset will necessarily save you from a life-threatening illness or cure my paralysis. However, holding a negative mindset can certainly be a big barrier that prevents positive progress from being made. The strength of the mind over the body can be surprisingly powerful.

As I have mentioned before, the mantra of fake it 'til you make it has served me very well over time. Here's the bit of text from that link:
My wife Janene has always taught our girls that no matter what you're doing in life, you need to 'fake it 'til you make it'. This catchphrase helps you to feel confident and optimistic about something until you gain the necessary experience to actually feel genuinely assured that you have reached a successful point. Although she has always intended this for the benefit of our daughters, I have been able to internalize it and use it to my own benefit in my recovery. Repeating this statement in my head has taken me quite far and I continue to use it to this day.
Using this along with optimism and gratitude has gotten me to where I am today. I am lucky enough that my body continues to heal in various ways and that my family and friends continue to love and support me. Without these things in my life, I probably would not have made the progress I've made.

12 August 2019

My First Two-Wheel Ride Since My Spinal Cord Injury Five Years Ago

Yesterday, Janene took me for my first ride on a two-wheel bicycle since my injuries in 2014. I wasn't sure if I would ever be able to ride a two-wheel bicycle that I had enjoyed so much before the accident. It has been over five years since I've been on my mountain bike and the ride was glorious!

Some people have said to me, 'But you have been out riding since then, how were you riding if this is your first two-wheel ride?' This is true, I have been out riding in the last five years, but not on a two wheel bicycle. I actually have a three-wheel bicycle. Let me explain.

My Three-Wheel Bicycle

For some people with a spinal cord injury (SCI), depending on the severity of the damage, it can completely compromise one's sense of balance. Sometimes this is a permanent change and sometimes it is temporary. You just don't know until you wait long enough for the shock to calm down in your body (this takes about six months typically) and the healing has begun. But, as I have learned, spinal cord injury healing can go on for many years and some things can take longer than others to repair themselves and return movement and sensation. Anyway, because we were not sure if my sense of balance was going to be compromised or not and, because Janene was well aware of my passion for cycling, she wanted to get me back on a bicycle as soon as possible back then.

So, sometime within the first year after my injuries, Janene got me the most amazing three-wheel bicycle I have ever seen. It is a Mission Cycles Tribrid shown in the image to the right. This bicycle has disc brakes and gears similar to a two-wheel bicycle and although it's heavier than a two-wheel bicycle, it's actually pretty light compared to other three-wheel bicycles I've seen in the past. (In a previous life, I probably would have conspired to jump this three-wheel bicycle off a ramp or something!) However, the first big challenge that I had to overcome with even the three-wheel bicycle was finding a seat that I could sit on for any duration of time.

My Bicycle Seat Saga

Because my SCI occurred mainly in the lower lumbar spine, it also affected the sacral spine and therefore the nerves in that area. The sacral spine controls much of the movement and sensation below your waist. One of the issues I encountered was the nerves that control all my gluteal muscles and, to some degree, my perineum were all compromised. This meant that the muscles controlled by these nerves stopped working which caused tremendous muscle atrophy resulting in the muscles shrinking to almost nothing. So, the muscles in my butt and my crotch were compromised which made sitting on just about any surface very painful and difficult. Fortunately, these muscles just barely began working within five months of my injuries and have now recovered to some degree today. However, to this day, I still have special cushions to sit on and even with them I cannot sit still for very long. This made sitting in general very difficult for me, let alone on a bicycle seat. In fact, I need to wear two pairs of cycling shorts now for my stationary bike and my mountain bike. Even then, I can only make it for about an hour. But, at least I am able to ride now!

Prepping For the Ride

Internally, I have been excited but nervous about getting back on my mountain bike. Long before my injuries back in 2010 or 2011, I had purchased this really nice Yeti mountain bike (see the photo to the right). I have had several other mountain bikes, but not one this nice. It made riding off-road trails sooooo much nicer due to the full suspension and the general geometry of the frame. It's a superior uphill climbing cycle. Anyway, I have been thinking about riding this bicycle for a long time. I even hopped on it once before but was in such pain from the seat that I had to get off it within 30 seconds. So, I knew what I was up against with the limitations of my body and I had already been thinking about how I would overcome these long enough to get in a real ride duration. But getting my mountain bike ready for the ride was quite comical. It was as if all the forces in the universe were conspiring against me.

My mountain bike still had the original seat and clipless pedals on it, so I knew that I had to change these out. But before I could start on those, I had to fix the flat tire that I had on the rear. I had pumped up the wheels a couple weeks prior and realized I had a flat. Pretty easy to fix. So, I got a tube last week and swapped that out pretty quickly yesterday. Then I started working on the seat.

We had found a seat for the three-wheel bicycle that worked well enough for me to ride it for about 30 minutes. So, I decided to grab the seat off the three-wheel bicycle and move it to my mountain bike. What I remembered as I was trying to mount the seat on the Yeti seat post was that the seat rails were a non-standard width and didn't exactly fit on the seatpost. Hmm, well I now remembered that I had to do the same thing on the three-wheel bicycle, so I just did the same thing on my mountain bike. With Janene's help, I got the seat mounted. Next, I moved on to the pedals.

In working to remove the clipless pedals on the mountain bike, I realized right away that I had to find my allen wrenches. After a hunt around the house, I found a different set but it didn't have an allen key big enough to remove my pedals. So, I called one neighbor and there was no answer. I called another neighbor and he said come on over and let's figure it out. He loaned me the correct size allen wrench. Then I had to actually break the seal to the pedals to remove them. This was no easy task, but we eventually conquered it. Now I needed to find one of my helmets.

This is where things get tricky. Since my accident five years ago, we have moved our master bedroom twice (once to the main level and once back upstairs). Additionally, last year we had to pack up everything on the first floor of our house and move out due to the remodeling. So, finding my cycling tools, helmets, cycling clothes, etc. required me to dig through many boxes before I was able to locate what I needed. I could not locate the helmet that I was searching for, so I still need to find that one. But anyway, two hours of prep work and we finally got ready and out the door for the actual ride!

The Actual Ride

Once we got rolling, I realized that I can still ride! Getting on and off the bike is not so easy for me and I had to lower the seat because I cannot move my ankles at all with the braces on my lower legs. But once I got moving, everything went great and we had a really good ride.

One thing that I used to love about cycling was climbing hills. I could climb for hours and I loved it. But yesterday I quickly realized that even small hills were quite the challenge for me. Actually they are a very good challenge and I really want to do more of it. But I'm far from being ready to take on my favorite ride in Boulder County -- Flagstaff Mountain.

I was so thrilled to be able to feel the movement of being on a bicycle again. Now I can't wait to go on my next ride.

30 July 2019

Five Years Later...

Earlier this year in April, I reached five years since my spinal cord injury. Although this anniversary passed nearly unnoticed by many people around me, the value of what I have experienced in these five years still weighs heavy on me most days.

Back in April, I thought about writing this post, but I passed over it for some reason I can no longer recall. Most of the time I live my life in the new ways to which I have become accustomed and I'm able to deal rationally with most things that come up. But a couple weeks ago, I was driving to a hiking spot in Boulder County and I came across a cycling event. As I saw more and more riders it really threw me for a loop emotionally and I was so overcome I had to pull over. I see individual riders all over Boulder County all the time and I'm fine with that. I have accepted the fact that I cannot cycle the way I used to do so often. But I guess seeing all the people riding together for an event was a strong reminder of something I used to love and I still really miss. Anyway, this experience got me thinking and I figured I should write up something about the fifth year anniversary of my injuries because it's still very much always in the background (and sometimes the foreground) of my life.

Experiencing such traumatic injuries and going through the recovery was a profound experience for me physically, mentally and emotionally. As I just described above, there are still some life changes that get to me. There are big physical things like cycling events and even little physical things like the difficulty (or impossibility) of getting down on the floor to play with our puppies. Such physical limitations are something that I've learned to deal with the most. It's the mental and emotional stuff that still creeps up and surprises me from time-to-time.


As I have stated in a previous post, I still experience a tremendous amount of gratitude for the people in my life and for the experience that I've been through. Without going through something like this, it's difficult to understand what I mean. But recently I was reminded of it again by my fellow paraplegic friend John.

John and I meet up periodically since his own injury in 2017, but this time was a bit different. It was right before July 4th when he and I last hung out. John is doing amazingly well adjusting to life in a wheel chair. At one point, John paused to look me in the eye in a way that he never has. He then thanked me for something that I offered him early in his experience that he said he still holds to this day and it gets him through many daily difficulties. What I offered him was a statement that I learned from my wife Janene and that is, 'fake it 'til you make it.' He said that he didn't understand the value of this statement at the time, but since then he has grabbed ahold of it as a sort of mantra to move forward in his recovery and his life. I was quite touched that it has worked as well for him as it has for me.

In the last couple years, I have a newfound enjoyment in hiking. Although I cannot hike trails the way I used to (I used to run them!), I still get a lot of enjoyment out of the challenge of a trail and from being outside. I also find the solitude of hiking very comforting and I even seek out trails that are less busy for this reason. I used to say that cycling and running were both a form of meditation for me and now I've found that hiking can be the same for me.

But, overall, I think most about the positivity and support I continue to receive from family and friends. Without this, I would not be where I am today. I feel very fortunate to have so many people supporting me.

Improvements and Acceptance

So much of what drives me forward are the small gains that my body has made over the last five years. My nerve pain has improved dramatically over time, but it is by no means gone. The strength in my lower body has also improved dramatically over time, but by no means is my body at 100%. Such improvements and the positivity of the people around me are the hope that keeps me moving forward. But I have also had to face the fact that my body will never be the same.

Acknowledgement and acceptance are two related but very different concepts. Acknowledgement of my limitations is important, especially when it comes to gauging improvements on a day-to-day, week-to-week, month-to-month and even year-to-year basis. But acceptance of my limitations is a whole different level. While I have certainly accepted my injuries, what is not so easy to accept is some level of permanence of these injuries. This is a complex issue that has taken me quite a while to tease apart.

While I acknowledge the injuries to my body and I accept the fact that they happened, it is still difficult to accept the severity of these injuries as permanent. Consider a bone fracture. Relatively speaking, under optimal conditions, bone fractures do heal over time. However, healing a bone fracture oftentimes means immobilizing the joints around the bone fracture. The result of such immobilization is that the soft tissues around the fracture (e.g., ligaments, muscles, nerves, tendons, etc.) wind up experiencing damage due to the immobilization that lasts much longer beyond the healing of the original bone fracture. This soft tissue damage is a side effect to the actual injury, but it is the side effects that require prolonged physical therapy and hard work to overcome. It is these side effects that I am still dealing with today. Having spent two weeks lying in a bed in the ICU and then nine months in a wheel chair really took its toll on my body.

When movement begins to appear with a muscle for me, it doesn't mean that I can suddenly shed my leg braces and run down the street. It means that you can just barely see a flicker of movement in a muscle and it takes all the effort that I can possibly muster toward that muscle. Once this very minor movement begins to appear, the real battle is against the muscle atrophy and this is very, very difficult to overcome. It feels like no progress is being made and really requires a lot of mental focus not to be outdone by my own pessimism. Because such recovery requires a tremendous amount of consistent and diligent work over a long period of time, many people give up pretty quickly. I know I certainly have times where I feel like giving up. But I also know that the reward of regaining movement will not be affected by what I do on any given day, but is mainly affected by my long-term, consistent habits over time. In other words, it's about the long-term trend of the improvement. So, I keep telling myself that this is a marathon, not a sprint. I do my best to keep faith in the choices I make regarding my physical therapy, knowing that it's only going to make a difference over time. Much easier said than done.

Change is Constant

Looking back over the last five years, our family has undergone many changes. Five years ago, Bailey was 11 years old and Jade was 16 years old. Bailey was in elementary school and Jade was in high school and Janene was still working for the Colorado State Public Defender. Today, Bailey is in high school, has her drivers license and is beginning to consider university while Jade is about to enter her last semester of university to complete her student teaching and will then graduate. Janene has since retired from her position with the State and has opened her own private law practice. This a lot of change, albeit these are normal changes.

For me, life has changed quite a bit in the last five years. For the first nine months, I was in a wheel chair. This alone was quite jarring to me and everyone around me for a variety of reasons. One of the most difficult parts was not being at eye level with people and therefore always feeling vulnerable and somehow 'less than' what I once was. I still remember the first time that I walked in the hospital using a walker and with the help of two physical therapists. I couldn't believe how different the perspective was from my wheel chair vs. standing upright to shake someone's hand and look them in the eye. I remember thinking, 'I want this back!' This moment was a big motivator for me to learn to walk again using arm crutches, although it took an immense amount of hard work over those nine months. Since that time, I have spent the last four-and-a-half years focused on getting stronger and gaining better balance and more movement. It has meant doing some form of PT nearly every single day, so it has really become a way of life for me. I am very lucky to have gained much more strength throughout my lower body and even regained some movement. But the journey is far from over. I'm still hopeful that I will gain more movement in time so I just need to keep going.

It is also fascinating to look back at the videos that Janene took while I was learning to walk again. When I began trying to walk while I was still in the wheel chair, I was barely able to stand on my own with the arm crutches. As I tried to walk, I was literally throwing my legs forward to take steps. Over time, I progressed bit by bit toward actual walking with a more normal gait and somewhat normal strength. For me, it is shocking to see how weak my body was through this initial time period. It's always a reminder of how far I have come.

Onward to the next five years!

18 June 2019

My Principles for Hiring Software Engineers

Hiring is difficult. Hiring reliable, talented software engineers is even more difficult. In fact, hiring is probably the most arduous task that managers must handle, no matter what type of business you are conducting. And, based on the topic of Marc Andreessen's famous article Why Software is Eating the World, every conceivable industry is now being dominated by companies that are adept at developing software. So, the competition for good software engineers is pretty steep right now and will probably remain this way for the foreseeable future.

TL;DR (too long didn't read):
  1. The candidate must have a demonstrated ability and hunger to continually learn 
  2. The candidate must be a culture fit for the company, the environment and the people
  3. The candidate must demonstrate humility

On with the background...

Throughout my years of hiring experience that began 20+ years ago, I have learned a thing or two. I've read many articles and books about hiring in the software industry and heard many opinions on the topic. The result of my years of experience is a set of principles that I follow when hiring. But before I get to these principles, let me explain what lead me to them.

Because I'm hiring from a management standpoint, I pay attention to aspects beyond just the candidate with the best technical skills and/or qualifications. I focus on team building which encompasses a myriad of aspects far beyond just technical aptitude. For me, team building requires the consideration of many different cross-cutting aspects. Below are just a few of the skills that candidates must possess:
  • Exhibit the skills necessary for software development
  • Demonstrate the ability to constantly learn
  • Want to work as a team and collaborate closely
  • Behave like a professional 
  • Manage their own work schedule
  • Fit the culture 
  • Demonstrate empathy and humility
  • Not be an asshole
  • ...
Many of these skills can be taught and even bad habits can be broken with the right coaching, but the candidate must come through the door with some base skills intact. Let me walk through what I mean here. 

Consider trying to teach someone a complex task. First, if the complex task requires a large amount of prerequisite knowledge (like software development), then the candidate must demonstrate a certain level of technical aptitude. Let's assume they can successfully demonstrate their technical chops. Second, trying to teach someone is pointless if they are not interested in having others help them to learn or assume that they can figure it out themselves. In other words, sitting in the corner and coding away with zero communication with others is not allowed. Not only must the candidate be open to coaching and learning from others, they need to know how to learn and they must be proficient at learning. If the candidate possesses some of these base skills with the ability to learn and the willingness to be taught, then they can be brought up to speed over time. So, what I'm really looking for are some indicators of these characteristics in the candidates. These indicators are the principles that I have identified.

When I was asked some years ago to summarize these principles, I referred to them as culture-building. When building a culture, leaders must focus on the behaviors, expectations and norms that are most important for the environment and the work being done. Upon much consideration and over a long period of time, I was able to distill my hiring to the following three principles:

  3. The candidate must demonstrate humility
In my experience, these three principles serve as indicators for someone who might be a fit for our culture and the position. Neither are these principles generic nor are they fool proof. You must adjust for different hiring needs. Also, we have had a couple duds over the years, but our turnover rate is less than 10% which is extremely good. Such a low turnover rate is partially due to hiring well and partially due to the benefits, compensation and perks from working for a large, global company. Without these benefits, all the good hiring practices in the world won't stop your turnover rate from increasing over time. I believe that you should pay people enough that they won't go elsewhere only for more money.

These three principles serve as a litmus test for a broad set of aspects as I noted further above. Here is some explanation around these principles:

  • The candidate must have a demonstrated ability and hunger to continually learn - I have met some engineers through my career who chose to go very deep with a very narrow skill set and no interest in spending time on things outside this narrow track. Without the interest to learn new topics and, the desire to do so all the time on an on-going basis, I have watched these people never move their skill set, never stretch themselves. For some positions, this approach is necessary. But for many/most positions, given the changing landscape in technology, I have found that the best candidates are always willing to make themselves uncomfortable to learn new things.
  • The candidate must be a culture fit for the environment and the people - Culture fit can mean a many different things. But, as I mentioned above, for me this term embodies the behaviors, expectations, norms, thinking, what is acceptable/unacceptable, working time, work ethic, etc. During your interviews with a candidate, I have found it to be invaluable to include folks from the team where the open position exists. Everyone should be coached to take note of both verbal and non-verbal cues from candidates. Then, assessing such cues after the interview with the entire group oftentimes can tell a much different story. Also, the questions you ask candidates can really tell an interesting story.
  • The candidate must demonstrate humility - This one is a bit odd for some people because it delves deeper into the psychological aspects of a candidate, but it has proven to be very important over time. Anyone who has worked with people who have big egos will be able to recognize this -- the rock star developer who ignores input from others, the developer who sits in the corner coding away to her/his liking and everyone else be damned, the developer who has high standards for themselves but does not want to take the time coach younger or newer team members and instead chooses to chastise them, etc. When hiring for a team, you are doing team building and this point needs to be taken seriously. Teams of developers should operate like a team, not like a ship full of pirates. This requires the ability to empathize with teammates, to assist one another, to exhibit a compassion for others, to be respectful, to be kind and to be humble. Without these characteristics, there may be serious disagreements on a team, even if those disagreements are not vocalized.

While these principles have worked for me, they may not work for others for various reasons. In the past, I have read that people don't leave a company, they leave a manager. While this can certainly be true (I've had my fair share of bad managers), I have left numerous companies not because of my manager, but because of the culture and the processes within the company. The three principles that I have outlined above assume that your company culture and processes are helpful, useful and not problematic. If they are problematic, then as a manager you should be working toward improving them so that they are not problematic. When the culture and/or the processes are standing in the way of good hiring, all the principles in the world will not help you.

19 September 2018

Installing PostgreSQL 9.6 on macOS 10.13.6 via MacPorts for Development Purposes

After finally receiving a new MacBook Pro with 2.9 Ghz, 6-core i9 processor and 32gb of memory, I am reinstalling all of my development tools. Not only is the big increase in resources really useful from the development point of view, but the computer is lighter and thinner as well. That being said, there are still things I do not like, such as the keyboard, the touchbar (I miss the tactile feedback from the escape key which, as a Vim user, I use constantly) and some other minor things. For my own purposes, I usually document the steps to make it easier in the future. But I also figured it might help other folks out there to achieve the same ends.

Having documented this procedure once or twice before, I'm going to keep this brief.

BTW, below are the start/stop scripts that I created for PostgreSQL:

06 September 2018

GopherCon Denver 2018

Recently I attended GopherCon 2018 in Denver and really enjoyed the whole event. There were about 1500 people there and I really learned a lot. One of my teams writes Kubernetes operators using Golang which got me into writing some Golang myself.

On the first day, we attended a workshop titled Advanced Ultimate Go that was taught by Bill Kennedy from Ardan Labs and it was excellent. Not only is Bill incredibly knowledgeable with Golang (he has years of experience not only in Golang but also in C++) but he is also an extremely good teacher. I learned a lot in a single day and I would have loved to have this class extend for another day or even two.

Coming from a background of mainly Java for 20+ years, the Java community has an amazing piece of engineering in the JVM that handles most performance related concerns for us. We design Java classes however we please and we make use of any data structures we please and never really give it a second thought simply because the JVM handles all the real mechanics for us. With Golang, this is not the case. Although Golang has garbage collection (which is really nice, I hated using malloc() and free() in C) it's very different than what JVM does. Also, in many ways, the Go language is very succinct compared to Java. Both in terms of the amount of code you must write (Golang requires a lot less boilerplate code) to the ease of deployment with Golang (you have a single binary to deploy, no dependencies or CLASSPATH to manage). That being said, I'm still not sure that I would completely switch all web development away from Java to Golang. While the Golang learning curve is a lot easier than Scala, the issue I see are the implications on performance with the code you write. Whereas with Java, while there are performance concerns, as I said above the JVM handles a tremendous amount of things under the covers so that we don't have to care nearly as much.

Having spoken at many, many conferences over the years, I was very pleasantly surprised by the number of female attendees and speakers! I saw more talks delivered by women than I saw delivered by men which was excellent! The community seemed very open and engaging to everyone which I really liked. Being in the software industry for so long, it's still shocking to me how much of it is dominated by males. Anyway, I really enjoyed the cultural and gender diversity at Golang.

There is one minor change that I would like to suggest to the organizers of the Golang conference. Many years ago, I spoke at a conference in Denmark where I first saw this. On tables next to the doors at the back of a room where talks are taking place, there are big glass bowls with three piles of Post-It size paper, each pile a different color -- red, yellow and green. As attendees exit the room, they are asked to grab a single piece of paper in the color that represents how you felt about the presentation/talk. When the talk completes and the room is empty, the conference organizers gather the papers from the bowl, tally them up and provide the stats to the speaker. It's basically like a quick rating of what attendees thought of the talk. This small system does not replace the comment cards that organizers always ask of attendees because this is how attendees elaborate on they rated the talk the way they did. Both systems of rating are important because they deliver two different but equally important types of data to the organizers and the speakers. Anyway, this my two cents.

I really enjoyed GopherCon for a variety of reasons and I would love to attend again. Since the conference I have written a lot more Golang code and the more I write the more I like it. In my mind, Golang should be the goto language for systems programming, DevOps type stuff. While it can easily handle general web development tasks, I'm not sure yet if I would drop Java in favor of Go. I guess I need to keep coding away in both.