Looking for the next career challenge

I never thought I would be publicly on the look for a new gig, but here I am. I went on a rollercoaster ride the last few months and have exited the ride and am in search of a new thrill.

As I have progressed in my career I feel ever more confident in the set of skills I have acquired and my ability to use them. Reflecting on my accomplishments over the past few years I am inspired to continue to add to that list. Those accomplishments all have come through hard work and collaboration. I love collaborating in some capacity, everything from being in a room or video call with someone to pair programming to a discussion over pull requests.

I’ve reflected also on how much I have learned over the years and this also inspires me to keep growing as a person, developer, and manager. I care about helping mold quality people and quality software. I find the best way to do this is with constant feedback and education. I love being a part-time instructor at the local community college, there is a feeling of accomplishment I get vicariously through my students as they achieve success.

My time in the classroom impacts my daily work in so many ways. One of the biggest lessons I have learned is how to communicate to someone your idea in a way that is empathetic and compassionate. Much like the co-workers I have had or employees I have managed, students come to me with different experiences. These are both life and education experiences, some know object-oriented programming others don’t. Some have used an operating system other than Windows, some not. The list can continue on. This poses a challenge when giving assignments and even during lecture and lab times. Through practice and constant feedback from students and employees, I have developed a communication platform that consists primarily of storytelling and analogies.

Storytelling allows me to frame the content in a way that is best fitted for the individual, in order to do that I need to have a good understanding of the person that I am communicating with. Building a relationship to a level that allows me to communicate effectively has the side effect of building trust with the person. This trust increases their comfort in speaking up when they don’t understand something, knowing I will find another way to communicate with them.

As I move forward in my career I am looking for a place that will allow me to use all my skills and acquire new ones. I’m open to opportunities that push me out of my comfort zone and give me more perspectives to attack problems with. I have really enjoyed my time with Ruby on Rails and specifically the Ruby language. I see new things on the horizon like ELM and WebAssembly along with tools like React Native which is gaining traction and I’m excited about something new.

If you are looking for someone like me, please contact me chris at johnsonch.com. You’ll find my resume related information on LinkedIn and code related information on Github. My course materials are out on my course Github organization including class samples and lectures.

Monitoring disk space in linux

Recently I ran into a situation where I need to monitor disk space on a couple servers while a code fix was being made. I needed to stop and start services when the disks got too full.

To do this I used a bash one liner loop to output information from the df command:

while :; do df; sleep 10; done

Sleeping for 10 seconds as to not thrash the disk horribly bad.

The disk free command gives you output similar to the following:

Filesystem 1K-blocks Used Available Use% Mounted on
/dev/xvda1 8256952 4582112 3255412 59% /
udev 3806520 8 3806512 1% /dev
tmpfs 762928 180 762748 1% /run
none 5120 0 5120 0% /run/lock
none 3814624 0 3814624 0% /run/shm
/dev/xvdc 41276736 180236 38999760 1% /mnt

And thats it, you get to loop over the command you want until you hit ctrl-c to exit the loop.

Mad Railers – October 2011

Last night I had the opportunity to present again to the Mad Railers group here in Madison. My talk was titled “Writing, for love and money”. I took others along the journey I had while working on Web Development Recipes and some tips I learned from Brian Hogan, who is one of my co-authors and mentor over the years.

Some of my main points where:

Overall the main key to success is to work at it every day, because with practice we can all get better. So give it a go and if you need a boost check out PragProWriMo and start writing that book!

Ruby Koans

Recently after doing a Code Retreat with Cory Haines I found myself really wanting to work on my Ruby fu.  I was inspired by the idea of practicing my trade everyday in some simple exercises that  allow me to focus on parts of the language to really learn it well.

So I decided to pick up the Ruby Koans which I was introduced to a year or so ago but never thought I needed that.  I always figured I could just keep learning by using Ruby for my projects, but then I realized that I was just using the same few parts of the language to build my apps.

Following the craftsman analogy, I was using the same saw and hammer because they are comfortable.  I didn’t take the time to learn about the pneumatic framing nailer because I already had a way to pound in nails, but boy does it make building things easier.

So if you are new to Ruby or have been using it for awhile I really recommend you find some exercises to keep your skills sharp and explore new parts of the language. I really think the Ruby Koans are perfect for this, I see them being easy to get started and with enough substance that even seasoned developers will pick up new things.