Freelancing For Your First Dev Job

So you’ve graduated from a bootcamp, or are fresh out of school, and looking for your first gig as a developer, what do you do?  Besides all of the applying, interviewing, emailing, networking, coding, portfolioing, there’s one other piece of advice you might hear, and that’s to try freelancing.

Freelance Definition

Considering the fact that experience is probably the biggest thing holding you back from getting that job, what better way is there to get it?  No matter how small the project, if you’re getting paid for it, that counts as PROFESSIONAL EXPERIENCE!!  If it’s an entire site that you design & build for someone, guess what, you just made something to add to your portfolio.

Here’s the thing about it, you could build an amazing complex project, showing off mad skillz doing things that’s beyond any expectations for a Jr. dev, but it’ll still pale in comparison to a simple static website that you were paid for and is live on the web.  Don’t get me wrong, you need your own projects, but in all of my interviews, those projects have never counted for anything when it comes to my actual skills.  The reason you need them though is because when they did come up in interviews, it was because ‘having personal projects shows your passion for coding’, and sometimes showing ‘passion’ is what puts you over the top.

So how do you find these freelance gigs?  You can try sites like Upwork, Fiverr, or even Craigslist.  Find out if there’s a local dev Slack Channel.  In my neck of the woods there’s DFWDevs. where 2 of the sub-channels are for gigs and 1099 work.  The absolute easiest way is to ask friends and family members if they have any need.  Maybe you know someone that has a small business, even if you do it at no charge for your brother’s wood-working shop that he runs out of his garage, you don’t have to tell anyone that, as long as it’s an actual business and the site is live, it doesn’t matter.

Or you just get lucky and actually have someone find you.  Although it’s not really all luck, you have to put yourself out there and get an online presence.  Through this blog and keeping my LinkedIn profile updated, I received a message from someone needing help on their site.  After speaking on the phone and then meeting, I signed an NDA (Non-Disclosure Agreement), and had my first real freelance gig.

This wasn’t just to build a simple site, but to update and maintain an existing site, on an ongoing, as-needed basis.  The site was built in WordPress, something I hadn’t developed in yet.  Yes, this blog sits atop WordPress, but I haven’t really dug into much code.  Still, I know PHP, so how tough could this be?

Well, coming from a clean, organized MVC world, WordPress was, “messy” to say the least, and not something I could easily reverse-engineer.  I ended up having to find a course on Udemy to help me learn actual WordPress development.  To make matters worse, this site was HEAVILY customized by the original creators.  So much so, that I soon learned another professional consultancy firm was brought in to work on the site and declined, stating that ‘only the people who developed it could do whats required’.  They recommended tearing it down and starting over.  And here I am, not even knowing WordPress, trying to fix things on my own.

Inner Site

At one point, I was just about ready to throw in the towel, but the people I was working for convinced me to stay on.  It was honestly an amazing feeling having someone say they like you and have your back like that, they were absolutely awesome.  Being a one-person dev team there was one downside, I ended up being their ‘Computer Guy’.  I found myself not just trying to fix and update the site, but also backing it up, handle hosting issues, working on SEO, Google Analytics, crawl errors, and at one point, after an email hack, had to become a cybersecurity expert in a matter of days.  Now, I love learning new things, but I was being stretched in just about every direction here.

This company really was awesome though, and I loved working with them, but I found myself putting in way more time than what I was getting paid for.  There really weren’t any expectations set and I didn’t really know how to deal with pay.

That’s probably one of the hardest parts of freelancing, especially for someone new.  How do you charge for your time?  Being new, you’re probably taking more time to accomplish some task than a more experienced developer would.  Of course you’re probably also working at a much lower pay rate to make up for that.  Plus you’ll most likely have to take time to learn new things.  Who pays for that?  For example, I had to take time out to learn WordPress development, SEO, Google Analytics, Google Search Console, cPanel, email security (DMARC, SPF, DKIM), among other things.

I think to be a good freelancer you need to be confident, not just in your skills but in yourself overall.  You also have to be assertive.  This can be tough for some people.  If you’re the type of person who would have trouble asking a boss for a raise, or time off, then you’re probably going to have a tough time freelancing.

You want to be fair, but you also don’t want to be taken advantage of.  That’s my problem, I try to always do the right thing and what’s fair.  The definition of which can vary greatly.  It’s why I’ve always been so great at customer service.  I’m an empathizer.  Everything I do, I try to put myself in the other person’s shoes.  I think to myself, ‘What would I expect if I was the one paying a freelancer’, ‘What would I think if I was the other person listening to me’.

Take photography for example.  Recently, I had family pictures taken.  I had to pay the photographer a Session Fee for taking the pictures.  And that’s ALL that it includes.  Want prints, it costs extra.  Want the digital files themselves, it costs extra.  Want professional touching up, it costs extra.  All of that makes sense to me, I mean, you can’t just give things away for free that cost you money.  But I do take issue with the digital files.  If I was a photographer (and at one time in my life I started to get into it), I would charge the Session fee, and yes, charge extra for prints, touching up and other services, but when it comes to the digital files, I would honestly just give ALL of them to the client as part of the Session fee.  I mean, what am I going to do with pictures of a strange family on my computer?  Why should I keep those hidden away from the people who it would actually mean something to?  You’re paying me to take your pictures for you of you, not to take pictures of you for me.  That just doesn’t seem right.

Anyway, sorry for the photography rant.  Back on topic, so this was my problem, how many hours should I charge the client?  I kept track of the time I spent, and I tried to be fair and do the right thing, but in the end I averaged putting in at least 3 times the hours that I actually charged for.  Yeah, I suck at freelancing.

Most of it was my fault.  I didn’t have any freelance experience in this field before and was naive.  I also failed to make sure we had all expectations fully drawn out in the very beginning.  These are questions you need to have answered before you start any gig.  How often do I submit my hours for payment?  What are your expectations, in DETAIL (not just some vague statement like ‘whatever we need at the time’)?  What responsibilities are mine?  Do I get paid for time I need to learn something, especially if it’s for an area that wasn’t originally agreed upon in my responsibilities?

You also need to make sure to be completely upfront and honest about yourself and your skills.  If something new is asked of you, don’t just say “ok, I’ll git ‘er done”.  Discuss it further and break it down.  Be up front if you don’t have the knowledge to do it.  If you need to take a quick course to familiarize yourself with a topic, bring that up right away and come to an agreement.

Of course, you may not get an ongoing gig like I had, most likely you’ll find one-shot deals, as in, build me this site and be done with it.  In which case, you’ll want to just charge a one-time fee for the job.  Maybe get paid a percentage up front and the remainder upon completion.  How much should you charge? Who designs it? What if the client wants to add a complicated feature half-way through or scraps something you already did?  Some good questions, but unfortunately,  I don’t really have the answers since I haven’t done any of these ‘one and done’ freelance gigs.

 

Are you pumped up and ready to go out freelancing now?  Yeah, I probably didn’t help much.  I mostly just wanted to share my own experience, from which there are several lessons to be taken.  My best piece of advice though if you want to try freelancing, reach out to the community!  Talk to someone who’s done it successfully.  Get on your local dev slack channel.  Don’t be afraid to ask questions.  It’s no different than when you first start coding.  The dev community is awesome in this regard.  Just as many coders are willing to help with code, freelancing coders are just as happy and willing to help with that, and you’d be surprised how many have started out that way.

As for me, my freelancing career is over for now, other than a simple site that I want to build for a close friend of mine.  I’m currently working for an awesome company….remotely!  And yes, you can definitely expect a post about what it’s like working remote in the near future.

My Moment of Desperation

It’s been no secret that I’ve been struggling trying to find work.  Recently things started getting bad.  Personal issues, health issues, financial issues, pest issues (don’t ask), just issues.  I wasn’t ready to give up, but I was ready to do what I had to and put coding on the side.  I needed benefits, I needed money, I needed to start being able to support my family again.

So I stopped looking at developer jobs and started looking at where I could start working right away and get benefits.  I thought about going back to a collision shop, but that job would require 60 hours a week.  I thought about ways to possibly get back to Detroit, so that I could go work in a factory again, where I could just go in, do my 8 hours and get out.  Dallas is just too white collar and doesn’t even come close with manufacturing, but it does have an Amazon distribution center.  Turns out that Amazon offers benefits on DAY ONE.

I was about to apply to work at Amazon, not as a developer, but a warehouse worker making $12.00 an hour.  I’d at least have somewhat of an in at Amazon to move into development and most importantly, my family would have benefits, because right now, we’re one of the millions of un-insured Americans.

My plan was to just keep coding whenever I had time and continue working on my projects and side jobs.  Figuring that eventually I would flesh out my projects so much that there was no doubt whatsoever about what I could do.

I needed to try at least one last thing before I took that route though.  I’ve been on LinkedIn for some time slowly making connections.  I’ve heard of the power of LinkedIn and figured if there was ever a time to try, this was it.  So I wrote my final plea (see above image).

