Code Viking Campfire

ehei personal projects and blog


About Me

Who am I?

Who am I? A question I ask myself all the time. The short answer, Eric Charles Heikkila, sometimes known as ‘ehei’, born and raised in Michigan. Husband, father, gamer, geek, nerd, musician, self-taught programmer, avid reader, D&D player - all aspects of ‘me’.

Early Years

I’ve always been fairly introspective, introverted, stubborn, and impatient. Starting even before I was born - my mother had no idea she was even pregnant! My parents went to the Emergency Room thinking it was a kidney stone - and out I came, several weeks early. Surprise!

At an early age it was noted that I devoured knowledge - anything I could get my hands on, from “I, Robot” to topography. I taught myself to touch type on my mom’s manual typewriter - to make legible and easy D&D character sheets of course! Then my father, an elementary school teacher, brought home an Apple IIe, and I taught myself to program. Starting with creating Choose Your Own Adventure text games, I quickly moved to ASCII graphics rendered character generators for a variety of role playing systems. I even designed an online RPG (back before MMO was a thing) for Shadowrun, wrote up about 30 pages worth of documentation, sent it off to FASA - and had it returned, unopened. Thanks lawyers.

School

School - school was boring. There was no challenge, no accelerated classes - odd when I think about it now, given my parents’ backgrounds. I coasted through classes, not caring about most of it, just wanting to get home to play some more on the computer. I also played the viola, mainly because I had never heard of that instrument, and it sounded cool. After the basics, I barely had to practice at all, until much later in life taking private lessons - but almost never had to practice the stuff we did in school. I really loved the viola - it being the bridge between the high pitched violins, and the lower strings. You normally couldn’t really tell, unless you knew what to listen for - but if we weren’t there, pulling things together, you’d be able to tell. We - or maybe just I - spent most of the time listening to the rest of the orchestra, and making sure to fit in, pulling the rest of the ensemble together.

Which is a recurring theme, me worrying about everyone else. My preschool teacher used to call me “Little Grandpa” because, when it was time for snacks and a nap, I made sure everyone else had their milk, cookies, and blanket before getting mine.

Higher Education

So, I finish High School, start college with a double major in Music and Computers - and drop out. Repeatedly. From six different colleges. No challenge, no friends, no push or drive to get into ‘higher education,’ doing the same work I had been doing since Junior High. Impatient - things not moving fast enough. I then drifted between a few different jobs, until I finally took an old IBM aptitude test a small company in Southfield, Michigan, was using to screen potential programmers.

I blew the test out of the water. I had no degree or prior experience, but I made a promise to the VP that I’d do my best, and he gave me a chance. I started my first programming job writing programs in C/C++ to run on Windows 3.1 Ford Dealership workstations. It was pretty cool. I continued expanding my skills at home, so I dove into Visual C++, eventually bringing that to my coworkers and teaching them how to use it. I didn’t realize it until much later, but we had started very basic pairing, and even did some very rudimentary integration testing.

XP

Then, like so many others, that company closed their Michigan branch, and laid everyone off. Welcome to the software biz! As it turns out, it was for the best, as I landed a job at Interface Systems. They were doing some exciting stuff, something called eXtreme Programming, where they worked as pairs on a single computer! And unit testing! UNIT TESTING! As soon as it was introduced to me, it clicked! I got it, and it stuck. Unit testing - how in the heck had we been writing software BEFORE unit testing! And acceptance testing! And user stories!

I was able to work with Rich Sheridan, James Goebel, and a ton of other awesome people I’d not have had the opportunity to work with normally, me not having a degree, and only a few years of experience. But the stars aligned, and I was given an amazing opportunity, and I soaked up everything I could from everyone there.

Some company from California bought us, said they weren’t going to lay people off or close the doors - so, naturally, that’s exactly what happened. Which, again, was painful, but perhaps necessary, as we then spread throughout the programming community. Menlo Innovations came into being, at least one of us headed off to Google, and the rest of us landed at a variety of other places.

9-11

I ended up at a local start-up - and then 9/11 happened. I wanted to drop everything and rush to New York, to help out, to do something - but I couldn’t. Not only did I have a wife and child to care for, but, really, what could I do except get in the way?

A few months later that company lost funding, and was absorbed by the University of Michigan health care system. And then I found out one of my former Interface colleagues was working on a software project to make DNA identification of the 9/11 victims faster and more accurate. I contacted him immediately and got an interview, and within a few weeks went to work on the Mass Fatality Identification System (M-FISys).

I was able to use my skills, my knowledge, my passion, and make a difference like I had never felt I had before. It was amazing! We eventually expanded to not just analyzing and combining multiple types of DNA matching, reducing what used to take 4 weeks to seconds, but eventually expanding the functionality to be used to id victims in mass graves, and help combat child trafficking.

All good things

