March 18

About Karen

About Karen Freeman-Smith

I’m currently a student at Epicodus. I’m in the Java/Android track and exited about learning mobile development so I can make apps for my phone!

Before Epicodus I was driving a truck (long-haul, semi, tractor-trailer, yes – all over the US). Before driving a truck I was a Sr./Lead Programmer with Lockheed Martin. So I’m not exactly a beginner, but it’s been a long time since I was writing software for a living as well. After comparing several bootcamps in the Portland area, I decided Epicodus offered the best curriculum and training techniques to bring my skills back up-to-date.

This blog is about my journey back from trucking into IT. It starts with my efforts to follow the Epicodus curriculum online and then my time in the classroom going through the bootcamp. It has been a good tool for me during the course to sit and reflect on what I’m learning every week or two.  I think that it may prove to be useful once I’m employed as well. (Or I may find a way to make it more technical… time will tell.)

About Epicodus:

I was looking for bootcamps more for my boyfriend than myself, but when I saw what Epicodus had to offer it inspired me to make a career change sooner rather than later. Some of the things I noticed were the pair programming, version control and test driven development. Instead of just reading about it in a class near the end, Epicodus was having their students practice integrating these things into their daily work. That was the biggest draw for me. Since I’d been in IT previously, I knew about these ideas as “best practices” but in practice I experienced more of the “if we had time we would try testing” way of approaching projects. The biggest reason I chose Epicodus was for the chance to “get my hands dirty” and put these best practices to work, everyday, right from the beginning, on every project.

Our classes are 5 weeks long. For 4 weeks we are in learning mode. We spend 4 days a week working on projects and learning the material with a partner. The room holds over 150 student who are all programming in pairs. It’s busy and noisy. There are instructors who can offer help, but often the answers are just a few chairs down with a fellow student and there is a lot of interaction between different pairs to solve the problems that come up. (And of course, there are instructors available to ask as well.) The final half hour of the day we have a “peer code review” during which we wander around the room and see what everyone else created. It’s one of the best parts of the day – like a mini trade show each afternoon, as well as a chance to see what advanced features other people may have thrown into the mix.

On Fridays we work alone, half the students bring their laptops from home. We spread out from the classroom into the lounge and the kitchen. Our normally noisy workspace gets as quiet as a library as we each demonstrate our ability to use that week’s information to build a brand new project from scratch. The project requirements aren’t released until Thursday night and there is usually some excitement to learn what the project will be about.

We have to “pass” the individual projects in order to move on. If we don’t pass them on the first try, there is a chance to get caught up by resubmitting it. If someone can’t get the project working in time (or more likely, they just fall behind on the current work while they are trying to get last week’s project working) they may end up leaving the program. A lot of the students who leave are coming back in the next class and tend to do much better the second time around. I get the feeling that Epicodus really wants everyone to succeed in the end, even if it means repeating a course.

From what I’ve heard at meetups and from our lunch speakers, the tech community in Portland has a good impression of the Epicodus graduate. And from what I see in the classroom, they should. Everyone is picking up the material we are presented with and it’s amazing to see people who were scratching their heads over HTML the first week discussing APIs and the relative merits of various JavaScript frameworks today.

Some Background Info:

My boy genius at 4 years old, too young for kindergarten...but already reading chapter books.
My boy genius at 4 years old, too young for kindergarten…but already reading chapter books.

How does a computer programmer end up driving a truck? I know, it’s a big change…

In 2004 I was a “Sr. Scientific Systems Analyst” for Lockheed Martin. They rebid the contract I was working on and lost. During the unemployment that followed that layoff I began homeschooling my son.

It was good for him and good for me. But as a single parent, how do you work full time and home school your kid?

For us the answer was trucking.

A handful of companies allow young children as passengers on their trucks. It was a way I could earn a living…and be with my kid all day.

We listened to audio books on history and science while traveling across the country. And Johnathan would read to me every day as well. We talked about the things we read, and he did worksheets for math and grammar.

He excelled in every subject except penmanship…because who can write neatly while bouncing down the highway in a big truck?

Today my son is halfway through high school and doing great (getting nearly all As and even some college credits for several of his classes). And the best part is that I have a great relationship with my teen-aged son. I’m very proud of what he’s accomplishing and we have an incredible open communication that I see missing in a lot of parent-teen relationships. Sometimes I am tempted to think that I wasted 10 years of my life driving a truck, but when  I look at my son and where we are today and remind myself that probably would not have happened if we had taken the “normal” path of daycare and 60 hour workweeks that we started on.