It wasn’t easy writing that, and I used every last character of the 1300 that LinkedIn allows on its posts.  I debated, hesitated, and almost didn’t hit that “POST” button, but I did.  Even though I figured it would only get a few dozen views at best, I had nothing to lose.  And there it was, out there for the world to see now, and I felt horrible.  I sat back in my chair, and broke down.  I tried to change my stars and fell flat on my face.  I failed myself, my family, and all those who’ve supported me.  Seeing it in print and announcing it to the world made it all real, and final.

But it wasn’t final, and the post got a little bit more than just a few dozen views.  It was gaining traction.  People from all over the country, complete strangers, were coming out to help me.  I tried to keep up and reply to everyone, but the response was overwhelming, and humbling.

People were sharing my post, asking for my resume, sharing my resume, commenting, liking, messaging me, calling me.  People on LinkedIn were calling out the city of Dallas to get me hired!

One person wrote a personal email to me.  A long, well thought out, and extremely helpful email.  An email that probably took at least an hour to write.  Written by someone I’ve never met, someone who’s successful and whose time is more valuable than I could ever dream of making in an hour.

Another person called me and spoke to me for at least a half an hour.  Spoke to me about ways he could help me, things I could do to get ahead.  This wasn’t a recruiter trying to place me, there was absolutely nothing in it for him at all, yet he offered to help me in several ways.  He even followed up with me several times and ended up getting me a couple leads through his connections.

A developer at a company I applied for contacted me, and later that evening spoke with me for almost an hour about different ways I could possibly work my way in to that company.  Again, a complete stranger, not a recruiter, not even a manager, just a developer on a team in a city 300 miles away from me.

I could keep going on and on.  Like one person commented, ‘People are overall pretty “good” and eager to help’.  Not just complete strangers, but strangers who I’m sure have different views, beliefs, etc., but none of that mattered.  I won’t get all political or anything here, but just when you think people no longer care about anyone but themselves, when everyone is so divided, they come out and surprise you.

And so the week went on.  I was getting phone interviews, screenings, taking assessments, coding challenges, meeting people, going to interviews, and was looking to have a very busy week this week.

But there was one person who contacted me and spoke with me on the phone late last week.  A person whose company was looking for developers.  A person who looked beyond degrees, beyond experience, and looked at what type of person someone is and what they’re capable of.

On Sunday, August 27th, I received an official offer from that person.  An offer for a position that just felt like it was meant to be, and on Monday, August 28th, I officially started working.

I’m not sure how he found my post.  I don’t think he was even within my 3rd degree of connections.  Someone shared or liked my post, that someone’s connection saw it, did the same, their connection saw it, maybe commented, another of their connections saw it, possibly shared it, and on and on for who knows how many connections, until it ended up on an electronic screen in front of a man in Florida who just changed my life.

I need to also talk about all the military veterans out there.  For a long time I didn’t consider myself a veteran.  I didn’t retire from the military, I’m not a protected veteran, I didn’t see combat, I didn’t even leave American soil, but I did serve honorably.  That was enough for those I consider the true veterans, as they came out in droves to look out for me.  2 of the stories above were veterans.  And the company I now work for is also a Veteran Owned Business.

So how much traction did that post get?  I took a snapshot of the numbers right after I received my offer.  After 5 days it got 45,660 views (and just passed 60,000 as I write this), which to me is basically viral.  61 people reshared the post.  I went from only 79 views of my LinkedIn profile in the past 90 days to 1,337 with a 9600% increase from the week before.  My connections grew from around 380 to finally surpassing the 500 mark.

To put that in perspective, this blog that you’re reading right now has only been viewed 6,142 times, ever! In just 5 days that one post got 39,518 more views than my entire blog has received since it went live exactly 19 MONTHS ago!

An interesting view into who was looking at my post

Finally I just want to express my deep gratitude to everyone on LinkedIn.  My life just took a drastic turn for the better because of ALL of you.  To everyone that took time out of your day to help me, everyone that set me up with interviews, everyone that looked at my resume, everyone that messaged me, everyone that shared, liked, or commented on my post. THANK YOU!!!!!  I hope to never have to seek help like this again.  And will do whatever I can to repay all the kindness shown to me and hope that maybe I can be the one offering my help to someone next time.

Am I Bitter About My Coding Bootcamp Experience?

And more specifically, Coding Dojo?

A reader messaged me last night stating how it seems my time at Coding Dojo wasn’t too ideal since I have yet to land a permanent, full-time DEV job.  And that I don’t seem bitter about it or expressed any regrets.  His main question … Why not?

That question hit me in a weird way, and made me stop and do some introspection.  It wasn’t something I could answer in a quick reply to an email, it deserved a deeper explanation, and I have a feeling others might possibly be wondering the same thing, so here I am.

The timing of it couldn’t be more perfect, since today is my birthday.  And on this day I turn the big 4-0.  Should I be bitter?  Maybe. Probably? Let’s take a quick snapshot.  Behind this computer screen, in front of my covered up camera, sits a 40 year old unemployed father and husband.  Let me tell you, writing that last bit out and seeing it hurts, and not just for myself, but for those who depend on me, and that’s what cuts deepest.  Even so, I’m not bitter towards Coding Dojo.  Besides, things could always be worse. #notDead!

But why not? That’s the real question.  Let’s talk about Coding Dojo first.  Yes, they advertise things like 94% job placement rate and $76k+ starting salary, but what do those numbers even mean? Where do they come from?  I never for one second put any stock in those numbers.  Just like I don’t believe all those weight loss pills that show a person going from Chris Farley to The Rock in 12 weeks. I mean $76k AVERAGE! I realize most of their locations are on the west coast where cost of living is insane, so that probably is a legit number in the land where you can make a 6 figure salary, and still barely be able to afford a small apartment with 5 roommates.  But Dallas? Not a chance, not even close.  Majority entry level positions I see around this area start around $55-60k.  Not to say $76k isn’t possible, I know at least 2 people who graduated Coding Dojo and started out right at that number here in Dallas (one of whom I actually helped teach!).

I never cared about those numbers.  Don’t forget, I’m 40! I’ve had a lot of experience with programs touting all sorts of numbers, I mean hey, who hasn’t at least tried one … or two … of those too good to be true get rich quick schemes or some magic pill!

What I did care about was what Coding Dojo offered, not the numbers, but the actual product they sell…education.  Because one of the reasons I got into this field is because you can make it based on what you can do.  I didn’t expect Coding Dojo to make the projects for me that would land me that dream job, but I did expect Coding Dojo to help teach me the skills I need to build those projects myself.  And in this regard they met or exceeded all expectations.

They really do have, in my humble opinion, one of the best curriculums for new coders out there.  So I can definitively answer one part of the original question right now.  I positively, absolutely, have ZERO regrets about going to Coding Dojo.  There’s no way I could have learned what I did in the amount of time I did had I not gone. I truly believe I’m at least 1 years worth of experience further along right now than I would have been without that education.

Now, do I have things I could be bitter about? Absolutely.  I mean the career services were pretty much nonexistent when I graduated over a year ago.  Although technically, I did actually fall into their job placement rate, since 2 and a half months after graduating I was hired on at Coding Dojo as an Apprentice Bootcamp Leader (ABL).  And yes, that was a full-time with benefits position, although it fell FAR short of that $76k!

If there were any bitterness, this would be it.  I thought I was doing great, I was supposed to move up the chain and become a full instructor, and I was getting awesome feedback from the students.  But then Seattle happened, and the people at the top made a bunch of cuts, letting me finish out what was originally a 6 month deal anyway in March.  Although I didn’t go down quietly!  Thanks to my last cohort who all fought for me and even sent personal messages to the CEO/Founder trying to convince him to keep me on.

I haven’t admitted this before, but yeah, I do feel slightly burnt by that one.  But not bitter.

So why not?  Let’s finally answer that one.  Because this is MY life.  I make my own decisions and I’m where I am today because of the choices I’ve made.  I can’t control everything that happens to me, but I can control what I do, and how I respond to those things.  I could make all sorts of excuses, or blame others, but in the end, I’m responsible for myself.  My successes are my own, as well as my failures.  Coding Dojo never promised me anything, nor did they ever say it was going to be easy.

Even in regards to when I was let go as an ABL.  Yes, the students fought for me, yes I was getting great feedback, yes I was told there was a place for me to move up.  But in the end, I was essentially laid off because I failed myself.  I didn’t make myself invaluable enough to keep me off the chopping blocks.

It’s something I’ve always done in every other job I’ve worked.   I never worried about layoffs, because I excelled at what I did to the point that letting me go would never be an option.  It’s why every place I’ve worked, they’ve fought for me not to leave.  It’s why some still contact me about going back.  And unfortunately, I didn’t do enough to get to that point with Coding Dojo, and that’s on me.