I blinked, and more than 9 years had passed. And then the project lost funding, and I was pounding the pavement again, looking for a job. And, perhaps worse, knowing I’d not find another job that would be as inherently rewarding as the work on M-FISys was.

In between gigs I’d spend a few weeks back at Menlo, recharging my batteries, reconnecting with the people there. But never for as long as I would’ve liked, still needing to pay bills and feed mouths.

A brief stint on a contract at University of Michigan, back at Menlo for bit, another temporary foray back at Gene Codes Forensics to do some cleanup and knowledge transfer on M-FISys, and then, after a host of what seemed like ok interviews that turned into rejections, I landed at ProQuest. That was an introduction to Scrum, randomly and rarely pairing, back to doing code reviews, writing unit tests, attempting to bring some of my old eXtreme Programming ideas in, with some success, but mostly met with resistance and a strick adherence to “the Scrum way.”

Agile & Beyond

And then, Agile and Beyond 2016 happened. A part of me that I hadn’t realized was dormant awoke. I reconnected with people I hadn’t seen in years, met new people who shared some of my background, and some of my ideas about pairing and testing, some of my passion. I was energized by some of the talks I attended, including a great session with Tim Ottinger. And then I went to a talk by Joshua Kerievsky about Modern Agile. I had heard some buzz beforehand, and was intrigued, especially after Tim’s session.

The longer the Modern Agile presentation went on, the more I wanted to shout “YES! HE GETS IT! THIS IS WHAT I’VE BEEN TRYING TO SAY BUT DIDN’T KNOW HOW TO SAY IT, OR WHAT TO SAY, BUT THAT’S IT!!!” Much like when I first pair programmed, or wrote my first unit test and things clicked, that flame roared to life. I knew I wanted to work with Industrial Logic. That I HAD to work with them! The question was, how do I make that happen?

Attending another session with Tim, a panel for which one of the panelist hadn’t shown up, I took a chance. I put myself out there, not quite knowing what I was doing, but only knowing that I needed to do something, I offered myself up to be on the panel. Some of the people I had heard of, others I had not. But it was an amazing experience, and afterward, talking with Tim, I discovered (or maybe rediscovered) that Bill Wake worked with IL. Bill Wake…who for a time worked as a coach at Gene Codes. Bill Wake - someone I knew!

Josh

So I furiously texted Bill, asking who I needed to talk to, that I wanted to work with these awesome people. He said to talk to Josh, and that Tim could probably help with that. I didn’t connect the dots until later. For now, I hung out doggedly with Tim, waiting to find this Josh person, whoever that was, and getting ready to plead my case.

It wasn’t until later, when Tim finally pointed out Josh and did a quick introduction, that I about threw up - it was THAT Josh!

Yeah…I’m smart (sometimes anyway). I hadn’t, for whatever reason, put Josh “someone I should talk to” and Joshua Kerievsky of the Modern Agile talk together. Yeah . . .

So we talked! I told him my story, heard more of his, and after talking with him I wanted even more to work with him. Had to!

Have you ever met someone for the first time, and find yourself not wanting to end the conversation? Feeling like you’ve known each other for years, and wanting to cram as much catching up as possible in the brief time you have to talk?

That’s happened to me several times now (I’m looking at you, Amitai!). And it’s always amazing - and slightly terrifying to that insecure, introverted, socially awkward echo of me that still hangs around. Less so the more it happens. Because those people are awesome.

Coaching

Fast forward several months, and that chance taken paid off. I was working, as a Player/Coach, with the IL folks! Fantastic people like Wyatt Sutherland, Dillon T. Kearns, Geepaw, crebma, Nayan, Brett. Of course, as soon as I started, I realized I had so much to learn, so much more growing to do, so much more learning to do. But, with these people, I know I’m safe, I can experiment, I can express myself, I can listen, learn, and be heard, and accepted, for who and what I am. And it is amazing beyond words. And it pushes me to be more - to do more - to realize more - to help others more - to give back more - to strive for more.

And then

Which brings me to the start of this - talk, discussion, insane rambling. Once again, Agile and Beyond has fanned that flame, and I can feel that potential, that brush fire that’s about to race across the landscape, clearing out the old dead vegetation to make way for fertile new growth. Or something like that.

I’ve always had ideas, as everyone does, and usually I’ll tell someone about it, and then see an ad or read about it a few months later. But this - this is something I don’t feel that someone else is just going to do. Maybe - I mean, I’m some nobody, right? The point is to get some people who can do something about it to start talking about it. To get some momentum going, get the ball rolling, get things moving. Be a catalyst for change, to help get this fire ignited in me to kindle in others.

So, to that end . . . this site.

Next steps

I’ll replace this simple github pages site with something purpose built, which will also allow me to play with some technologies and tools while having a secondary goal of having a nicer site.