Strength vs Power

Yesterday was a beautiful day here in the Seattle area. It’s been beautiful most days lately but seizing the day I figured I’d go out on a bike ride. Biking is something I really enjoy to decompress and keep healthy. Plus you get to see such beautiful scenery around here.

While I was out riding near Juanita Beach in Kirkland I started thinking about the class 4 climb that was ahead of me. Naturally I started pedaling with more force. Having strong quads I can ride a bike fairly well. Though as I got up the hill I was spent. I had to stop and take a break.

That got me thinking about strength vs power.

Reflecting on this as I rode down the other side I was reminded of olympic lifting. Olympic lifting is a style of weightlifting they do at the Olympics. You can read much more about it here The general thing about it though is that there isn’t squat racks, or anything really helping you. It’s just you some weights a barbell and your own strength.

But Olympic lifting isn’t really about strength. Instead it’s about power, or the coalescence of strength and agility. Most of the olympic lifting I’ve done has been about flexibility and deep squats rather than lifting 95ks. Sure you have to be strong to lift weight but many olympic lifters are able to life weights greater than their own body mass over their head.

If you’ve never seen olympic style lifts this is what they look like:

Mental Power: Agility + Strength

These women have physical power and not just physical strength. Don’t get me wrong they definitely have some strength too! But realize that Power is something that isn’t only physical.

Unfortunately the way I tend to approach work is very mechanical and industrial revolution like. I focus on the task at hand and churn out code. While this can be good for shipping things to production and breaking things it also leads to burnout. Being able to work hard and consistently is important to work but so is agility.

Sometimes when we approach work instead of just powering through it take a walk and stretch your mind just like you would stretch your muscles.

Being someone with a go for it attitude I sometimes forget this.

Developer Happiness: Building a Standing Workbench

Most likely you’ve heard that sitting is the new smoking. Unfortunately as a developer we spend most of our days sitting down behind a computer screen typing away. A lot of co-workers, and friends have been telling me the benefits of getting a standing desk but instead of reliving my time standing for hours at Office Depot I really wanted something that I could either sit or stand at.

I went on a search: starting with the furniture stores trying out many desks that came up short. Being an engineer I really wanted something… over-engineered. My first desk I ended up wearing a hole in. That desk was from IKEA and ever since then I’ve bought quality.

I wanted something that would allow me to stand or sit, while taking a ton of abuse. If I wanted to solder on it then I should be able to solder!

This post will outline what I did to make my standing workbench. What I decided to build ended up being roughly 200 lbs so if you are not into olympic lifting then I recommend you get someone to help you put the thing together.

The legs

The guts of the workbench are these legs that I found on Amazon:–Stand/dp/B00FBTN6RY. They are made by a company I’ve never heard of before but had good enough reviews. When they showed up I definitely could tell they were well made. The linear actuators worked seemlessly and the manual on putting it together was exceptional.

The top

I could have gone with many different tops. For instance I used to work off of an old door converted into a desk. But I wanted something that would last longer than the legs most likely. For that I decided to buy a workbench top built by Grizzly.

Remember I wanted something over-engineered.

You can check out the workbench top here:

Something that wasn’t Grizzly’s fault but still noteworthy was that UPS Freight really sucks as a shipping service. They called me 4 times to reschedule a dropoff. So don’t hold your breath if you decide to order anything that gets delivered via UPS Freight.

Putting it together

Putting the workbench together really wasn’t hard. The manual was reasonable enough.

The general idea is to lay everything out like this:

All the parts laid out

All the parts laid out

Then put the legs together:

Screw all the legs together and attach it to the top

Screw all the legs together and attach it to the top

Finally route all the wires underneath:

Routing of the wires underneath

Routing of the wires underneath

And you end up with a new desk!

Standing Desk all together

Standing Desk all together

Developer Happiness

We spend so much time at our desks we might as well optimize as best as we can to live a healthy life. This is something I found to greatly improve my happiness as a developer. Let me know what you think.

How to write inspired code by focusing on your gut

In the software circles we focus a lot of attention on writing software right, but little attention is paid to writing the right software. Conference talks generally focus on things like design patterns, TDD, Agile, green belt six sigma (ok I haven’t seen one of these in person but I know it exists). While I do find that it’s important to talk about how to write good software there’s an existential problem associated with it: if we write good software and nobody cares, was it worth it?

Teaching how to write software right has one merit which is: it’s generally easy to teach. Follow principles and guidelines and you’ll write good software. Design patterns, TDD, SOLID, are all excellent principles to write software by. Unfortunately writing the right software involves much more holistic thinking. Software programmers being the somewhat logical and stoic types we are on occasion tend to eschew the holistic thinking for concrete abstraction.