That wasn’t technically a dev job though, but still, it gave me way more experience than I had when I graduated.  It’s been 5 months since then.  Still no full-time job.  Still not bitter.  I don’t have the right to be bitter, I didn’t exactly pave an easy road for myself.

When I decided to get into coding, and more specifically, attend Coding Dojo, I knew I had a tough road ahead.  I’m older, I don’t have a college degree, I have responsibilities, I had no experience, and I knew there was a stigma about coding bootcamps.

We can have the whole college degree debate all day long, but the fact is, it’s my fault I don’t have one.  And it’s definitely hurt me.  Its been coming up more often and whether its right or not, has instantly taken me out of the running on several positions.  You see, I did actually attend Central Michigan University, and I was lucky.  I had a father that worked hard his entire life and made sure I would be taken care of, and that I never had to worry about how to cover tuition.  But I was stupid.  I took my situation for granted and did more partying than studying.

I tried to fix it, but my GPA was so low after the first semester that even though I finally started to apply myself the second, it wasn’t enough to bring up my GPA high enough to avoid academic suspension. My fault. I did however take things more seriously, after which I made it onto the Dean’s List at my local community college, reapplied to CMU and was accepted back in …. and then didn’t go back.  Instead I ended up joining the Air Force.

That was probably one of the best things I ever did, but even while there I made one very crucial stupid mistake, I opted out of the GI Bill.  Why? Because I was young and dumb and thought I was going to take over the world.  I had all sorts of ideas for what I was going to do after the military and they all ended up with me making so much money I wouldn’t need to go back to school.

I handicapped myself.  Added another obstacle for myself to face, as if I didn’t have enough already.  During my search this year, I’ve blanked out during a tech interview, blew a coding challenge, got overconfident, but most importantly, I haven’t put in as much time as I need to.  Job searching is a full-time job in itself.  Add in that I also need to keep studying, keep fresh, work on projects, build my portfolio up, and it’s more like having 2 full-time jobs.

That’s all much easier to do when you’re single, and I’m not.  I still won’t use that as an excuse though.  I’ve known too many people with less time than me make it happen.  Looking back I can see all sorts of ways I wasted time, and I’m not talking about time I spent with my family, because what’s the point of all of this if you can’t spend time with those who matter most.

To sum it all up, No, I’m not bitter nor do I have any regrets.  I’m the one responsible for being an unemployed 40 year old, not Coding Dojo.  I’m the reason I don’t have a degree, not Coding Dojo.  And one other thing I haven’t mentioned, I LOVE CODING!  I didn’t get into this because of some  salary number touted by a coding bootcamp, I didn’t expect this to be a get-rich quick scheme.  I started playing around in code when I was looking for what to do with my life at the age of 38 and fell in love with it. So if there’s any regret at all, it’s that I didn’t start coding back in the 90’s.

 

Hold on, back it up …. I lied, I am bitter about something. I’m bitter about The Last F-in Ninja!  This #$%@! game and the Tandy SL1000 are what made me shun computers for well over a decade!  One day I’ll find these on eBay and get my revenge….

last ninja game
Go ahead, stand there all smug with your crappy little sword…I’ll find you one day and will pwn you!

The Career Fair

career fairWhen you’re a newer developer, you need to take whatever avenue is available in order to break into the industry.  Go to meetups, create a LinkedIn profile, sign up to Dice, Indeed, Glassdoor, etc., get an online presence (i.e. portfolio with projects, github), search companies online, talk to recruiters, submit applications, stay in contact with friends and former class/cohort-mates, and the list goes on and on.

It’s a loooooong hard road full of ups and downs, obstacles, flat tires, break-downs and a lot of work.  And I do mean a LOT of work!  There’s no miracle pill here.  Hell, if there was a pill, it would sound like one of those prescription commercials….

Are you sick of your job? Want to do something you’ll love? Need to make more money? Well then ask your doctor about the new Webdevexis**! Just take one a day and you can see results as soon as 12 weeks.  Just ask Dave.  “Hi, I’m Dave, after being on webdevexis for 3 months I had a stack of offers on the table and tripled my old salary! Now I’m living the life I’ve always imagined!”*. Not sure if Webdevexis is for you?†  Ask your doctor for a free sample.

* Results not typical and average time for effectiveness is approximately 6 months but may take longer depending on the individual. Results not guaranteed.
** Possible side effects may include drowsiness, staring into the abyss, insomnia, nervousness, weight loss, hallucinations (some patients have reported seeing the Matrix), nausea, blurred vision, ulcers, hair loss, high blood pressure, changes in behavior, irritability, schizophrenia, depression, and possibly a nervous breakdown.
† Webdevexis isn’t for everyone. Always consult your family and friends prior to taking Webdevexis.

Back to that list though.  If you were paying attention then you know I left one thing off – career fairs.

Last week I went to my first ever career fair.  Yup, I’m just about to turn 40 and have never been to one.  Of course I never needed to go to one, I’ve never had problems finding work before, no matter the economic climate. So through Dice, I learned of the Technology, Security Clearance & Cyber Security Career Fair that was going on August 2nd in Plano, Texas.  On the list of companies attending were Lockheed Martin, Raytheon – IIS, L3 Mission Integration, Southwest Airlines, GM Financial, and Options Clearing Corporation (OCC).

I couldn’t pass this one up.  It was focused on technology, which was nice since I know a lot of career fairs tend to have a very wide variety of what they’re looking for.  Plus these were companies I would want to work for, especially Lockheed Martin since when I was in the Air Force, I worked on the F-117 – a Lockheed Martin Skunkworks project.  Unfortunately the security clearance I had has LONG since expired, but I know I’m still ‘clearable’.

I knew going in I would be a huge underdog.  I feel that companies like these are out recruiting at the best universities looking for the best of the best, and here I am without a degree, although I did attend one of the top universities in the country for a short time.  Well, top meaning it was often ranked as one of the top party schools!  That probably didn’t help much in trying to get a degree.  Instead of finishing up though I decided to go into the military, which would be my one big positive going into this career fair.

I’m not really sure what I expected going in.  Thinking career fairs are mostly for college students though I thought I was going to be one of the older people there amongst a sea of young 20 year olds.  Boy was I wrong.  The crowd of people spanned all ages, and fairly evenly too.

Even though I didn’t know what to expect, it wasn’t anything at all like what I expected.  I know, that doesn’t make much sense, but of all the scenarios I imagined, what I walked into wasn’t like any of them.

The fair started at 11:00 am and I got there at 11:30.  The crowd of people was insane, with lines of people stretching from wall to wall.  I walked into a large rectangular room and it was completely filled up with people.  You couldn’t even tell which lines were for what.  You had to ask the people standing in line which company they THOUGHT they were in line for.  I emphasize ‘thought’ because there actually were people who had no idea what they were in line for.  Some people planned on seeing all the companies anyway so they just got into whichever line they walked up to.

drawing
My rendition of the setup and lines – somewhat to scale!

I went through quite a range of emotions during this time.  You couldn’t help but feeling like cattle, and I was just one person out of hundreds, thousands?, trying to stand out and get the attention of the recruiters to land a job.  To be honest, the entire thing felt dehumanizing.

How do you stand out? Here I was, fresh haircut, nice new business casual clothes, and I pretty much looked like everyone else there.  I am 6’2 though so I did at least stand taller than most! I know you normally shouldn’t be looking for work dressed all grungy, but in this crowd I think that might actually be a positive thing.  Thinking back those are the people I remember most.  If I was a recruiter and they had the skills to back them up, I would have a hard time forgetting about them, and personally, I don’t think someone should be ruled out of a job just because of how they dress anyway.

Speaking of the recruiters, I have no idea how they can do what they do.  In the span of 4 hours they had to talk to hundreds if not thousands of people and relive the ‘elevator pitch’ over and over and over again.  Me? I spoke to 6 (not including the few people I spoke to whom I was next to in line).  That’s a tough thought to get out of your head.  How am I going to make a big enough impression in a matter of a couple minutes that this recruiter will somehow remember me out of everyone they’ve spoken to?

Let’s do a breakdown of how it went.  The first company I went to was Lockheed Martin.  The person I spoke to was super nice and friendly.  Unfortunately both her and the other Lockheed recruiter were in the aeronautics division and didn’t have anything to do with software developers.  She made some notes on my resume though and said she would pass it on the the development team and would email me. That was about 3 minutes.

Next I went to L3, which for some reason had the shortest lines.  This was a complete failure.  There were 3 recruiters there and none of them dealt with developers either.  The recruiter I spoke to pretty much brushed me off and told me that they get a lot of hires from online applications so I should go online and find a suitable role and apply.  That was maybe 1 minute.

At this point I had been there for probably an hour and was considering calling it a day.  Hope was fading fast and the lines were still crazy.  I had nothing to lose though and you never know what might happen unless you try, so I stayed.

