ThatConference 2017 – Day 1

It’s another year at That Conference! I’m excited to be back again this year though I am bummed to not be speaking. Here is a run down of my reflections on the first day.

Forget Fight or Flight…Fight Fear

This morning’s keynote was put on by a good friend and mentor of mine, Brian Hogan. His talk was a call to action for us as an industry to work together to reduce fear. Brian and I have had many conversations in the past on a similar topic. Every time I chat with him I am energized and ready to go to battle. As I struggled with fear and doubt over the past couple months in my job search, this talk really hit home. It even fed a little into the open space I facilitated. One of the main take aways I got from Brian is that fear is real and it is crippling. It’s not something to take lightly and brush off your shoulder. It’s something that can impact your physical and mental health.

To beat fear we need to all work together and recognize when someone may be struggling with a fear. Look at your co-worker during a meeting, are they sitting quietly when a topic comes up that you know they are passionate about? They may have a fear of speaking up because they fear that if they make the wrong comment or pick the wrong solution they could lose their job. Run with that thought, now what if they are the sole breadwinner for the family and provide the health care. Add to that a really bad situation like their partner or child is chronically ill. That fear of losing a job could make the company miss out on a great opportunity.

When we notice situations like this we should work to make the environment safe and collaborative.

Route-planning your monitoring stack climb

After the inspiring talk by Brian, I headed over to hear Jamie Riedesel talk about planning out monitoring initiatives. Jamie did a wonderful job breaking down all the thoughts and questions that should go into monitoring.

I took away 3 major points to use as some goals in my next monitoring and alerting project:

  • Make every alert actionable
  • Make every alert specific
  • Don’t allow alerts to be ignored, not having actionable and specific alerts will do this.

In the past, I have been guilty of creating “alerting spam”. I’ve created alerts with the intention of “cleaning them up later”, you can guess the number of times I’ve cleaned them up.

Having a good plan and making sure that these 3 points are accounted for will go along way to creating successful alerts.

Intro to Docker

I dropped into this talk towards the end and was glad that is when I did show up. The main meat of the talk was something I have already experienced. The portion of the talk description that caught my attention was deploying it to Azure and AWS. I was really impressed with the DockerHub and Azure integration.

Open Space: Developer Interview Process

After having spent 2 months looking for my next adventure I wanted to share what I had just been through and also talk about how to make interviews for developers much more consistent. A side benefit was to gain some information to share with my students who are heading out into the workforce.

The conversation was really interesting in that there were a few folks that were hiring managers. Their perspective came from working at large companies where the resumes they got passed through HR screeners and it was a major frustration. Often the thought that they lost out on potential candidates and also got the wrong candidates through this process.

We talked about how to evaluate someone’s technical skill level and fit for a specific job fairly and really struggled to come up with anything different than the broken pattern of a take home exercise.

Overall the first day was fun and exciting. I didn’t even finish this article before crashing into bed.  More to come from day 2!

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.