But I think we can at least think about what makes the right software by focusing on our emotional intelligence as a community. I have had the benefit of working with highly intelligent and intuitive people and I think they are not mutually exclusive.

In this post I present two things that I have found that inspires me to write the right software. They both focus on listening to your gut, what your logical mind isn’t telling you and focusing on what your stomach and heart are saying.

Doing things with gusto

Writing software is something I am still blown away with. It’s an extremely gratifying experience where you write something, it gets deployed and you solve the worlds problems. Some of the biggest innovations have come out of this hunger for writing solutions that just work.

Gusto which is a term used to define the feeling we get when we’re hungry for something. Imagine the feeling you get right after a long bike ride or run where all you want is 13 egg omelette. That is gusto. This same feeling can be applied to software as well.

Some examples of software inspired through gusto to me are: Rails, Clojure, Ruby, numpy. These are all projects which solve problems and are fun to work with. Rails has made a name for itself by writing things with lots of gusto, and motivation. Clojure is an extremely well executed dialect of scheme (which will probably always be relegated to the esoteric bin unfortunately). Ruby is really a happy language and numpy is well executed for the academic and data analysis communities.

When using this software something clicks and things work as expected. You’re able to solve the worlds problems with these tools. They all have gusto.

Writing software with gusto means focusing on what drives you, what excites you, what you want to be eating up more of.

Disgust driven development

The other end of the spectrum of software that I’m still blown away with is just how broken everything is. Software is written by imperfect humans and therefore there’s a lot of broken stuff out there. Sometimes software can bring you down just because of how hard something is to build or work with.

Disgust has to do with the feeling we get when we eat something toxic or poisonous. Our natural inclination is to spit it out. This is a completely healthy thing! For instance most americans still make brussel sprouts by boiling them which ends up sucking all the nutrition out of them, and yields terrible tasting green balls of death.

This applies to software as well. Lots of inspired code can come out of being disgusted with something. I believe the prevalence of JVM languages has come out of the ashes of disgust due to Java and boilerplate. A lot of innovation has been done in the Ruby community around making things faster out of disgust of the language having a reputation of being slow. JSON-Schema, RAML, Swagger are all excellent tools for overcoming the disgusting attributes of API’s by enforcing some sort of order on things.

Writing software out of disgust is in many times just as inspired as doing it with gusto.


So what do you think? What makes you excited to act with gusto? What disgusts you right now? When you center in on these emotions, then you can make a logical decision whether to act on them. If the feeling is large enough most likely you’re not the only one. And if you figure out a new solution to something out of disgust or with gusto then open source it and share the happiness.

The Zen of Burnout

If you’ve worked at a startup, a technology company or anywhere that moves fast then you’ve probably seen the effects of burnout. This psychological cousin to depression afflicts many creative professionals. When I started my career I was invigorated by the feeling of software and technology, being able to completely change the world radically for the better. That feeling lasted for half a year until I hit burnout.

For a long time I shrugged off feelings of burnout as temporary, something that could be ignored until it went away. But recently after dealing with 2 months of massive burnout I’ve found that burnout can be much more than temporary if not addressed.

If you’ve ever felt burnt out or feel it now I hope this will be useful for you as something you can look at to overcome the effects of burnout.

This post will be long and include a few tangential thoughts. For those of you who don’t want to read the whole thing the way I’ve started overcoming burnout is through seeking third party help, meditating, and leaving food on your plate.

The signs you are burnt out

Burnout has many indicators and lots of sources but I’ve found these questions have helped me determine whether I’m burnt out or not:

  • Do you find yourself eating more, smoking, drinking, or not exercising?
  • Has your consumption of mindless entertainment gone up drastically?
  • Do you dread waking up?
  • Did you feel a ray of hope reading the title of this blog post? (Credit goes to Scott Berkun for this)
  • Are you annoyed at new ideas?
  • Do you feel like you’re constantly behind even though you have plenty of time to do what you need to?
  • Do you feel guilty?

This is far from an exhaustive list but it gives you a good idea.

If you’re feeling burnt out it’s important to focus on finding a solution to the burnout rather than suppressing it. While it can be thought of as an enemy, it’s important to treat burnout with the respect you would treat anything else. This post goes over how I am getting over burnout, but since I’m not a professional psychologist of course your journey might be different.

Overcoming burnout takes a village