I decided to hit up Raytheon next, as that’s another company I’m familiar with and would love to work at.  They had the LONGEST line though.  So long that it spanned all the way across the room AND BACK! (see drawing above)  To pass the time there was a lot of eavesdropping and people watching.  When I was close to the recruiter tables I would try and listen to other people’s pitches.  I paid attention to how long a person might be talking to a recruiter.  I tried to play a guessing game at how well people did.  Most of these companies had some small giveaways – pens, cups, stress balls, etc., but no where near enough to give to everyone.  So I looked for who had a water bottle, a cup, thinking they did well.  And I did notice that when someone was talking to a recruiter for longer than usual, they almost always were given something, so I took that as a sign.

After what seemed like 2 hours I finally spoke to the Raytheon recruiter.  I had a rough start, but it actually went pretty good.  She was asking me questions and seemed interested.  The degree issue came up but I think I overcame that, plus she admitted that the military experience helps out a lot with that.  She didn’t have any roles locally for my skill set but there was a need for Python developers in Colorado.  She told me to follow up with her the following week and she would pass along my resume to that team.  And before I left….she pointed over to the table and told me to take anything I wanted.  So I grabbed a pen and said I would love to have a football rocket stress ball thing for my daughter.  It was a much needed small victory!

Raytheon Rocket

Next up was GM Financial.  For those who know me, you may be asking why?  I’m a die-hard Mopar guy.  I only drive Dodges and I live by the motto “Mopar or No Car”.  Growing up, GM and Ford were my sworn enemies, but hey, work is work and my family doesn’t give a crap about my car allegiances.  So I thought I would try and be funny, say something to stand out, even though I knew what I was thinking was stupid, and I shouldn’t have said it, but I did anyway.  “Hi, I’m Chris and I’m imported from Detroit”.  Yeah, I said it, and owned up to it right away.  For those who don’t know, “Imported from Detroit” was Chrysler’s tagline.  I got the weirdest look from her.  She took my resume though and said to look online for appropriate roles since yet again, neither recruiter handled developer positions.

After that debacle came Southwest Airlines.   This went better, but they were a Java shop.  She said they just opened up a position for a front-end UI  person and asked if the HTML, CSS and JavaScript on my resume was related to that.  Then told me the recruiter handling that position wasn’t there that day and I should go online and apply for it.

Finally was OCC.  It was basically a repeat of the others.  They’re expanding to a new location in the Dallas area and are going to be needing a bunch of tech people working with data and cloud computing.  But I would need to go online, find suitable roles and apply.  Although he did say to reference his name and email in the applications.

So that was it.  I walked out at 2:30, which meant it took me 3 full hours just to speak to 6 people for a total time of about 12 minutes.  With most of them telling me to just apply online.

This was my first, and in all likelihood, my last career fair.  I can’t see myself going to one of those again.  I still have to follow up with Raytheon, and I’m not forgetting about Lockheed Martin either.  In the meantime my job search continues…..

Some final tips for anyone planning on going to a career fair:

  • Make sure you have a tight resume.  The recruiters look at stacks of these and peruse through it really quick in front of you so you’ll want to make sure the high points stand out. And bring enough copies too.
  • Practice your elevator pitch!  This one can’t be stressed enough.  Be ready to talk.  The recruiters rarely started the conversation and if you didn’t have your pitch ready there would be some awkward silence as they wait for you to speak.  With all the people they’re seeing you have to sell them on you, not the other way around, so don’t expect them to guide you through the conversation.
  • Wear comfortable shoes!
  • If you’re near the recruiter tables, pay attention and listen in to what’s being said.  You could get some valuable intel that could help you with your own pitch.  This also includes paying attention to the recruiters body language and anything else that might clue you in to what impresses them, what doesn’t, and what they’re looking for.
  • Go ahead and talk to other people around you.  So what if they might be your competition, you never know who you might be talking to, or even who else is around listening.  You could gain a connection or at worst, pass the time if you’re in a long line.  By the way, I’ll admit I’m not very good at this part.
  • Stay positive!  This is tough if things aren’t going well and you’re just standing around for long periods of time, but when you walk up to that recruiter the last thing you want to do is come across as depressing or boring.

 

The Coding Challenge

I finally got what I’ve been asking for, an opportunity to bypass all the crap I’ve complained about, an opportunity to show a potential employer what I can actually do, an opportunity to show what I’m capable of, an opportunity that may not present itself again …. and I fucked it up.  Yeah, you know it’s serious when I use that kind of language.

First let’s go back to my last post, one I’m not exactly proud of, but this blog is about my journey, the good and the bad.  In that mess of negativity and whining, I mentioned one company I applied for whose CEO was quoted as saying that he only cares about what a person is capable of and not they’re background.

In that application I was given an assessment.  One of those aptitude tests that have absolutely nothing to do with programming followed by a personality test.  You know the one, where you’re asked things like “have you ever stolen something” and then asked that same question 5 more times but reworded to try and trip you up.  Well, I never made it past that. I know I KILLED the aptitude portion, which means there was something in my personality assessment they didn’t like.  Man, talk about feeling rejected.  It’s different when it’s personal like that.

So about a month ago I was at a local React meetup and met a person who was working with someone who filled in most of their senior and mid level developers and were about to start on filling in with juniors.  Fast forward almost 2 weeks and I got a call from this person.  He started to talk about the position and I recognized it right away.  He told me the company name and I smiled.  It was the same one I had already been rejected from because of the assessment tests.

I go on to tell him about it and he agreed that those assessments are a ‘crock of shit’ and that even the director at the company was opposed to it, but it was an HR thing.  Well, it just so happened that they figured out a work-around, and he needed people quick.  I’m getting pretty excited at this point, I already know what the company does and would love to be a part of it, and as a bigger bonus, their office is literally less than 2 miles from my home!  In so many ways this was the perfect role for me, and finally, the stars were starting to align!

All I needed to do was take their coding challenge, completely bypassing all the initial crap.  I even felt like the person I was speaking to was rooting for me.  He told me if I knocked it out of the park that I would be ‘golden’ and it would be a big ‘F U’ to that stupid assessment.  I can’t even begin to describe the level of excitement going across the phone.

I get the challenge e-mailed to me, and start digging in to it.  This is going to be fun, I get to finally prove myself, and dive into a topic I haven’t had a chance to before, cryptography!

The challenge provided 3 files, 2 of which were encrypted and a regular plain text file.  At a minimum, I had to write an algorithm that would decrypt the easier of the 2 encrypted files using the plain text file as a base.  As an added bonus, and to really impress, I would of had to also decrypt the harder version, and could create an API and/or a Single Page App (SPA).

So where do I begin? I had no clue, other than the Little Orphan Annie decoder pin from ‘A Christmas Story’ and having recently watched the movie ‘The Imitation Game’ about Alan Turing, I knew absolutely NOTHING about cryptography.  It’s always seemed an interesting field and from what I knew you could spend years trying to master it.

Not knowing anything, I go to a developers best friend, google. I start reading up on some basics of cryptography and really just barely scratch the surface with the different types of ciphers that can be used in a ‘simple substitution’ encryption.  Think ‘A Christmas Story’ here where you simply substitute a letter with another one.  The simple part is that the substitute letter never changes.

At this point I figure the easy encrypted version has to be one of these simpler substitutions.  Especially after looking at the text patterns I could just tell that these letters weren’t changing.

But how do I use the plain text?  The instructions said to use it as a base, but I had no clue what that meant, and didn’t find anything anywhere that talked about ‘using plain text as a base’.  I ended up assuming that the encrypted text was from some part of this plain portion (which was over 5 million characters long).  And since all the spacing, punctuation, and capitalization was preserved, I decided to try and find where the word letter count, spacing, punctuation, etc. matched between the two versions.  Once I found that, I started writing out the letter substitutions.  Things were coming together and I noticed a pattern, which I could instantly see matched a couple of the types of ciphers I read about earlier.

Once I knew the type of cipher used, I was able to write up an algorithm to find it on it’s own.  One requirement of the challenge was to not ‘brute force’ the solution as the cipher could change anytime.  While the algorithm I created could figure out the cipher no matter what the substitutions were, it did have to know what TYPE of cipher is used to work, and in this case one specific type.  So not technically brute force.  Plus I was explained ‘brute force’ meant not hardcoding the cipher as in ‘A’ is always ‘F’, ‘B’ is always ‘C’, etc., and my solution definitely wasn’t that.  The letters could have been substituted with anything and still worked.

With that part done, I decided to start on some sort of SPA.  I decided to write it up using the MEAN stack, leaving out the M since I didn’t need a database for anything.  So it’s all JavaScript built on Node.js with Express.js and Angular.  I was trying to make something that would hopefully impress so I used Angular 1.x since the majority of my experience is with that version.  I didn’t want to waste time trying to use something I had to learn at the same time.

During this time, I got a follow-up call from the person who got me this chance to see how I was coming along.  I had told him and he seemed excited about my progress.

I didn’t have any time limit but it was coming close to a week and I figured I had to get something turned in.  Of course I had a bunch of other things going on so I didn’t actually have all of that time to dedicate to this challenge.  I knew I wasn’t going to have my SPA where I wanted it in the time I allowed myself so I took on the harder encrypted challenge.

My algorithm wasn’t even close to working on this one, which I expected.  And unlike the easy version, whatever this translated to, it wasn’t going to be found within the plain text.  So now I had to rack my brain trying to figure out what to do.  I began searching google for other types of substitution ciphers (even though this was harder it still looked to me like a simple substitution), and stumbled upon a short article about frequency analysis.  Basically what this does is just use the most commonly found letters, words, etc. and starts substituting them.  Based on the odds, this could get you something to work with.

First I started with one letter words, which there are really only 2, ‘I’ and ‘A’.  I found all of the one letter occurrences and started my cipher.  These are actually easy to find because ‘I’ is always capitalized when used, versus ‘A’ which can be either.  This time, I was hard coding, a.k.a ‘brute forcing’, the cipher and using my previous decryption algorithm to start decrypting the text, leaving spaces for the letters I haven’t figured out yet.  Then I looked at 3-letter words, specifically ‘and’ and ‘the’, which are the most common of all of them. I already had the ‘a’ figured out so I could tell which one was which and added those letters to my cipher.  Decrypt again and things were looking good.  Next I looked for twin letters.  There’s not many of those either and ‘LL’ is the most common.  Added that to my cipher, decrypted, and things were starting to look up.  I started looking at other more common things, like after an apostrophe you normally see either a ‘t’ or ‘s’.  I already had the ‘t’ so the ‘s’ was easy to figure out.  Decrypt again and now it became a game of Wheel of Fortune.  Words were coming together and I was feeling just like young Ralphie, licking my lips with excitement and anticipation of figuring out the encryption.

Finally I figured it out, except there was a problem.  Looking at the cipher, there was absolutely no pattern at all to the substitutions.  Nothing to tell me what type of cipher was being used or how it was made.

My personal time limit was nearing an end.  The hard encryption was a bonus anyway so I said I had to brute force it but at least I figured it out on my own.  All the code was up on github and I told him he could submit it.  I was having a lot of fun with this though and told him that I would keep working on it anyway and would be updating github as I continued.

That was a couple weeks ago, and I haven’t heard anything since.  But I kept working on it.  I even got my SPA somewhat presentable and went ahead and deployed it live via AWS EC2.  As soon as I did that I called him up and left him a message to get an update and tell him about my new progress.  I emailed him as well and included the IP address.  That was about a week ago, again, still haven’t heard anything back.

At this point it’s safe to say what I had wasn’t good enough, this job just isn’t going to happen.  I had my chance, the one chance I’ve been begging for, and I blew it.  I didn’t crush this challenge like I believed I could.

I wasn’t lying though about enjoying this challenge, so I kept working on it, trying to figure out how to get a computer to figure out what I did on my own.  Then one night, as I was half asleep, it hit me like a Mack Truck.  Using the plain text as a base didn’t mean it contained the encrypted message (even though it actually did for the easy version).  It was all about the ‘frequency analysis’ I did myself, and what I should have done, is created an algorithm to parse through the plain text and determine the frequency of letters, words, patterns, etc.  Then using those frequencies, have the computer figure out what to start replacing the same way I did.  Then it was a matter of getting the computer to play ‘Wheel of Fortune’ to fill in the gaps.

And now we come to today.  I’m currently working on getting the algorithm to work.  I’m partially there, but it’s a bit ugly with a lot of conditionals.  For the ‘Wheel of Fortune’ part, I plan to use a word or dictionary API to cross-reference the words.  One issue I know is going to come up is made up names, names that aren’t going to be like any word in a dictionary.  But one step at a time for now.

This challenge has turned into a full-blown project for me, one that is going to be on my portfolio.  I have a vision for it and once I make it a reality, it’s going to be impressive.  It might be too late for the original position I was vying for, but I’m going to make sure it helps me with the next.

Before I end this post, I have one last thing I want to say:

He okpe ms lpytw dskp Sjcvmyte!

In case you can’t figure it out, just go to the ‘decrypt your text’ section of my app and use the keyword ‘challenge’.  It’s still in its early stages of development so don’t expect anything too amazing….yet!

Cryptography and Ciphers

The search continues…

Wow has it been a long time since I last posted. Some of you may be wondering what’s been going on, especially after that crazy long ass post I wrote up for Gearbox Software. Well, I’m sitting in Downtown Dallas at the Dojo right now and not on Main Street in Frisco, and both the DevOps and Web Developer positions are no longer listed over at GearboxSoftware.com, so clearly that didn’t really go as planned.

I have no doubt the post was seen by people at Gearbox. To help make sure of it I even tagged the HR Recruiter and the CEO to the post through Twitter and LinkedIn as well as the company itself. I got some looks at my LinkedIn profile too, but whoever they were, it only showed up as ‘someone at Gearbox’ when I checked.

I will admit that between the post, the tagging, the messaging, trying to connect on LinkedIn and even working out of @Nerdvana Coffee + Shop on the first floor of the Gearbox building, it was probably starting to appear a bit ‘stalkerish’. I always knew I was going to be toeing that line, and tried not to cross it, but in trying to go out of the box that’s not always easy to do. I’m not giving up on it though. I’ll keep on coding, getting better and making my portfolio as badass as I can. Eventually, I won’t need to write long posts to help me get a spot on the team and my work will speak for itself.

So what else has been going on. Well, without the structure of the Dojo it’s been tough to stay focused. There’s still the problem of having sooooo much I want to do that I spend more time than I should just trying to figure out what should get my attention at the time. There is the opportunity I have with Coding Dojo though that I spoke about and that’s what I’m mostly working on right now. I won’t get into too much detail about that right now since it’s still in process and there are other things in the works as well.

We did get a chance to get some time in with Coding Dojo’s career services last month though. The Dallas location finally got a new career advisor on staff full-time here and they sent someone over for a week from the Burbank (Los Angeles) location. During that week we mostly went over giving a 15 second ‘elevator pitch’ about ourselves, worked on our resumes, improved our LinkedIn profiles, and role-played through some mock interview questions. Both the advisor from Burbank and our new advisor here in Dallas were awesome and I really wish we had them available when my cohort graduated. That’s probably been the biggest negative about my experience with the Dojo, but now with the new advisor here the newer cohorts are going to be in a much better position.

Finally, in other good news, I got a nice call from a Recruiter on Friday about a new client they have that may be interested in hiring a jr. PHP developer that’s not too far from me. The company is going to be holding interviews next week and she put me into a slot. I’ve looked up the company and have to say that I’m quite excited about it. If they really are looking for a Jr. I think I have an excellent chance once I get in front of someone. Plus it’s in a business that I know at least a little bit about.

Seems I should have a lot more to write about due to my long absence but it sums up quite nicely (and can even be done so just by the featured image on this post – bonus points for you if you recognize it!). Soon though I’ll be posting a lot more and I have some good topic ideas, especially for prospective coding bootcamp students, so stay tuned!

P.S. I almost forgot one other big thing, me and several other Dojo alum’s have decided to organize our own Hackathon here in Dallas. It’s still in the early stages but we’re planning for a November event geared towards first-timers and newbies. More details to come in the near future!

Why would Gearbox Software want me on their team?

I mean, I don’t have years of experience and I don’t even have a college degree, let alone one in CS. I’m still pretty new to the coding world and after reading this extremely long post you might think I’m a bit crazy.  I can be a bit of an introvert at times, but on the flip side I can get a bit too chatty once I’m comfortable somewhere.  What else? Well, I’m also a perfectionist.  Wait, shouldn’t that be a good thing?  Yes, and um, No.  When you’re working with things that are rarely, if ever, perfect, it can be a hindrance.

Woah, woah, woah, wasn’t this supposed to be about why Gearbox would WANT me on their team?  Absolutely, but we all have weaknesses, and I might as well get them out of the way up front.  Not to mention a couple of them stand out anyway, especially on my resume and application, so why not acknowledge them.

For those that have been following my blog, you know that I’ve been referring to a ‘company’ for a while now that I’ve been wanting to work at.  Gearbox Software is that company, and I officially applied a couple weeks ago.  I first applied for the DevOps position since the Web Developer  position that was open a few months ago had been taken down.  I may be a bit less qualified for DevOps, but don’t get me wrong, I would still rock that position, but then the Web Developer position opened back up a couple days after that.  Since that’s the spot I was originally targeting and the one I’d be a better fit in, I applied for that right away.