I have reclusive tendencies ranging back to my childhood. When I was upset I’d retire to my room and think through the solution until I was happy with the outcome. Most of the reason for this was due to addictions and afflictions my family had around me: I couldn’t rely on them anyways. It wasn’t until many years later that I figured out that to really be successful at anything it requires help from others.

Burnout is no different. I wouldn’t have quit my job at The Clymb without the guidance of my wife, Sophia. I was entranced and burnout working with them and while it was difficult to write out my two weeks, it was the right thing for me to do.

Relying on family is not a good idea for overcoming burnout. Neither is relying on your friends. These people are not objective third parties. Also subjecting your family and friends to the emotional distress talking about burnout creates. Instead seek outside help from professionals or if you can’t afford that then talk with someone who you’re acquainted with but not friends with.

It is much more difficult to speak with people who are third parties and explain things that don’t make sense. Like the fact that you might spend hours watching Netflix while a book deadline is looming (ok yes I have done this…).

My own personal experience with finding outside help has involved me speaking with a therapist once a week. It has cost me money but it has also taught me a few tricks that I have been applying that my wife, and family wouldn’t know. Plus my therapist has said things that my family and friends most likely wouldn’t say to me due to the subjective nature of our relationships.

One of the biggest things I’ve learned is practicing getting out of ones mind and dropping down into a meditative state.

Dropping down using meditation

Until recently dropping down is a term I haven’t heard of before; paraphrased it means to get out of ones head by practicing breathing and clearing everything from ones mind. Dropping out of one’s head down to their body below. This could also be thought of as meditation.

For those of you who think meditation is a waste of time, believe me it’s not. I believe that we are made out of a combination of mind, body, and spirit. Burnout to me is when the body and spirit become neglected and your mind becomes too tired to function.

Thinking back to when I was the happiest I practiced meditation frequently. I was doing karate twice a week, exercising, and meditating as part of my training. I was in balance as I was taking care of my body, and spirit as well as studying.

By 2015, I would exercise at most 2 times a week, and haven’t meditated for years. That was until recently when I decided to start meditating frequently using If you haven’t tried I highly recommend you try it! I also have been attending a Zen sitting group where we meditate for over an hour.

My findings have been extremely positive. Meditating even occasionally focuses your mind onto what is important instead of flopping around like a fish.

For those of you who haven’t meditated before I do recommend you try but otherwise if you want to try silent meditation sit on the floor in an open position (really it doesn’t matter how you sit as long as you’re comfortable). Then when you meditate only focus on one thing, the space between inhaling and exhaling. That’s it! If thoughts come into your mind let them pass like clouds would. Don’t force them out but let them pass.

Meditation is about becoming mindful with the present instead of letting your mind run free. It helps you drop down into a state that is healthy and maintainable instead of stressful.

In my journey to find more mindfulness in my mind and seeking outside help I have learned one of the most important lessons to overcoming burnout: leaving food on your plate.

Intentionally leave food on your plate

Both of my parents come from very poor families. My mom when she was growing up ate surplus peanut butter that came out of 5 gallon buckets. To this day she won’t eat peanut butter cause of how disgusting it was. Mind you this was surplus WWII peanut butter ten years after the war ended.

My upbringing taught me to always finish your plate and to be damn happy about the food you receive. Unfortunately as a child of the 90s this meant that I quickly became an obese kid who was 290 lbs by the time he was 13 years old. To this day I clean my plate and am grateful for what I have in an economy of abundance.

It wasn’t until my therapist told me to intentionally leave food on my plate that something clicked. When we commit to something, especially in software, we think we know how much time we need or how much energy we have but in many cases we’re wrong. Software estimates are impossible to get right and the same can be true with something as simple as food.

Sometimes our eyes are bigger than our stomachs.

That is why mindfully leaving something on your plate is a great exercise in overcoming burnout. A lot of the time burnout comes from taking on too much in the first place. Usually this is manifested as scope creep or scope seep.

Scope Creep

When I worked at my first job out of finance there was a project manager who was running a project I was on. He was notorious for upping the bar all the time. This person was a big reason I ended up frustrated with that job. One sprint we had, we delivered 30 points. So obviously next week we were going to deliver 35 points.

This is scope creep. Someone else making more work for you beyond the normal work day. Consistently upping the ante as a team until eventually the entire team turns over and leaves.

This is completely unacceptable in the software world. We have a tendency to push for crazy deadlines and to always up the bar until our team is exhausted both spiritually, mentally and physically.

But I feel this hasn’t been the worst affect on me instead Scope Seep has been.

Scope Seep

Scope seep unlike scope creep has to do with upping the bar individually.