I also connected with a Gearbox HR Recruiter on LinkedIn and sent a message about my application.  So far I haven’t heard anything back, but with Battleborn having only been just released in May and all the new content being worked on, I’d imagine it’s pretty busy up there.  So here I am writing this post. In this age, people can apply for positions with a simple click of a button, meaning HR could easily get hundreds of resumes on their desks, and it’s easy to get lost in the mix.  This post is my attempt to get brought to the forefront.  The results could be good, they could be bad, or I might just make myself look stupid, but hey, what do I have to lose (other than maybe a little dignity)?

This post is for you, Gearbox, everyone part of the team there, and hopefully those with the power to give me a chance to prove myself.  For anyone else, there’s a TL;DR version at the very end of this post.

THE LISTING

Gearbox-web-dev-listing

OVERVIEW:

Everything described here is exactly what I’d love to do.  ‘Join Gearbox’ – , ‘develop Spark’ – , ‘cutting-edge’ – (who doesn’t want to work on cutting-edge stuff?), ‘agile team’ – , ‘build, test, and deploy’ – , ‘used by millions’ –  (bring on the pressure!), ‘Ruby’ – , ‘Rails’ – , ‘Grape, Sinatra, and Java’ – (I’m always wanting to learn new frameworks and languages).

Let’s talk about the Spark Infrastructure?  The slideshares are great, but I wished I could have seen the original presentations that go along with them.  So I did a little bit of digging and found a live recording of one of them. Being able to see and listen to it as it was originally intended made a huge difference, and all throughout it I could easily see myself as part of the team during the development, testing, and deployment.

igniting-spark-presentation-gdc

Unfortunately I couldn’t find a recording of the other set, but I did find that it was presented at a local cloud computing meetup (at Improving Enterprises too where I’ve been to for other meetups like Dallas Ruby Brigade).  Being signed up on SHiFT myself and having redeemed some Battleborn codes, it was great insight into the infrastructure behind it, how the client/server connection is secured, the scaling issues as well as the lessons learned (launch on a Tuesday, not Friday!).

I even found a couple other recordings from Gearbox and watched them, including ‘Borderlands and the 11th Hour Art Style Change with Mikey Neumann, Aaron Thibault, and Brian Martel’ (I may not know much about art but it was still a great presentation to watch and really interesting to see how everyone at Gearbox came together in the last minute to accomplish this feat) and ‘Plot is Dumb, Character is Cool: Writing for DLC by Anthony Burch’.

QUALIFICATIONS:

Significant experience developing highly scalable RESTful services.  Yes I do and I try to fully implement it in all of my current projects.  All throughout coding bootcamp I was always careful to stay RESTful in all of my assignment regardless of how simple it might have been.  I may have even gotten on some nerves of fellow cohort-mates, since whenever I was helping them or group/pair-programming, I kept harping on them to stay RESTful, stressing the importance of it.  Whether or not this can be considered ‘significant’ all depends on your definition of the term.

Sufficient knowledge of HTML, JavaScript, and CSS to build internal tools. Sufficient? Without a doubt. All of my projects are hand-coded by myself without the use of front-end frameworks like bootstrap or materialize (although I am familiar with those).  I do use jQuery quite a bit but being proficient in the MEAN stack means I’m also good with JavaScript.  In fact, just last month I took a timed JavaScript assessment test from an agency and scored at an ‘Advanced Proficiency Level’.  What does that mean?  Well, according to the assessment report:

javascript-assessment-proficiency

Familiarity with our technology stack (Linux, MySQL, Ruby most importantly).  The first stack I learned at coding bootcamp was LAMP.  I use Ubuntu as the AMI for my deployed projects through AWS and have also used the Amazon Linux AMI.  I spent a lot of time using and learning MySQL not only during the course of the bootcamp, but also by completing many of the challenges on SQLZoo.net.  Database queries were actually one of my favorite things to do (weird, I know) and came pretty easily to me.  I even enjoy writing them out myself, but I have also used both MySQL Workbench and phpMyAdmin.  I’ve become very proficient with table relationships including self-joins and understand concepts like polymorphic association (within Rails).  Most importantly though, is Ruby.  This was my third full stack I learned in bootcamp and it was almost scary how easily I started excelling at it.  I’m part of some Ruby Groups online and attend various Ruby meetups including Dallas Ruby Brigade whenever I can.  I’m also taking my Cobo Grād project (originally built on the MEAN stack) and redeveloping it using Ruby on Rails and implementing TDD.

Mission oriented and self driven.  When there’s a goal, a mission, that’s when I’m at my best.  I know what needs to be done and I’ll do whatever I need to in order to accomplish that mission.  That’s instilled even further from my time in the U.S. Air Force.  And if this post doesn’t show how mission-oriented I am I’m not sure what does.  Just in case though, here’s some extra info from va.gov:

mission-oriented-veteran

But am I self driven?  Without a doubt.  I’m driven to learn as much as I can, I’m driven to accomplish my goals, and I’m driven to always be the best that I can be, regardless if there’s some reward for it or not.  I think I’ll demonstrate this even more later on in this post.

Passion for delivering an outstanding customer experience.  If you could put this in terms of software engineers, I’d be at a Senior Fellow level.  I’ve been around customer service for most of my life.  I’ve worked in both retail and service industries and have always maintained top customer service.  Most recently, and currently, you can just take a look at my eBay store’s feedback:

ebay-feedback

For anyone that’s ever sold anything at all on eBay, you know how difficult it is to maintain a perfect feedback score with 5.0/5.0 DSRs.  That truly requires passion to accomplish.

Let’s take a step further back to when I worked as a claims/liability adjuster with Geico.  Here’s just a couple awards I received:

geico-claims-awards

For the A-call (top of pic), managers monitor your calls and rate the service you provide.  For the SPR (bottom of pic), you’re rated by the customers themselves with surveys that they receive.  These awards are only given to the top rated person in the entire region for that department.  Insurance adjusters already have a negative stereotype, so customers usually start off with a negative outlook, yet I always managed to turn it into a positive experience routinely earning perfect 10 survey results.  Talk about passion for customer experience!   This is one reason why, to this day, I still have body shop managers and insurance regional managers contacting me to see if I’d come back into the industry.

I could keep going all day with more examples of my passion for customer experience but I’d rather not turn this post into a book.

Excellent teamwork skills, flexibility, and ability to work in an agile environment.  While I’m great at working alone, and admit that there are times I like being off on my own, I’m also great at working with a team, especially when there’s a mission at hand.  In coding bootcamp we often worked on assignments in groups, did algorithms in teams, and pair-programmed.  Not only did I thrive in those situations, I was routinely asked by my cohort-mates to work in teams with them.  I demonstrated my teamwork skills with Geico as well and worked on several CAT (catastrophe) teams after major hail storms and Hurricane Ike.  It took a lot of teamwork, coordination, dedication, and long hours to help get thousands of customers lives back to normal.  In other previous jobs I’ve helped my team meet quotas, work through crises, and let’s not forget the ultimate team, being part of the United States military.

Another reason I was always an integral member of any team was my flexibility.  Managers, superiors, etc. always knew they could count on me when things needed to be done.  Obviously you have to be flexible when you’re in the Air Force so no need to go into much detail there.  I mentioned working on CAT teams before and there’s no better example than that.  Anyone living in North Texas knows how storms can practically come out of nowhere, yet I was always ready to take on the extra responsibilities or pack up and go wherever I was needed the next day.  Then there’s flexibility in my programming skills.  I’ve never been one to be set in my ways.  I’m always adaptable and if something were to change in the 11th hour, I’d be ready to go and do whatever it takes to accomplish the goal.

Ah, agile.  I freely admit that a couple months ago I didn’t truly know what that meant (at least when it came to software development), even though I kept hearing it everywhere.  So I went out and learned what I could taking courses on agile project management and building an agile team.  Not only do I see the value in it, I feel that’s already how I would want to approach a project anyway.  So while I may not have professional experience being on an agile team, I think I would absolutely thrive in that type of environment.

Bachelor’s degree in computer science, related field, or equivalent training and professional experience.  It’s in the qualifications so I can’t ignore it, and even brought it up at the very beginning of this post.  No, I don’t have a bachelor’s degree, although I did earn some college credits before joining the Air Force.  We already know about my lack of professional experience too.

Equivalent training though?  While at Coding Dojo alone, I’ve put in roughly 11oo hours of coding.  And that doesn’t include the time I’ve spent coding, learning, and working on projects since graduating, or the time spent beforehand.  Coding Dojo isn’t just some run of the mill coding bootcamp either.  Their curriculum is top-notch and they’ve even recently partnered up with Microsoft and are teaming up with colleges.  They also don’t just stop with the stacks, every day we were given algorithm challenges to complete in teams working with arrays, linked lists, binary search trees, queues, stacks, recursion, sorts, etc.

More importantly though is what I’m capable of.  Just in my short time coding, I’ve exceeded all expectations and graduated from Coding Dojo earning a Black Belt (Coding Dojo’s testing standard) in each stack with Perfect Scores.  That’s something that only a select few can claim (according to Coding Dojo only about 5-10% of students achieve multiple Black Belts, not factoring in perfect scores).  It’s not just about the number of years experience either.  Just like when Lyanna Mormont said “and every man from Bear Island fights with the strength of 10 mainlanders”, what I can become in just 1 year is worth what many others would take 10.  Wow, cocky much?  Nah, and honestly, if you knew me, you know my personality is the polar opposite.  It is confidence though.  Confidence in my abilities that I’ve proven over and over again throughout my life and that I’ll go into more detail shortly.

BONUS POINTS:

Real-world experience with Amazon Web Services.  I’ve deployed projects through AWS EC2 at least a dozen times now using Ruby on Rails, Node.js, and PHP.  Two of the projects are still up and running and are in my portfolio.  I’ve taken courses on AWS including an essential training course through Lynda.com where I launched multiple instances using ELB, RDS, and auto-scaling groups (much of which was discussed in the GDC presentation).  I’m also going to be taking another AWS pre-certification course and will be an AWS Certified Developer – Associate within the next few weeks.

Experience working on games or mobile app backends.  Doesn’t look like I’ll get any extra points here.  I am working on a basic Pac-Man game though using strictly javascript.  Just figured I’d mention that, you know, since something is better than nothing.

Full-stack experience including C, C++ Java.  Maybe not any of those 3, but I do have full-stack experience in LAMP, MEAN and Ruby on Rails!  I did learn some Java through a course on Udacity and would like to learn C and C++ one day.  Knowing 3 full-stacks and each having been easier to learn than the previous one I have no doubt I can pick up a new stack in no time at all.

THE BADASS

Who doesn’t want a top-performer, a badass, for their team?  That’s something I’ve been all throughout my working and learning life, in just about everything I’ve ever done, and everything I’ll continue to do.  Don’t believe me? Let’s take a look into the past.

To start, we’re going to go back 26 years!  I want to show a pattern here so may as well go back as far as I can, and maybe embarrass myself a bit in the process.

Detroit Free Press Carrier of the Month

That’s right, carrier of the month at only 12 years old!  That was in the Sunday paper on July 29, 1990.  No need to repeat what you can already read in the scan, but yeah, only 12 and already a badass!

Next,  let’s fast forward 8 years to when I was in the United States Air Force.  Throughout my military career, I learned exceptionally fast and received only excellent reviews.  Originally I went through training to become a crew chief on the F-16 Falcon.  During the 6 month training I continuously achieved perfect scores on the exams and evaluations (something I was told only 1 other person EVER accomplished).  Because of that, I was chosen to go work on the F-117 Stealth Nighthawk, and received this award recognizing me as the top graduate:

AETC Commander's Award

and thus becoming a member of the ……

Society of the Nighthawk

Training in the military never stops though, especially when working on something as advanced as a stealth fighter jet.  I was expected to continue taking Career Development Courses (CDC’s) and had to meet certain requirements within a certain amount of time.  Not only did I complete the course in a fraction of the time (3 months ahead of anyone else), but I also scored a 97%, earning recognition from the group commander and the base General.

CDC Top Score

It doesn’t stop there.  Not only did I keep earning excellent reviews, I was even recommended and put up for Below-The-Zone (BTZ) Promotion.  Only the best of the best are put up for this opportunity which can result in a promotion 6 months earlier than anyone else.  Here’s just some of the reviews I received as well as the recommendation I received for BTZ.

BTZ Recommendation

May 2000 Evaluation (front)

May 2000 Evaluation (Back)

Letter of Recommendation

And yes, I was Honorably discharged.

Moving on from the Air Force and moving back to Detroit, I landed in a job at 84 Lumber.  No images of accomplishments here, but I was still such an important and valuable member of the team, that when I left in 2003 to move to Texas, my manager tried everything he could to get me to stay, including more money, more power, and anything else he had the authority to do.

From what I know, the question, ‘are they re-hirable?’ is the most common one when checking with a potential hires previous employers.  You’ll find that answer is ‘Yes’ with everywhere I’ve ever been, and even have proof.  More than a year after moving to Texas I found myself needing a job, so I called up my old area manager with 84 Lumber, who said he would vouch for me with the area manager of the DFW locations.  He did just that, I was re-hired and again became an integral part of the team.

Let’s keep going with another drastic career change into a field I had ZERO experience in…insurance.  This is where Geico comes in. You already saw a couple of my early awards above from when I was working in the call center taking and handling customer claims.  I didn’t get any more of those because in just 9 months I was promoted to Auto Damage Adjuster.

The training for this position was 3 months long, with the first month being locally here at the Dallas Regional Office.  I bring this up because in the 2nd month, all trainees from all the regions go to the Washington D.C. area for what’s called Auto Damage Basic (a bootcamp style training course), at the end of which they recognize the Top 5 trainees.  I did so well during the first month my local instructor (who’s been training for several years) told me he thinks I could be his first ever trainee to come back in that Top 5.  I looked at him, smiled, and said “Top 5? I’ll be Top 1!”.  In that course we started with 28 trainees, 6 flunked out, and I came back #1 in the class.  When I say I’m a fast learning badass, I mean it.  Soon after completing all of the training there was an Auto Damage Conference.  Unbeknownst to me, (and not something that had been done before), my region had an award made up and the CEO of Geico himself presented me with this:

Geico Award

My badassness didn’t stop in training.  I was so good at what I did in the real world, that I was always being chosen to work catastrophe’s, pick up slack from others, train the new guys, or sent to low-performing direct repair shops to turn things around.  Body shop managers took notice too,  and I was constantly being offered positions to switch sides.  Eventually, I did.

The body shop I went to was in really bad shape as far as their performance as part of Progressive’s Concierge program.  In this program, customers take their vehicles directly to Progressive’s service center and Progressive doles out the work between the various shops in the program.  Shops that performed the best got the most work and the ones that performed the worst got the least. The shop that hired me was not only in the worst category, but was suspended from getting any new work.  That’s where I come in, not only did I turn the shop around, I consistently got it to the top of the rankings.

Even though I left that business in 2014, I left so much of an impression that just a few months ago I had the Regional Manager with Progressive call me to ask me if I’d be interested in a position with them and that he could really use my help.  And just the other week I had another body shop contact me to see if I’d come on board.

Then of course is Coding Dojo, where I dove head first into code, with almost no experience, and came out at the top.

No matter the industry, the skills needed, or the amount of experience I had, I’ve proven to be a top-performer everywhere I’ve been since I first started working at the age of 11.  That’s 27 years worth of proof and I’ll continue to add to it over the coming years, this time in the coding world where I plan to live the rest of my days.

THE REASON

So now we know why you would want to hire me, but I haven’t told you why I want to join Gearbox.  After all, you wouldn’t want to hire someone that doesn’t really want to be there.

First, I don’t want just a job.  I want to be somewhere that I can be part of a team.  A team that works for each other towards a common goal.  I don’t want to be somewhere that I just ‘do my time’ and leave as soon as the clock hits 5.  I want to be part of a team where I can contribute and not just be a number out of thousands of people.  I want to be on a team that will get together after a tough sprint and have a beer, or scotch, or ginger ale, you know, whatever you fancy.  Everything I’ve learned about the culture there in my research tells me I can find all of this there.  From watching the GDC presentations, reading reviews on glassdoor, and following Gearbox on social media, everything I see is what I want in the company and people that I work with.

I won’t lie, location has a little bit to do with it too.  With where I live, there isn’t anywhere else I could work that would be closer to me.  I already spend a LOT of time in Frisco, and my daughter is in a daycare pretty much down the street.  I go to the movies at the Cinemark that’s right there, go to the various activities like Arts in the Square and Frisco StrEATS, shop there (at least I did when I was employed, haha), eat, etc.  In fact, some of you may have already seen me, not just around town, but working in the same building!  Yup, that’s right, whenever I’m able to I’ve been working out of Nerdvana downstairs while enjoying the coffee with an almond croissant and the various toasts (especially the Ham & Gruyere, or the Caprese!).  I sometimes have a hard time starting up conversations with people (the introvert in me that I mentioned), so if you see me, come say Hi!

Of course there’s the video games!  If you look back up to the newspaper segment where I was carrier of the month I just want to point out where it says “likes to spend his spare time….playing video games”, don’t forget, that was back in 1990.

Yes, I love video games.  Why would you want someone that doesn’t working for you?  At a recent Ruby meetup I was talking to an industry veteran about Gearbox and he abruptly said “You don’t want to work there”.  Seeing the look on my face he continued on, “Let me rephrase that, Do you like video games?”.  I, of course, said yes.  He responded with something like, ‘Ok then, in that case it might be for you, if you aren’t into video games you would hate it’.