In the fall of 2014 I signed up for a full load at Georgia Tech, I was finishing my book on machine learning, I took on consulting work with two clients, and had a part time job working 30 hours a week. On top of that I was an officer for my toastmasters club.

I had fallen into the scope seep trap. Retrospectively I could have said no to some of that after the fact but I ended up feeling my way through the fall and came out the other side with the burnout right on my shoulders. It’s taken me this much time to recover from that and I don’t recommend that kind of schedule to anybody.


While it’s been a rough ride with burnout. I feel positive for the future and grateful for the help I’ve received from my friends, my family, and third parties. For the entire month of April I found myself sliding into major burnout and didn’t take on any new work. That was the right choice for me cause now that it’s May I’m ready to finish my second book, to launch a new exciting project, and to continue to help build amazing software for the world at large.

How about you: what are your experiences with burnout?

How Toastmasters made me a better Developer (and Person)

Toastmasters is an organization that was started as a way for people to work on their public speaking skills. It was originally just an offshoot of a YMCA club in California but has grown into a worldwide organization. While most people join Toastmasters to learn how to speak many find that it improves you in different ways than expected.

Personally I joined Toastmasters so I could learn how to speak better at developer conferences. When I was a kid I could barely talk to people on the telephones and still to this day suffer from major shyness. Toastmasters was an obvious organization where I could learn how to speak better and become a better communicator.

But what I really find valuable isn’t the speaking skills but instead the other factors of Toastmasters:

  • Evaluating effectively
  • Being structured but flexible
  • Supporting instead of arguing

Effective Evaluations: Spoken Peer Review

In a normal Toastmaster meeting you’ll listen to prepared speeches, get the chance to speak off the cuff as well as hear spoken evaluations on the prepared speeches. The evaluation portion is where I’ve learned effective skills for my work as a developer.

When I started programming professionally I would consistently write comments like: “WTF IS THIS SHIT”, “that was stupid”, and things that were in hindsight unproductive. Over years of honing my ability to evaluate software I’ve found myself following the normal Toastmaster 3-2-1 approach which is a modified sandwich.

3-2-1 Evaluation

In a normal evaluation it’s important to be more positive than negative. A lot of people talk about saying two positive things to every negative. Instead many of us when we give spoken evaluations take a different approach: 3-2-1.

3 things you did well

2 things I’d suggest for improvement

1 thing I love about this

Many times pull requests will be fraught with comments that have no focus on improvement and are purely negative.

This sounds overly positive but the important nuance to realize is that the 2 things you suggest for improvement should be substantial enough to warrant pointing them out. Comments such as “whitespace needed here” should be relegated to bots to fix not people.

This type of evaluation isn’t static either it can take many different styles which gets me to the second thing I’ve learned being structured but flexible.

Structured and flexible

Sometimes organizing a Toastmaster meeting can be a bit like herding cats, people have lives and sometimes can’t show up or get stage fright when they are scheduled to speak. But one thing is constant: the roles are well defined, and the meeting runs on time.

Toastmasters has taught me the value of having an agenda for a meeting. Most meetings have timings down to the minute. The beauty is that even if we stray from the original plan we know how to get back on track.

This has taught me that discipline as a developer is key either in planning or writing code.

Discipline and structure

Unfortunately Agile, XP, and other software project management has gotten a bit out of hand. A lot of the times Agile I’ve seen degrade into “code now, plan later.” The Agile manifesto never said you shouldn’t plan ahead.

The biggest gripe I have with many startups and companies I’ve worked for is the lack of a process. While it’s boring, and not as fun to write documentation, having it there for later is extremely helpful in case we get off track.

This gets me to my last point, instead of derailing a project  based on politics and not sticking to a plan Toastmasters has taught me how to be supportive and have fun.

Supportive and Fun

In the club I meet in every week, we have a retired Berkeley Professor, as well as a card carrying NRA member. They don’t see eye to eye on a lot of political issues, but in the end are extremely supportive to each other. We have a member who gives some of the weirdest speeches and yet people still support him wholeheartedly.

The biggest black mark on the development community is a lack of support. It amazes me how difficult it is for my wife to find work within startups while I coast along finding work after work. I have a huge advantage as a white male who happens to share the same height as a high proportion of CEO’s of the world. What it really comes down to is that many of us in the development community don’t celebrate different ideas. Even me, when I went to my first Ruby Conf was scoffed at cause I was programming in PHP.

We have a lot of work to do still on this front and I am doing the best I can to support people and different ideas.


Overall I love Toastmasters and it’s taught me a lot. It’s a good way to practice speaking skills, but more importantly learn how to evaluate people, discipline yourself and support others.