I grew up with games.  My first system was an Atari 2600 and from there I’ve owned a Sega Master System, Sega Genesis, Sega Dreamcast, Original Xbox, Xbox 360, and an Xbox One.  I always describe myself as loyal, and to a fault at times.  I was a Sega fanboy which is why you don’t see any Nintendo systems on that list.  My friends had those though so I still played some Mario Bros. back in the day, and of course there was all the Tecmo Bowl tournaments while I was at Central Michigan University.

It would be wrong of me to leave out Gearbox games.  I’m not going to say I’ve played every game Gearbox has ever made, because I haven’t, but I’ve played a few.  I did play some Brothers in Arms Hell’s Highway and then of course there’s Borderlands.  I remember playing it with my brother when it first came out.  I bought him an Xbox 360 as a Christmas gift and that was the game I bought to go with it.  I still think that may have been the best Christmas he ever had, and Borderlands helped bring us closer at the time.

Unfortunately, and I hate to admit this, I never was able to finish up the series.  However, I decided it was time to go back to Pandora and I’m currently dividing my game time between replaying the original Borderlands and Battleborn.  I also have the Handsome Collection for Xbox One ready to go as soon as I finish up the original.  I do owe you and everyone at Gearbox a big thanks though.  It’s not always easy fitting in some game time with a family, but since my wife is all for me working at Gearbox, I’ve just been able to say, “I’m doing research”, which means more game time for me! Oh Yeah!

THE ALGORITHM CHALLENGE

While doing some homework on Gearbox, I came across an interview question that asked to create a program that counts the nodes in a linked list.  Having plenty of algorithm challenge experience I figured it wouldn’t hurt to give you my answer.  This is written in Javascript so you can just copy & paste it into your browser console to run it. I also added it to my Github here.

function SLL(){
this.head = null;
}
function Node(val){
this.val = val;
this.next = null;
}
SLL.prototype.add_node = function add_node(val){
if(!this.head){
this.head = new Node(val);
}
else{
var current = this.head;
while(current.next){
current = current.next;
}
current.next = new Node(val);
}
}
SLL.prototype.get_count = function get_count(SLL){
var count = 0;
if(this.head == null){
console.log(count);
}
else{
var current = this.head;
while(current){
count++;
current = current.next;
}
console.log(count);
}
}

var test = new SLL;
test.add_node(2);
test.get_count(test);
test.add_node(4);
test.get_count(test);
test.add_node(6);
test.get_count(test);

THE EPILOGUE

So let’s sum this up.  You have a web developer position open.  I’m a web developer.  I may not have a lot of ‘years’ of experience under my belt, but what I offer is worth a LOT more than that.  Everyone is always talking about and looking for that elusive Rockstar developer.  I’m your chance to get in on the ground floor with one.  I may not be that Rockstar yet, but I guarantee I will be, and I’ll get there in record time.  Take a look at Tom Brady, love him or hate him, you have to admit he’s good, but when he went into the draft he didn’t have much experience to show off.  Yeah, he qb’d at Michigan, but by looking at his past experience, there wasnt enough there so he went extremely late in the draft.  What if you knew how good he would be?  Would you pass that up?  That’s what I offer.  Wait, did I just compare myself to Tom Brady?  Hell Yeah I did, except I don’t cheat (yup, I went there too).

Here’s the other thing, rockstars are EXPENSIVE.  Seniors are expensive.  I may get there, and faster than Barry Allen, but I’m not that naive that I think I’m going to get paid like one.  That means I come cheap, for now (but let’s not get carried away, I’m not just giving myself away for peanuts either).  That means the risk/reward is heavily in your advantage.  I might play a 1-15 season to start like Troy Aikman, but then I’ll help bring you championships.  I said ‘might’ though, I seriously doubt I could possibly have that rough of a start, and yes, I just compared myself to Troy Aikman too.

As my guest-blogger said in the post prior to this one, it’s bad to appear desperate.  Let me be clear that I’m not, but I do know what I want.  If I was desperate, I would have geared this post towards ‘any’ company.  I even have an opportunity to go back to Coding Dojo as an Apprentice Bootcamp Leader because of how well I performed there.  And if I was truly desperate, I could easily walk into several local body shops, talk to the manager and have a job starting next week making 60-65k a year.

So pull up my application (or let me know if I need to re-submit), check out my portfolio, read through some of my past blog posts, look up my LinkedIn profile, review my code on GitHub, find me on Twitter (I’ve actually been following quite a few of you on there), or even scope out my xbox gamertag – gouge93.  Then call me, e-mail me, tweet at me, or possibly even find me downstairs sitting at Nerdvana.  I’m ready to talk and I’m available anytime.  And if you’ve read this far you may as well make the time spent worth it, what do you have to lose, like I said, the risk/reward ratio is in your favor.

TL;DR – Dear Gearbox Software, you have an open web developer position, I’m a badass, hire me!

Back to Top

(UPDATE – AUGUST 22,2016: Well, both the Web Developer and DevOps positions appear to have been filled as they are no longer open at gearboxsoftware.com. And no, I’m not the one that filled either of them, but that doesn’t mean it’s over. So, for all you fine people at Gearbox Software, when the time comes that you need a web developer or DevOps engineer, I’ll be ready to talk. In the mean time I’ll be taking on a role elsewhere that will help me further enhance my expertise. This also means I won’t be able to work out of Nerdvana anymore so you won’t find me there as much as I used to be. Then again, the place is pretty awesome so you might still catch me out there every once in a while.)

Here I thought coding bootcamp was hard

While it was definitely one of the hardest things I’ve ever done, it was still so much simpler than what I’m doing now, which is trying to find employment.

In the bootcamp, there was really only one objective…learn.  Learn LAMP, learn MEAN, learn Ruby on Rails, learn algorithms, learn googling, learn Ping Pong, learn to learn.  The structure was simple, wake up, go to the gym, go to the Dojo, spend all day coding until the late evening, go home and repeat.  No outside life, no other obligations, and everyone around me knew where my focus had to be.

That’s all gone now.  Everyday is different, different objectives, different projects, different things to learn, different places, different responsibilities.  Ok, so the responsibilities aren’t really different, just back to the way it was before Coding Dojo.

I still need 12-14 hours a day to work on everything, but I have a family.  A daughter I barely saw for 14 weeks and a wife who was basically a single mother for that entire time.  I don’t have that time anymore and have to make up for it in other ways.  That means not going all the way to the Dojo for residency and saving the gas, the parking, and most importantly, the time.  The Dojo being new in Dallas the staffing isn’t there yet to make residency anything more than just being a place to setup and work on your own.  Meaning it wouldn’t be any more beneficial to go in anyway.

Here’s the other thing, the pressure is really on now, and from all angles.  Most of all there’s the financial pressure.  I managed to get that taken care of so that I didn’t have to worry about it while at the bootcamp, but now that well is all dried up.  I’m in a drought right and I need to find water to get it filling back up fast, especially since my family depends on it.

Trying to find employment is hard enough, trying to just be ready to find employment isn’t exactly easy either, especially in this industry.  First there’s the resume, which is now more important to get right than it ever has been in my entire life.  Then there’s getting my LinkedIn profile together.  You want to be a programmer?  Well guess what, you need a portfolio too.  But the portfolio needs projects…deployed projects.  Let’s not forget about networking, which means going to meetups.  Then throughout all of that you still need to keep learning and getting better in your coding skills.

All of that is what I’ve been doing this past couple weeks.  At least as best I can.  I’ve been jumping between tasks trying to put everything together to maximize my chances of gaining employment.  All the while fighting one aspect of myself, I’m a detail-oriented perfectionist.  Sounds like something that would be good on a resume.  Here’s the problem though, developing projects, creating profiles, writing a resume will never come out perfect.  There’s always going to be room for improvement.  Not to mention that some projects are MASSIVE undertakings that will take a LOT more than a couple weeks just to get all the features fully functioning, let alone perfect, which is again, impossible.

Fighting the feeling that what I have isn’t going to be good enough is hard.  Especially without having much experience in the same industry I’m trying to break into.  Especially since these things are the only avenue I have to try and impress potential employers, and more importantly, that one single company that I want to work for more than any other.

I’m finally on the next phase though as of today.  I got my resume together, got a couple projects deployed, setup my portfolio, cleaned up my LinkedIn and officially submitted my application to the company I want to work with.  In case you’re wondering what company that is, I’ll be revealing that within the next week in a very special blog post.

I can’t stop there though, as much as I want to work at that one place, I realize the odds are against me.  I need to get my resume out to other places and apply wherever there are openings.  I don’t have the luxury to be picky and wait too long.

Yup, coding bootcamp doesn’t seem all that hard anymore.

 

P.S.  You can check out my live portfolio here with links to projects and profiles.  It may not be perfect, but it’s a start and I’ll be improving on it whenever I can.  There’s also a copy of my resume on my LinkedIn.