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 1st Year Post Coding Bootcamp

It’s now been an entire year since I graduated from Coding Dojo, which means it’s time for the year in review!  If you’ve followed along, or are just finding my blog now, and you’re someone wondering about what really happens after going to a coding bootcamp, then this post is for you!

Not only do you get my story, but also one of my cohort-mates.  Hopefully you’re already following her, and if not, you should be.  For those who kept up, you should already be familiar with Tiffany.  She was in my cohort and one of the co-founders of First Hack Dallas.  Besides her blog, she also creates some awesome YouTube videos and actually beat me to the punch in getting a year-in-review post up.  Go check it out here.

To say it’s been a rough year is an understatement.  The web development business can be bipolar as hell.  It’s not like anything I’ve ever experienced before in my life.  The highs and lows, ups and down are intense.  One minute you feel invincible like the whole world is in your hands, and the next you question every decision you’ve made in life to get to this point.  So let’s take it month by month.

July 2016 – Graduating on the 1st day of the month, I was pumped up and thought I’d be able to find work by August.  I took a mini-vacation over a long weekend since I was away from my family for so much during the bootcamp.  Otherwise the month was spent working on my resume, portfolio, continuing projects, etc.

August 2016 – Having not found work yet, it was a bit of a struggle without the hardcore structure of the bootcamp.  Plus with a family and a toddler at home it wasn’t always easy finding time to do everything I needed to do.  This was the month I put everything into trying to get into Gearbox Software while working out of Nerdvana Coffee in Frisco.  That never panned out and while I’d still love to work there, I’m over my borderline obsession.

September 2016 – 2 months with no work had me worrying.  I knew there was an open door for me at Coding Dojo so I applied for the Apprentice Bootcamp Leader position.  The pay wasn’t that great to start (well below the industry average), but it was full-time with benefits.  Not to mention the fact that it would allow me to continue my education and gain additional skills as well as experience.  So on September 16, I started working.

October 2016 – This is the month I learned Python.  I was assigned to assist with the Python cohort and literally had to learn it at the same time as helping to teach it.  I even took the belt exam with all the same restrictions as a student and earned my 4th black belt.  It was this situation that really showed me the benefit of having learned 3 stacks during the bootcamp.  Picking up a 4th after all that was a breeze!

November 2016 – My first hackathon!  Not as a participant, but as a co-founder and co-organizer!  After 2 months of planning and hard work, our hackathon was a huge success.  So much so that we still want to do it again.

December 2016 – My longest break from coding happened during this time.  One of the best perks of working at Coding Dojo was having 2 weeks off at the end of the year, and I hit the road and went back home to Detroit for the first time in years.

January 2017 – New year and things were looking good.  My first raise at Coding Dojo kicked in and they were ready to start making me the lead instructor of a cohort, although that didn’t get to happen this month.

February 2017 – I’m cruising along and everything was set in motion for me to get promoted to full-on instructor at Coding Dojo.  I even take on a cohort of my own and lead instruction for the web fundamentals portion of the bootcamp which teaches HTML, CSS, JavaScript, jQuery, API’s and AJAX.

March 2017 – The hammer drops.  Things at Coding Dojo as a company got shaky, the founder steps back in as CEO and starts making cuts to turn it around.  Being low-man on the totem pole I knew I was in trouble, and it didn’t take long to confirm my fears.  Exactly 6 months after I started, and since the Apprentice Bootcamp Leader position is a 6 month deal anyway, I had to part ways with Coding Dojo.  But at least I got to go out with a bang thanks to Grim Repo!

April 2017 – Things could have been bad.  Everyone at the Dallas Coding Dojo has been great and doing everything they could to help me find work.  What happened in March was out of their control and they supported me in whatever ways they could.  The career advisor was connecting me with everyone she knew and the captain of the Dallas ship has always made himself available for me.  Nothing was coming to fruition though.  Had it not been for the support of some family members, I would have been homeless, literally.  I had to sell my house and with 2 weeks before closing I had no idea where I was going to be living.

May 2017 – I would have thought finding work would have been easier this time around compared to the previous summer.  But my added experience actually teaching at Coding Dojo didn’t translate into anything in the eyes of the recruiters and hiring managers out there.  They viewed me no different than they did when I had just graduated.  Luckily though, since I left in March, I was able to make some extra money privately tutoring current Coding Dojo students.  So even though I may not of had full-time work, I was officially a freelancer.

June 2017 – Still actively looking for full-time work, I finally get an opportunity to prove myself….and fail.  I’ve been applying, interviewing, going to meetups, etc., but nothing was coming out of it.  This is where the ups and downs get intense.  One interview I had (it might of been in May actually) went so great that it lasted 2 and a half hours and they were starting to sell me on why I should work there, then crickets.  No callbacks, no emails, no replies to my follow-up, nothing, talk about going through a roller coaster.  But then at the very end of June I finally got a break….

So here I am, 4 days past my 1 year anniversary of graduating from Coding Dojo, and I have a promising freelance gig at a local startup.  It was a little over a week ago I was contacted by the CEO on LinkedIn, met late last week, and was brought on to update, maintain, and  work on their site.  So that is what I’m working on right now, well actually I’m writing this blog post right now but you know what I mean.  I’m excited about this and will be doing everything I can to absolutely rock this position.  It’s still early in it so I won’t be giving any details now, but rest assured I’ll keep you all up to date as I continue on through it.

So that’s my year in review.  In case you’re wondering what happened with everyone else from my cohort, well you should already know about Tiffany.  Then there’s our mysterious guest writer who wrote a couple posts on this blog last year.  He had a developer job straight out of the bootcamp but I don’t know what’s been going on since his last post.  One person became an Apprentice Bootcamp Leader at Coding Dojo like me, except he started right after graduating instead of waiting like I did.  He’s now a permanent instructor at the Dojo, and a great one too!  Another blogger from my cohort was nodefs.  I’m not exactly sure what he’s been up to but I know he’s continued his studies and I believe has learned C#/.NET and iOS/Swift since then.  Then there’s my DART buddy who has taken on a role as a Rails developer several months ago.  3 others I honestly have no idea what happened.  One went back to Seattle, one I haven’t seen since a meetup last fall, and the last one has decided to ignore all contact from any of us.

Like I said, it’s been one crazy year.  I wish it could have been nothing but positivity and sunshine and rainbows, but that’s not real life.  Just about anything worth something though is going to have a rough start.  What matters is not letting that rough start stop you from going after what you want.  That’s the stuff that makes you who you are and if you can get through it……well, you get the drift, I’m not trying to be Tony Robbins or Zig Ziglar here.

On that note though I leave you with a video that was shared by one of my Coding Dojo instructors and former boss that is worth the time to watch…

 

The Search for a Web Development Job

It’s now been 2 months since I started looking for work again, 8 whole weeks since the Coding Dojo bomb dropped and 7 weeks since my last day there, and I’m still searching, still ain’t got no job, but plenty of shit to do.

I’ve been applying, I’ve been interviewing, I’ve been networking. And let me tell you, it’s HARD! No other job hunt process throughout my entire life has been this difficult, this tedious, this demoralizing, this bipolar, this political. And in my opinion, and in the words of the demigod Maui, in this business ….

… (hey, I have a toddler at home, Moana’s been playing practically non-stop for the past few months).

There’s no sugarcoating it, if you’re about to go through a coding bootcamp, you have your work cut out for you. I’m not just a recent bootcamp grad anymore either, that was last year, and since then I was working full-time teaching coding, which apparently means absolutely nothing. In fact, throughout all my interviews, it was apparent that everyone kept thinking I was just hanging around Coding Dojo just helping out for free. I had some odd reactions when they realized I was actually a full-time employee with full-time benefits.

Part of the problem is that the hiring procedures are either outdated, or just flat out looking for the wrong thing. I understand that this is a highly technical skill and position to fill, and you have to prove you know what you’re doing. So why not look at a person’s actual code? The things they’ve actually done? Ask me about that. Give me a coding challenge, a small app to build. I’d honestly love to do that, and I know I’d knock it out of the park!

Instead questions are asked that have nothing to do with what you’re being hired for (and don’t really add substance to the whole “let’s see how you think”). I was asked one technical question that I honestly blanked on in the moment, but I’ve done that one thing a hundred times, hell, I even have a youtube video demonstrating it, but no, because I blanked at the wrong time I get told no. Most people don’t remember every single thing they need to do at all times, sometimes you need a reminder, and in the real world, it would have literally taken me less than 5 seconds to just glance at what I was blanking on and be able to run with it. A senior dev I was talking to said the same thing. I won’t even go into the part where I had questions about languages that weren’t even what the position called for (like a Ruby on Rails question in an interview for a Python role).

It’s not just about what you know at that moment in time though, especially not in an industry that is constantly changing. For example, the CEO of one of the positions I applied for was quoted saying “I don’t really care about your background, I care about what you’re capable of”. That quote was in context with his hiring philosophy, unfortunately it’s not something that his hiring managers believe. If it’s about what I’m capable of, well I can show example after example of that.

But let’s talk about background some more, I’ve made it no secret that I don’t have a CS degree, or any degree at all. It didn’t seem to be much of an issue with most places (although I have no idea how many times I was instantly passed up because of it either), but there have been a few that it has come up. The worst was when I got a call from a recruiter. Second question he asked was that. As soon as I said ‘no’, he told me they refuse to hire anyone without a degree (not even a CS degree mind you), and that was the end of it. To be honest, I don’t know how a degree in underwater basket-weaving that I got 20 years ago could possibly help me in a developing job! I’ve heard people say, “having a degree shows you don’t give up”, kooky-dooks! I can tell you numerous stories of people without degrees who are some of the most dedicated, persistent, stubborn people I know who break their backs, literally, before giving up on something. But maybe there were other circumstances that prevented them from finishing a degree, circumstances out of their control. Let’s not forget that I was in the military. I joined the United States Air Force and signed my life away to the government, but in the end a piece of paper that says ‘honorable discharge’ doesn’t hold a candle to one that says ‘bachelor of arts’.

I need to rein myself in a bit here, there’s more than one side to that debate and that’s not the main point of this post. What I want to get back to is capableness. Most of the jobs I’ve had in my life I was under-qualified for, and in many cases, flat-out had ZERO experience in. But somehow I managed to get those jobs, and then excel in them. I won’t get too crazy in showing off my accomplishments, I did enough of that back in my Gearbox post from last year.

I do want to bring up one company in particular here though, Geico. Yes, the auto insurance company that has more mascots than college football. Here’s a company that is on the right track with how they hire. Their philosophy truly is about finding people based on what they’re capable of, and not what they know. They believe that it’s about the people, and no matter how technical something may be, hard skills like that can be taught. That’s why the company is so strong, it’s why they’re everywhere, it’s why they continue to grow in a business that’s already saturated. I knew nothing about insurance when I applied there, but they didn’t care. They saw who I was, what I was capable of. So much so that they had to get upper management to sign off on a few issues I had. Insurance companies are just financial ones really, so they normally don’t like to hire people with credit issues like the ones that cough I had cough.

And guess what, I excelled. I moved up. I eventually went on to be an auto damage adjuster, where they continued their hiring philosophy. Oh yeah, and I didn’t have a degree, hmm, seems odd doesn’t it? Sounds like I should try and find a job again with Geico huh? This time I actually do have some experience, and you know they have a big development department. Honestly I did think about it, and looked it up, but unfortunately their entire development team is in the D.C. area and there’s no way I can move out there.

I’ve done the hiring at places before, and maybe one day I will for my own company. If that time comes I will look at the person, I’ll look at how they performed at what they’ve done before, regardless of what industry it was in. I’ll look at what others think of them. It’s like the movie, A Knight’s Tale. Here’s a guy without a pedegree, a peasant, who tries to become something that his background says he shouldn’t be. But he does it anyway, becomes great at it, and earns the loyalty of his friends along the way, to the point that they stood by him when he was found out. My favorite part of that entire movie is when he’s in the stockade, and Prince Edward comes up to him and just before ordering his release he says “…your men love you. If I knew nothing else about you, that would be enough…”

That’s how I felt when I wrote my last post. Coding Dojo had thrown me into the stockade where recruiters and hiring managers were throwing rocks at me. Meanwhile the cohort I led at the end, Grim Repo, along with others I’ve helped teach over the past several months, all stood by me, throwing the rocks back in the form of emails and surveys to managers and ceo’s. Unfortunately life isn’t the movies though, and that isn’t enough to be given a chance to prove myself as a developer. Awesome movie though!

Now we come full-circle, I’m still looking for work, still putting my family’s livelihood in the hands of strangers, strangers that with one word, can alter the future of me and my family. That’s a lot of power I’m not comfortable with being in someone else’s hands. Yes, I know, I determine my own future, blah blah blah, but think about that for a moment.

I’m willing to bet there are some of you reading this that are just thinking, ‘oh great, another whiny post about someone who didn’t get the job’, and I admit that much of it does come off that way. I was debating whether or not to even write this post, but this entire blog is about my odyssey, and it would be wrong of me to leave out the bad stuff. And I’ve accepted the fact that I’m terrible with rejection, always have been and always will be. But one day maybe I can look back at this post and tell myself what a fool I was, but it still doesn’t make it not true.

In the meantime I’m doing some private tutoring to other coding bootcamp students and looking for freelance work. I’m continuing my education in developing, trying to learn something new everyday. I’m even working on making some Amazon Alexa Skills right now! I have a couple static sites I need to work on that I’m being paid for and for family/friends that need one for their business. Plus I have my own projects, ones that I’ve started and a bunch that’s still in the imagination phase. I’m sure one of them is going to be ‘the big one’ haha. Then of course is the continued job search. My family didn’t go away, and they need me. I’ll keep applying, I’ll keep interviewing, and eventually something good will happen, because even though I don’t have a degree, I’m not a quitter.

One thing I refuse to do however, is to not be myself. I refuse to go into an interview trying to be someone I’m not. I refuse to answer questions with what I think someone might WANT to hear. One thing I am is honest, even if that honesty might work against me. So what if my answer might be cliché, there’s a reason things become cliché, because they’re true quite often, and if I’m saying it, you can be assured I mean it. If you ask me if I like to work, of course I’m going to say no, I don’t know of many people that would say yes to that, and I’m not going to make up something that I think you want to hear, but just because that might be a no doesn’t mean I won’t be bad ass at my job. Hell, even after the whole Coding Dojo thing guess what I did more than a month after I no longer worked there? I helped them setup for an event! Why? Because I was there and that’s just what I do. Besides, coding hasn’t been like work to me so that question doesn’t even apply!

P.S. Looking back, I wish I blogged in more detail throughout all my interviews like I did going through the bootcamp, but it’s too late now. What I will do though is create a new resource page where I’ll start adding some of the various questions I’ve been asked at these interviews.

Beware The Grim Repo

Drawn by one of our own

I’m back!  It’s been so long and there’s so much that’s been going on.  Perhaps you thought the Grim Repo actually did get me, but in truth, it didn’t get me until a few weeks ago, and not the way you’re thinking, but by the heart.  Yeah, that’s right, I might be getting a little mushy in this post.

So who is this Grim Repo?  Only the greatest cohort to ever come through the doors of Coding Dojo!  Sorry Cobra Kai, although you were definitely at the same level and will always hold a special place with me. And don’t think I forgot about all of you in Mega-Cohort either, you guys killed it, especially at the hackathon.  Greater even than the O.G.’s, the very first cohort to come through Dallas, yes, MY cohort that started an entire year ago.

Since September I’ve been working at Coding Dojo as an Apprentice Bootcamp Leader (ABL), an assistant Instructor in layman’s terms.  But Coding Dojo had plans, big plans, and I was a part of it.  The Dallas Dojo Captain, who I have the utmost respect for and hope to one day be as good a programmer, made it clear he wanted to keep me on and move me up the chain to full-on Instructor.

So on Tuesday, February 21st, a brand new cohort started, and I was their lead instructor.  My only help being a TA, who ended up getting a great job offer and was only with me the first week.  To make it even more interesting, I had one less day to teach them than normal due to that Monday being President’s Day.  So in less than 2 weeks I had to teach them HTML, CSS, jQuery, JavaScript basics, AJAX/API’s, Git and GitHub.

Was I nervous? Um, hell yeah I was nervous.  I didn’t want to look like an idiot, or for them to write one of those course report reviews about how their instructor was just a bootcamp grad themselves and had no clue what they were doing.  Most importantly though, I didn’t want to fail them.  I didn’t want for them to get through those first 2 weeks without gaining the knowledge they needed to help them be successful throughout the rest of the bootcamp and into their professional careers afterward.  I admit there’s a little bit of selfishness to that.  If they succeed, then I can say I was a part of that, but if they fail, then I failed.

I did whatever I could to be at my best for them.  I planned out the lectures, went over the material, wrote notes, went through the lectures/demos in my head as I was driving in to the dojo.  Anything I could do to prepare.  I didn’t want to just help them with the material at hand, I wanted to also be prepared for any questions they came up with or any errors they got.

There were some tough questions and problems too.  This cohort is smart, really smart, some of them were engineers and one had a computer engineering degree.  Talk about intimidating.  There was a moment that first week where I was talking to someone from another cohort and he was asking me how my “first cohort” was going.  I remember just replying to him to not say that so loud because I didn’t want them to hear that they were my first lead.

At the end of the first 2 weeks it was time for them to decide on a cohort name.  By then this cohort was already becoming a really tight group, and everyone at the dojo was noticing, even the rest of the staff made note of it.  They had a whiteboard filled up with all sorts of names, as soon as I saw ‘Grim Repo’ I loved it, but another name they had up there took me by surprise… ‘Team Ulanowicz’.  Of course I had them take that off the table.  They voted and ‘Grim Repo’ it was.

THE BEGINNING OF THE END

The next two weeks were a whirlwind, but what Grim Repo did for me is something that I’ll never forget.

To kick it off, all the staff learned that the Coding Dojo founder was stepping back in to the company, and anytime the founder of a company comes back in, you know things are going to get shook up (think Apple, Starbucks, etc.).  Coding Dojo tried to grow way too fast and couldn’t keep up (I actually voiced some concerns about this back when I was a student myself and I think I may have mentioned it in my posts).  I knew right away my position was in trouble, I was the low man on the totem pole in Dallas.  The next day I learned that my fears were not unfounded, and I was out.  Since the ABL position was technically a 6 month deal, and my 6 month date was March 15th, they let me stay on until then.

News started leaking out slowly.  Geekwire even picked up on it and wrote this article about it, although they’re missing a few details.  An email was sent out to all the students by Michael Choi, the founder, noting some changes that’ll be taking place including a reduction in staff.  One student messaged me directly with concern, asking if I was staying.  That’s when I told them all what was going on.  Their reaction was not a good one.

The next day, our Captain was sitting near me, and put his computer in front of me.  On it was a message that was sent directly to him by one of my students.  Although I wish I had a copy of it, I don’t really need one because what I read still keeps running through my head.  All the fears I had about taking the lead in teaching them were gone.  I was speechless at the moment.  I handed the computer back and had to get up and just walk to hold back the tears… …told you I was gonna get mushy, but I’m fine with it, I mean hey, it was a pretty bad week.  It wasn’t just the what, but also the who.  The person that wrote this is someone I was admittedly intimidated a bit by, someone that many in the cohort would agree is one of the strongest and smartest (also one of the engineers I mentioned).

Then later that day, the whole cohort came together, started their own private Slack channel (which no other cohort has ever done that I’m aware of), and decided to all write letters to Michael Choi directly.  I couldn’t believe what was going on.  One by one they were confirming having sent an email.  While I never saw most of these, they did tell me about some of the things they wrote about.

Unfortunately, they’ve all expressed their disappointment in the fact that he never responded to a single one of their messages, but they’re pretty confident that if he didn’t know who I was before, he definitely knows my name now.  The amount of support I received from this group was completely unexpected.  To think that after only a few weeks, I was able to make that kind of impression on them, and have such a positive effect on them and their education, that they would band together like that for me without me ever asking….I honestly can’t even put it into words how that makes me feel.

Grim Repo weren’t the only ones.  The rest of the staff at the Dallas Dojo had my back.  They did everything they could for me, and still do whatever they can to help me.  They let me leave during the day for interviews, and the career advisor has and still is doing everything she can to help me find work.  I’ll go so far as to say that she’s the best career advisor in the country! (not sure if they’d want me putting their names out there or not so I’m playing it safe).

Back to Grim Repo though because they weren’t done yet.  On Wednesday, March 15th, my last day working at Coding Dojo, they all decided to take me out.  Before they did though, they put together a little package for me…

…wings, jerky and beer!  Now I know I’m a guy and not supposed to care about cards, but this one means a lot, and I’m going to hold on to it, and if at any time I start feeling like I don’t know what the hell I’m doing, I’ll just open it up and read it.  Oh, and they made me carry the bucket around downtown Dallas too.  They took me out to the dojo’s favorite spot…WingBucket for food and drinks, and then later in the evening, we ended up at another bar and let’s just say I was feeling pretty damn good.  Keep in mind this is a Wednesday, they had all just started learning django in python, which can be pretty rough, but instead of working on that, they spent the evening with me.

Grim Repo with me at WingBucket for my last day – sadly missing a few members that couldn’t be there for this pic

-personal note to Grim Repo

     In the short time you have been together you’ve become one of the tightest, closest-knit cohorts I’ve seen.  You’ve become like a family and included me in it.  I am extremely proud to say that I was the one that started you off on your new journey and know that all of you will go on to do great things.  I may not work for Coding Dojo anymore, but I still work for you.  I’ll continue to track your progress and help out whenever I can and can’t wait to be at your graduation where I was already told that I would be allowed to hand you all your certificates myself.

– And so this odyssey of mine continues…who knows where this coder will end up next, but wherever that may be, rest assured that you’ll find out all about it.

Becoming a polyglot programmer

A few months ago, I honestly never even heard of the term polyglot.  It was during career services week at Coding Dojo when a fellow former student (who used to be a spanish teacher) used the term when giving his elevator pitch.  It was originally meant for spoken languages, but can apply to programming languages as well.  The way I understand it, it’s not enough to just know multiple languages, but you also need the ability to jump between languages on the fly.

That last part is what’s really difficult.  I’ve known both Polish and English my entire life, and even took 3 years of Spanish in high school (as well as learning more of it whenever I can now that I live in Texas).  For the most part I haven’t had any issues jumping between those languages.  But there are times I’ve mixed them up.  Even so, it’s definitely easier to do when you’ve known something for a LONG time.

But what about when you haven’t known something for your entire life?  What about when you’re trying to learn multiple things at the same time? Imagine only knowing English, with almost no exposure to other languages, and then in less than a year’s time try to become proficient in French, Spanish, Italian, Portuguese, and just for the hell of it throw in Japanese and maybe a little Russian, because, well, why not?  Meanwhile also learn some basics in the structure of those languages that gives you some exposure to Latin, possibly even some hieroglyphics.

This is what it’s felt like for me this past year.  Oh, and those first languages I brought up?  They’re so similar that it’s really easy to mix up. Take Polish and Czech, 2 different languages, but so similar that I’ve literally had conversations with czech people where I was speaking polish and they were speaking czech.

Enough about spoken languages, this is about programming.  A year ago I barely knew any coding at all.  I could use the web and I knew how to view a page’s source, but it may as well have been kryptonian.  I dabbled in a little html about 14 years ago or so but that’s it.

In december of last year I took an Intro to Java course on Udacity.  I only got about halfway through it though.  Then in the beginning of this year, having decided to go to Coding Dojo, I started using the algorithm app that Coding Dojo has on their site.  This was my first intro to Javascript, but I quickly got lost and had no idea what I was doing.

So I decided to get a a book, But how do it know?, to learn how computers work at the lowest levels, thinking it would help me visualize what was going on.  And it did, so around February/March I went back to the algorithm app and was able to complete it.

Then in late March I officially started Coding Dojo, where I would go on to learn HTML, CSS, Javascript, LAMP (PHP), MEAN (JavaScript), and Ruby on Rails.

Also, to enhance my knowledge of the basics, I’ve been going through the CS50 lectures put out by Harvard whenever I had the chance.  They use C throughout the course so I get to learn a little bit of that language there.

In late August, while still searching for a position somewhere, I had the opportunity to become an Apprentice Bootcamp Leader at Coding Dojo.  But I had to fulfill some requirements, which included being able to do several assignments from the course of the bootcamp within a very short time limit, going through a typical interview process with whiteboard challenges, and finally a coding challenge.

My coding challenge had to do with Binary Search Trees (BST).  Although I was coding in Javascript, throughout the process of learning about BST’s, I was finding code in C++ as well as C# that I needed to figure out so that I could decipher the answer to my questions.

Of course starting in September, I officially became an Apprentice Bootcamp Leader, where I get to assist the instructors and help students throughout the day.  But the Dallas dojo location no longer teaches the LAMP stack, but instead in its place they teach Python as a first stack.  I’ll give you one guess as to which cohort I was assigned to for my 1st full month (after helping with web fundamentals for 2 weeks).

So there was no ‘dabbling’ this time, I had to fully learn Python, AT THE SAME TIME that I was assisting with the October Python cohort!  Doing this really opened my eyes up.  Learning Python as a 4th stack is worlds apart from learning it as your 1st stack.  It was actually easy!  And I’m not trying to be boastful here, I say this in regards to anyone.  Once you’ve learned 3 different stacks, picking up a 4th is a breeze. The concepts are all there, your mindset is there, and all it becomes is learning the different syntax and some of the intricacies that make it different from, say, Ruby.

Now a disclaimer, this blog is mine, and has nothing to do with Coding Dojo, other than my perspective having been a student and obviously my ties to it now working there.  My goal is to keep this blog separate and unbiased.  I’m not going to just blindly throw out recommendations or boast about how great Coding Dojo is.  That’s not what I want this blog to be about or become.

That being said, here’s my plug for Coding Dojo.  People tend to have mixed reactions to finding out they teach 3 stacks in 14 weeks.  Many people ask why not just try and master 1.  My Python experience is exactly why.  I’m willing to bet that, all things being equal, a person that has learned 3 stacks will pick up a new language quicker than someone who only learned 1.  Reinforcing this idea is the fact that I know several Dojo alumni who’ve been hired on at companies that use languages other than what Coding Dojo taught them.  Not only were they able to easily pickup whatever new language they needed to learn for their job quickly, they were able to do it on their own, whether it was C#/.NET, PHP, or Swift.

Moving on, so yeah, Python.  I learned it, using both Flask and Django, and conquered it, becoming the Dallas dojo’s 1st Quadruple Black Belt!  I even got to add another sticker to my laptop!

Back on topic, trying to be a polyglot is HARD, especially for a newer developer.  Recently I’ve been given a project that I need to develop for Coding Dojo in addition to my other duties.  This project is going to be in PHP, which I know, using Laravel, which I don’t (or didn’t since I’ve already went through the awesome Laracasts and ramped up since that time).

In the span of less than a week late last month, I was literally working in PHP, Python, JavaScript, and Ruby at the same time using various frameworks including Laravel, CodeIgniter, Rails, Django, and Flask.

I can’t even count the number of times I mixed up brackets/braces/parenthesis, % vs. ?, $ vs. @, ./+/->/=>/:, exit vs. ctrl c, and since I hadn’t touched PHP in a while before this I think I forgot the semi-colon about 30 times in just one day alone.  But I’m getting a LOT better at it.

Currently the cohort I’m with is learning Ruby on Rails.  Luckily, Laravel is extremely similar to Rails.  In fact, some things are actually identical, and that makes it easier going between them.  At the same time there are some things that are just slightly different enough that it makes it tougher not to miss them.  Then of course there’s the Ruby/PHP differences, which are easier to manage since those are more substantial.

So what’s next? Eventually, once I finish this project, I plan on tackling iOS/Swift.  That clear section surrounded by black belts is bugging the hell out of me.  In the meantime I’ll keep bouncing around between Ruby, PHP, and JavaScript with a little Python mixed in.  Then next month I’ll be swapping Ruby for MEAN, except that I still need to also squeeze in some work on the First Hack Dallas site, which is built with Ruby on Rails.  So many projects, so little time.

Inaugural First Hack Dallas Success Story

It’s now been a week since our first hackathon, so yes, this post is a bit overdue, but I can say the actual event was a success!  I won’t go too much into the beginnings of it though, since I went over that in a previous post called ‘First Hack Dallas – A Hackathon for Newbies‘.

In the time between that post and the day of the event, we added a few sponsors, held a ‘rehearsal’ a couple days prior, figured out IP/liability waivers, and scrambled to figure out how to pay for enough food to feed everyone with the limited funds we had available.

I think it’s safe to say we all had some jitters the night before.  I was especially feeling it as I stayed late at Coding Dojo to clean up the place and prep it as much as possible for the next day.  All that was left to do was to re-arrange all the tables/monitors and setup the registration desk. We all agreed to be there by 7 am at the latest to get a start on the day.

Saturday morning comes, and I wake up to my phone vibrating to a google calendar alert for First Hack Dallas … at 7:30 AM!!!!!!! Not a great way for an organizer to start the day of an event that officially begins at 8 AM.  Especially when said organizer lives 43 miles away! I don’t think I’ve ever jumped out of bed, taken a shower and got out the door as fast as I did that morning, well, maybe except for when I was in bootcamp for the US Air Force.  So what happened? I did set my alarm the night before, BUT, it’s the same alarm I use during the week and I completely forgot to add Saturday to it!  I called up Terry in a panic to tell him I’m trying to get there as fast as I can.  Luckily, he was able to calm me down saying that everything was being handled and going smoothly at that point and that it wasn’t an issue.  I walked through the door into the Dojo at 8:24 am.

Being our first hackathon ever (not just in organizing but attending as well), I was worried I was going to miss the start of it.  Turns out I didn’t miss anything at all.  Participants were still coming in and we ended up delaying the start of the hackathon to allow for more people to show up.

Registration Desk in the front lobby of Coding Dojo
Registration Desk in the front lobby of Coding Dojo

To help welcome everyone, High Brew Coffee setup in front with samples and enough cans of cold-brew coffee to last almost the entire day.  Through our website, we had 70 participants signed up along with a waiting list of about 10 people.  We had been getting some cancellations that week  and expected more so we went ahead and notified the people on the wait list to just come in.

In the end we ended up with 44 hackers, making up 9 teams.  3 of the teams were actually current Coding Dojo students.  Some of the other teams had people from other bootcamps, University of Texas – Arlington, University of Texas – Dallas, TCU, as well as other schools and a bunch of self-learning code newbies.  I think there was even someone who drove up  from Austin!  Hey, we ‘hacked’ together this little hackathon so to us, someone driving from over 3 hours away to come to it is a big deal.

Just after 8:30 am we decide to kick off the day.  Ryan, who handled most of the presentations that day, started by telling everyone about who we were, why we came together and some general info for the day.  Then he passed it off to me, where I talked about social media, raffle drawings, and   that I would be tweeting throughout the day with announcements.  I think I’ve said this before, I am NOT an extrovert!  I’m getting better at talking in front of large groups but it’s not always easy.  Plus, how did the anti-social shy kid end up being in charge of social media?  By the way, you can go to the First Hack Dallas twitter account and scroll back to that day and see what else went on.

Ryan Culpepper kicking off  the inaugural First Hack Dallas
Ryan Culpepper kicking off the inaugural First Hack Dallas

Then it went back to Ryan, who introduced Brent with RedRibbon.us.  RedRibbon.us is the organization we partnered with to be the focus of the project for the day.  He put things in perspective for everyone and started with an emotional scenario, role-playing getting a phone call from a friend who just learned he has HIV.  He went on to all the questions and thoughts that would be going through that person’s mind.  What do I do now? Where do I go? What will people think? What do I tell my employer? Where can I get help?  This hackathon wasn’t just about us, the organizers, networking, the hackers learning, or just building some website, this was about something bigger, something that could make a meaningful impact on people’s lives.  It was a somber moment, but a necessary one.

It then moved on to Cody Williams, who presented the scope of the project along with some guidelines.  RedRibbon.us currently only has a very minimal static site.  What we were trying to build was a complete application that allowed users to register, create a profile, and access a database full of resources and services tailored to their own specific needs and criteria.  We wanted to give everyone a general guideline but also wanted everyone to have creative freedom.  As I was listening to Cody present the scope (which had a LOT in it), I was actually starting to feel a bit intimidated, and imagined how a new developer would feel.  This was something we set out to NOT do to the participants.  So I talked to Ryan about this and felt we needed to bring it up.

Ryan capped it off by going over the rules, judging, and bringing up the possible intimidation factor.  He did a great job of relaying to everyone that they shouldn’t worry about not doing enough or getting every single sought after feature done.  This day was about the experience, about learning, and helping out a great cause.  We also extended the event a little and decided to have everyone submit their projects at 8pm for judging since we had a late start.

Throughout the day we were all kept busy, bouncing around the Dojo, dealing with issues that popped up, like participants showing up late or not having registered prior, handling ‘bathroom issues’ (trust me, you don’t want me to get into those details), making announcements, working with mentors, getting the meals, etc.  We even helped as mentors ourselves at times.

Mentor Kyle Taylor of DrawAttention giving some advice to Team Specters of the Earth
Mentor Kyle Taylor of DrawAttention giving some advice to Team Specters of the Earth

Speaking of mentors, this was probably one of the highlights of the event. Since everyone there were students or new developers, they routinely ran into various roadblocks, either having installation issues, database issues, not being able to get code to run the way they want, or even just wanting to understand why something they did actually works.  This is where the mentors stepped in.  We didn’t want hackers to spend 2 hours trying to fix some bug.  As a new developer this can get really frustrating, so we made mentors available to help whenever they were needed.  This doesn’t mean they wrote any code for them, but merely either guided them in the right direction or removed obstacles.

Mentor Greg Yut helping out Team Coding Mojo
Mentor Greg Yut helping out Team Coding Mojo

I want to go ahead and acknowledge our mentors who came out and volunteered part of their Saturday to help.  Kyle Taylor, Marshal Culpepper, Austin Akers, Daniel Miller, Greg Yut, Greg Spagnola, Brent Wiethoff, Jeeves Betigeri, Jared Farrish, and Chris Tran.

By the way, Chris Tran was an unexpected surprise.  For 5 of us organizers he was our original instructor at Coding Dojo who left after a couple months.  To say he made an impact on us in that short amount of time would be an understatement.  None of us had heard from him since then so seeing him walk in unannounced was one of the best parts of the day.

Then there were the prizes!  At several parts of the day we gave away various prizes by raffle.  Since we’re all developers, instead of using raffle tickets, Cody just wrote a short function that randomly chose the winners from the database of registrants.  Unfortunately the database had the registrants that didn’t show up too so there were a few times we had to go through a few names before getting to someone that was actually there. (something we’ll fix the next time).

Winner of an Amazon Gift Card courtesy of Women Who Code Dallas
Winner of an Amazon Gift Card courtesy of Women Who Code Dallas
Winner of a DrawAttention laptop whiteboard sticker
Winner of a DrawAttention laptop whiteboard sticker
Winner of a month membership at Fort Work (coworking space)
Winner of a month membership at Fort Work (coworking space)
Winner of a Raspberry Pi Kit courtesy of Odyssey Information Services
Winner of a Raspberry Pi Kit courtesy of Odyssey Information Services

Prizes included a dozen DrawAttention laptop whiteboard/blackboard stickers, Amazon Gift Cards from Women Who Code Dallas, Month-long memberships at Fort Work and The DEC, and a Raspberry Pi Ultimate Starter Kit from Odyssey Information Services.

This would be a great time to thank all of our sponsors who provided prizes, financial support, services and even mentor support.  This hackathon would never have been possible without them.  Coding Dojo not only hosted the event (which included all the extra monitors that hackers were very appreciative of), but also the dinner meal and part of the Grand Prize.  Other prizes were courtesy of Women Who Code Dallas, DrawAttention, Fort Work, The DEC (Dallas Entrepreneur Center), and Odyssey Information Services.  High Brew Coffee brought in cases of their canned cold-brew that fueled the hackers throughout the day. Financial support came from Boost Stream, Modern Message, and Minecraft U.  Last but not least is Dialogs Software who provided the cash Grand Prize and also brought a couple mentors.

sponsor logos

Now we’re towards the end of the day.  It’s getting to be crunch time, and at 7:30 pm there’s a team all packed up and halfway out the door.  We go over to them to see what’s going on.  They were building a web API and were having issues connecting to it, so they figured what they had wasn’t good enough and wanted to leave.  It took some convincing but we persuaded them to stay to the end and at least submit what they had.  I’ll come back to this in a moment.

Now it’s getting close to 8 pm and we make a last minute change.  Originally we were just going to have one person on each team have their project loaded up while everyone went around looking at them.  We realized this wasn’t going to work out that well given the number of people and time available.  So we told the teams that we would have each of them hook up to the projector and present what they had to everyone.  Don’t forget, this was our first hackathon so we knew there were going to be some lessons learned, this was one of them.

I wish I had some good pictures of the presentations, but none of us had a good camera and the pictures came out where either you could see the presenters but the projector screen was super bright white or you could see the screen good but everything around it was super dark. Another lesson learned for the next time, have a good camera on hand.

So the presentations went on.  Before hand, the projects were submitted to our Github repo, that way the technical judge was able to look at the code while the teams were presenting.  Regarding the judging, we made up a rubric for the judges but other than that we stayed out of it.  We didn’t want there to be any question about bias, especially since we’re all Coding Dojo alum and there were a few teams made up of Dojo students.  One of the judges was also a board member of RedRibbon.us.  We also had the participants vote for their favorite project which counted as 25% of the final score.

It was interesting to see what everyone came up with in less than 12 hours.  Some teams focused a bit more on the front-end, while others kept most of their focus on the back-end and database.  Projects were built with Ruby on Rails, Python, Node.js/ES6, and C#/.NET along with a mix of other technologies.  There were full-fledged web applications, a web API and even a Facebook bot.

Back to the team that was packed up and almost scooted out early.  They’re the ones that built the web API and while they didn’t end up winning, they easily had the most votes from their peers.  After tallying up the judges scores they actually came in an extremely close 2nd place.  I don’t really want to bring up imposter syndrome, but this is a great example of why you should never discount your work and that you’re usually better than what you give yourself credit for.  This project was a huge undertaking for new developers, especially given the short timeframe, and no one was expecting perfection.  Moral of the story is, never cut yourself short.

And the winners were….Team Name Here!  They had a really good presentation and were the ones that built a Facebook bot.  By winning they took home the grand prize of $500 cash, some Coding Dojo swag, and a $2000 scholarship towards enrollment at Coding Dojo for each team member.  Hopefully they also gained some knowledge and a good experience!

Winners of the Inaugural First Hack Dallas - Team Name Here! with Shiraz Sultan of Coding Dojo in the back and Ryan Culpepper presenting the grand prize.
Winners of the Inaugural First Hack Dallas – Team Name Here! with Shiraz Sultan of Coding Dojo in the back and Ryan Culpepper presenting the grand prize.

Wow was that a loooooong day! The winning team wasn’t announced until around 9pm and we were EXHAUSTED.  After some cleaning up, we left the Dojo about 10:30pm and even as tired as we were, we all agreed previously to go hang out afterward and enjoy some beer.  All except one of us at least, but that person was literally passing out near the end already anyway and there was no convincing no matter how hard we tried.

Overall it was a great success.  We got some excellent feedback from the participants as well as the sponsors and mentors.  One mentor who was exceptionally impressed didn’t believe us at first when we told him that none of us had ever been to a hackathon before.  He had been to a few and he told us ours was one of the smoothest working ones he’s been to.  That was honestly one of my biggest worries.  I was scared that someone that may have already been to a hackathon showed up at ours and would be disappointed and think “What an utter cluster…. this was”. But that didn’t happen.

So, was it all worth it?  Absolutely.  No, we didn’t make any money off of this, and so far no one that we’re aware of has a new job because of it.  But we all made some new connections, found new friends, opened up some doors, gave back to the community and hopefully helped some students and new developers ‘level up’.  Most importantly though, we grew our own friendship and bond that started when we were students ourselves going through the rigors and trials of a coding bootcamp.  Often times people go through school, bootcamp, etc. and afterward part ways never to see each other again, but that’s not us.

L to R: Farhan S, Oscar Cortazar-Luebbert, Ryan Culpepper, Terry Thomas, Cody Williams, Chris Ulanowicz, Tiffany Thompson
L to R: Farhan S, Oscar Cortazar-Luebbert, Ryan Culpepper, Terry Thomas, Cody Williams, Chris Ulanowicz, Tiffany Thompson

 

Guest Post – Continuing thoughts from the job

Hey guys, it’s me again (your favorite anonymous contributor). So I figured that I’d write something up again regarding my thoughts on how your knowledge of programming comes into play on the job.

As I may have mentioned earlier, my job is a web dev, focusing on php, html, css, and javascript, and as an intro here are the general things that i need to know how to do for my position.

  • on the client side, build out the html and css as needed
  • use javascript and jquery to do any interactive magic
  • handle requests from the php side
  • make queries to database if need be

If you know how to do these things, congrats, you can essentially replace me at my job.

During your time at the dojo, you are constantly having new bits of information crammed down your brain, trying to learn everything you might need to get a development job. At the time, I was really quite overwhelmed, staring into the abyss of constantly changing technologies, language nuances, and sheer volume of information to learn. I figured that i would have to learn everything there is to know about a language to be a successful developer, and that the volume of information on the language is so vast that it would take years to fully master it.

Although there is some merit to that statement, don’t let yourself be frozen by that mode of thought. Turns out that, as with any spoken language, there are really only a handful of terms and grammatical structures that you need to know to be productive as a developer. Certainly, knowing the nuances and intricacies of the language makes you a more powerful developer, just as is true with learning new words in your spoken language. But in the same vein, there are still many words that I don’t know in the English language, but I can communicate well enough to get my point across.

Aim to do the same with your development skills. Understand that having a good foundation will allow you to do a vast majority of work that you will be tasked to do, and that the foundation will enable you to learn the nuances of the language that you will be working in, and pertinent terms and skills will come to you as you need them.

First Hack Dallas – A Hackathon for Newbies

Wow has it been a busy month. I’ve been settling into my new role as an Apprentice Bootcamp Leader(ABL) at Coding Dojo, I’ve been learning a 4th stack – Python – at the same time as assisting the new cohort in it, I’ve been trying to work on a static website that I was contracted to do a while back, I’ve been dealing with ‘life’ stuff and I’ve been one of the organizers for First Hack Dallas and all that it entails. Between all of that, I’ve tried (or at least wanted to try), to also continue writing posts for this blog, but failed. I’ll dive deeper into most of the happenings in future posts (which will come more frequently, I promise!), but this post is all about First Hack Dallas.

So what is First Hack Dallas? Well, you can go to firsthackdallas.com and get the answer to that easily. I prefer to go over the story first.

Back in August I was in the career services workshop at Coding Dojo along with others from my cohort including Terry Thomas (previously profiled Coding Ninja), Oscar Cortazar-Luebbert who had just graduated and adopted member of my cohort (also a Coding Ninja) and Ryan Culpepper, whose cohort hadn’t graduated yet but he was ahead of the class and therefore joined in on the career sessions early. By the way, Ryan is also an ABL here at Coding Dojo who started on the same day I did.

During the workshop we were discussing meetups and places to network with the career advisors and one of them asked us about hackathons. None of us had been to any and we weren’t really aware of any either in the DFW area (later on we did come to find out about a couple), to which she said, “sounds like an opportunity”. And with that there was a little spark and the 4 of us started throwing around ideas about organizing our own hackathon and writing them out on the whiteboard.

Pretty much right from the start we decided to help out others that were like us, still new to the coding community, and make it a hackathon for newbies. I believe it was Ryan who came up with the name First Hack, which was a fitting name because not only was this going to be for newbies, we wanted to make sure it was as un-intimidating and welcoming as we could make it.

We all heard of these huge hackathons with teams that create amazing projects and all felt an intimidation factor in wanting to join something to compete against people that have been programming for years. Some people never go to hackathons because of that. And while that may or may not be an unfounded fear, we still wanted to provide something to act as an entryway into the world of hackathons, and thus … First Hack (the Dallas was added since this is starting local and it appears a ‘domain investor’ has taken the name and is asking for a substantial premium).

Moving on, within the next day, we asked Cody Williams (yet another Coding Ninja), who was at the Dojo anyway
since he’s also an ABL, if he wanted to take part, to which he enthusiastically responded yes.

We also had the idea to not only help other newbies with the hackathon, but also help the community. We decided to try and find a charitable or non-profit organization that needed a website or application but maybe didn’t have the resources to get it done themselves. This made us instantly think of Tiffany Thompson (yup, a Coding Ninja too!), who we knew had done some volunteer work.

She was actually at the Dojo for career services that week but wasn’t able to come the day this all started. So we reached out to her and she was happy to join the team. About a week or two later, some of us were at the Dojo for Ryan’s cohort graduation and Farhan joined in on a meeting we were having and became the 7th member of the First Hack team.

With the team in place, now the real work began. Turns out there’s a LOT more to organizing a hackathon than any of us thought. We try to have weekly meetings and spread out the work as much as we can. First we agreed on some basic details, like how long the hackathon would be, how many people could we accommodate, getting sponsors, mentors(more on this in a second), where it would take place, when it would happen, how we would handle the website, who is in charge of what, finding the organization to help, etc., etc..

Here are some of the details we eventually agreed upon:

  • It’ll take place on Saturday, November 5th, 2016
  • It’ll be 12 hours long starting at 8 a.m. and ending at 8 p.m.
  • We’ll allow teams of up to 5 members with around 50-60 participants max
  • The site (firsthackdallas.com) will be built using Ruby on Rails with each organizer in charge of a page

Now that we have a starting point, one of the first things we had to figure out is where to host it. We got pretty lucky here. Since we were all Coding Dojo alumni, we agreed to ask if they would be willing to host. Just starting out we knew money would be an issue and sponsors would be needed. Coding Dojo was not only nice enough to allow us to use their Dallas campus for the entire day, but they also agreed to provide one of the meals for the hackers!

Next up is the website. Cody got us started with the overall look of the site, setup the rails project and database, took on the Home page, registration page, login, added bits here and there and essentially acts as the project manager for the site. Terry handled the About page, Ryan the Events page, and I’m in charge of the Contact page. Even though we had our assignments, everyone contributed somewhere, whether it was our logo, getting sponsor logos, styling, making the site responsive, etc., this really was a team collaboration.

All the while building the site, we were also hard at work trying to find our cause and figure out other variables. One of which was mentors. Since this hackathon is for newbies and a chance to not only experience a hackathon but to learn at the same time, we decided to bring on mentors to help out the participant teams as needed. These mentors would be experienced programmers who would be donating their time to help out. This would also increase the chances of a viable, higher quality product for whatever organization we were helping.

We also found our cause, something that will benefit the community. To keep things fair for the hackathon, we aren’t releasing the info on the project ahead of time, so that anyone who signed up early doesn’t get an advantage by being able to work on it prior to the event. I CAN say we’ve been working closely with this organization and have the basic guidelines of what they’re looking for out of this project. These guidelines will be produced for all participants the morning of the hackathon. At the end of the day all of the teams projects will be donated to the organization. After which they may use the winning teams project or take bits and pieces of others to use how they see fit.

With everything coming together and version 1.0 of the site ready, it was time to go live. Since I have an interest in DevOps, I jumped at the chance to take charge of it, but in all honesty, it was more than I could handle on my own at the time and Cody has been helping out with that as well.

I had already secured the domain name, and we set our first real deadline. Nodeschool Dallas was having their monthly meetup on September 21st and Coding Dojo was hosting it. We agreed to not only all attend the event, but to have our site live and officially announce the hackathon.

The deadline came up really fast, and on September 21st, the day of the meetup, we were still polishing up the site and hadn’t deployed it yet. Later that afternoon, about 2-3 hours before the meetup, Cody and I got onto AWS and deployed the site. It was finally live!!!!

It wasn’t done yet though, now that it was deployed we had to point the domain name to it. It was frantic for a while, we were looking up docs, figuring out how AWS’s Route 53 works, how DNS settings work, got it all set up and BAM….”it may take up to 48 hours for the DNS settings to take effect”. This meant until that happens, the only way to get to the site was by typing in the exact IP address.

People were scrambling trying to come up with any idea to bypass this issue, even if only temporarily, but nothing we thought of would work. Luckily, the warning said ‘UP TO 48 hours’, and the DNS changes took effect with less than an hour before the meetup.

Phew, what a day that was! During the meetup we officially announced First Hack Dallas, and the organizer of Nodeschool Dallas was able to pull up our site on his laptop which was hooked up to a projector. I can’t tell you how nervous I was for that moment as he was typing in the url about it not working, but it did, and I think we all breathed a big sigh of relief. And with that there was no turning back, we were really doing this!

Since that day we’ve been having meetings, nailing down logistics, and just getting the word out.

Part of getting the word out is obviously social media, and somehow I became the one in charge of that. I realize I have this blog, as well as a Twitter account, Facebook, linkedin, etc., but I’m naturally not a very social person. Not that I don’t want to be, but I have to fight with a lot of anxiety when in social situations, even if those situations are online. I’m getting a bit sidetracked here though, so anyway, I got Twitter, Facebook, LinkedIn setup for First Hack Dallas.

We’re still all working hard at getting everything ready. Those logistics I mentioned we’ve been nailing down? Well, there’s a lot more to them than you’d think, it’s almost overwhelming, and something I’m glad we have a team of 7 to work on. Parking, setting up e-mail, letters, notifications, security, legal waivers, coffee, snacks, judging criteria, scheduling for the day, t-shirts, how to sort out the prizes, getting prizes, the grand prize, who are the judges, getting enough food to feed 70 or so people throughout a 12 hour day, how to handle a waiting list if we get more people register than available spaces, getting enough mentors, getting volunteers, checking people in, finding sponsors, working out details with the project beneficiary, and a bunch more little things that I’m sure I’m forgetting at this moment.

As involved and tough as organizing a hackathon is, I’m glad we started this and can’t wait to see how far we can take this. For now though we just have to focus on November 5th, and do everything we can to ensure we meet our objectives of helping ‘level up’ the participants, making sure the environment is un-intimidating, welcoming, and that we end up with something that helps the local community.

This is something we’re all pouring our hearts and souls into. None of us are making anything from this and all of our efforts and time are being donated to this idea. But we will get something out of this. Hopefully by improving the lives of others, our own will be improved, and hopefully we make some new connections and relationships in the process. Who knows, maybe this could lead some of us or even some of the participants to their first dev job.

As of this writing, we have 55 people registered (about 10 teams), 14 mentors, and 7 sponsors. Hype is building faster than any of us expected and we have just over 3 weeks until the hackathon. We could still use a few mentors and we definitely need sponsors. We haven’t been asking for much and we’re still short for what we need to cover all the expenses as well as prizes for the hackathon. If you’re reading this and are in a position to help sponsor us, please message me through this blog or contact us at info@firsthackdallas.com. If you know anyone that might be able to sponsor us, please pass along the info.

In closing, I want to first acknowledge and thank the First Hack team for all the hard work put into this venture so far. I want to thank the mentors that already signed up for volunteering their time on a Saturday, and finally our sponsors thus far:

First Hack Dallas Sponsors

MY work finding process (and the college divide)

A while back I had a guest poster talk about his job finding process, this is mine. Except I refuse to use the word job (I went on that little rant some time ago in a post I can’t remember), so I use the word work, because that’s what it is, even if it does have to do with something that I really enjoy doing.

I’m going to start by using a technique in movies and tv that I hate, telling you the end first.

So here I sit, starting this post, at Coding Dojo. Why am I at Coding Dojo well over 2 months after I graduated? Because as of last Friday, I’m officially an Apprentice Bootcamp Leader, and in front of me is a new cohort of 21 people that just started today.

New Cohort, New Career

Now that I’ve spoiled the ending, let’s go over the journey getting here.

(and break….I started the above on Monday the 19th. It’s been such a crazy busy week that it is now Friday as I come back to finish this post)

Although the process started before graduating from Coding Dojo on July 1st, it wasn’t until much later in the month that I started to actually apply for positions. Reason being, my resume, portfolio, linkedin, etc. weren’t anywhere close to being presentable. My portfolio didn’t even exist yet. Factor in time spent with the family and loss of any type of structure that I had in the Dojo and things just didn’t progress as fast as they should have.

I already spoke about the career services issues so I won’t go into that again (those issues have been remedied though). I also had my eyes set on a specific company that I wanted (and still would like) to work for so a lot of my focus was geared toward them (no pun intended…or was it?).

Besides that I’ve interviewed and worked with recruiters, applied for a bunch of positions, interviewed with prospective employers, and didn’t get very far. To be fair, because of where I live I mostly just applied to companies in Frisco and North Plano, I just didn’t want to deal with the long commute anymore. That left out Downtown Dallas, Richardson, and Addison, which seem to be the biggest tech hubs here in North Texas.

First, lets talk about coding bootcamps. Besides the fact that they’re generally a newer thing, there just aren’t many around Dallas. This means a lot of employers didn’t seem to be familiar with them, what they do, or what they can expect from the graduates.

That ties in to the biggest issue I faced out there….experience. It almost always boiled down to exactly that. What sounds better to you? “I’ve been coding for 6 months” or “I’ve been coding for 2 years”. Here’s the thing, time is a relative thing and you can’t base skill solely on time. What if I said the former put in over 1000 hours of coding within a span of 3.5 months plus another 500 hours for the remainder of the 6 months. And the latter mostly just coded over the weekends and over the course of 2 years maybe has about 1200 hours. Makes a difference doesn’t it. I don’t think some of these companies out there truly understand the amount of time coding bootcamp grads put in to learning the craft.

But that’s not professional experience, which is obviously more important, but everyone has to start somewhere, right? On the other hand though, professional experience doesn’t always mean the person knows what they’re doing. I was recently talking to a very experienced programmer who told me he worked with a Sr. Front-end developer once who actually asked him where JavaScript runs. This guy apparently had 10 years experience and this was before the time of Node.js. Even in my short time I’ve seen a person with about 6 months experience run circles around another person with 3-4 years experience.

It’s not even in programming, take any career in any industry out there. I can’t tell you how many times I’ve run into people with 5,10,even 20 years experience in their field that didn’t have a clue what they were doing.

More recently, I interviewed with a company that I was brought in for specifically because they “wanted someone new that they could take under their wing, train and mold”. A couple of my cohort-mates actually interviewed with them as well and we were all denied because we didn’t have enough experience and they wanted someone that’s been professionally programming for a few years. Seems a bit contradictory to me.

I actually received a bit more specific feedback as to why they passed me over. They were apparently thrown off by my answer to a question about if I consider myself a Jr. or Mid level developer.

I’ll take some of the blame here. Recently, and I’m sure it’s come off in some of my posts, I’ve gotten a little cocky. Anyone that’s known me for any period of time knows that I’ve never been one to be cocky and that if anything I’m the polar opposite. But after 28 years of working (yes I started working as a paperboy at the age of 11), I’ve learned what I’m capable of and how I perform in whatever scenario I’m thrown in. I think I’ve earned the right to be confident. Even after everything I was still worried when I first started to learn to code. I didn’t have that confidence coming into a coding bootcamp, but then I did really good, really really good. After that I had no doubts whatsoever about what I can do and I may have let some of it get to my head.

So, the question. I told them that “I realize I’m technically a Jr. right now, and I’m not a mid-level yet, but I feel I’m somewhere in between and I know that I can get to a mid-level in a few more months”. I don’t think that was too bad, buuuuut, I didn’t stop there. Nope, I had to keep going. I went on to say that a lot of companies that look for Jr.’s want 2-3 years experience, and that by the time I have 2-3 years experience I’ll be overqualified for those positions and I’ll be at a Sr. level.

Um, yeah, looking back I may have gone a bit far and definitely didn’t do a very good job of communicating my strengths in a manner that doesn’t come off as a cocky bastard. Yup, it’s a fine line and I crossed it.

I didn’t realize it though until last week when I was at lunch with the career services manager and other instructors, told them about that and I got a pretty bad reaction with a bunch of ‘no’s. It made me think about what I said and how I’ve been coming off lately. I know I have a LOT to learn still, and that’s the part I failed to convey.

Moving on, the other thing I’ve found out there is that it’s really hard to find available Jr. level and even mid-level positions. Most of the stuff advertised is for Sr. levels. The lower levels come by word of mouth, who knows who, and meetups. That is why meetups are SO important. Other than a couple notable exceptions, the closest any of us bootcamp graduates here in Dallas have come to finding work has been through meetups.

It was through a meetup that I met someone who later on contacted me about a position he had at his company. That position wasn’t right for me so I had to pass, but I did get a couple of my cohort-mates in for interviews there. Another cohort-mate got as far as completing a coding challenge with a company before being told they’re really looking for Sr. levels at the moment. Through a meetup a different cohort-mate actually got a paid internship, working on .NET!!!! Yeah, something completely different than what he learned, had zero experience in, and he got in and is getting paid to learn it on the job.

That’s the best tip I can give for anyone looking for work. GO TO MEETUPS! GET CONNECTIONS! MEET PEOPLE IN THE INDUSTRY! You never know, one day, someone at that person’s company will ask them if they know anyone for an open position. That anyone could be you!

Next tip, don’t give up! Don’t take no for an answer either, (but don’t be crazy about it). One of the recruiters I worked with almost didn’t happen at first. During my first call with the recruiter, once we got into the issue of my experience, they told me they don’t have any Jr./entry level positions and was about to end the call. I wouldn’t let it go that easily though and before the call could be ended, I interjected and went on about what I’ve accomplished so far with regards to coding and what I’m capable of (without being cocky like I was above). My passion came out and next thing I know I was setting up an in-person interview with them.

Two days later I went through a round-robin of interviews with 4 different people at the recruiter’s firm. I got a great vibe with all of them and one of them told me that they were able to recently place someone with the same experience as me in a company that wanted more. She said this persons passion just came out and she convinced the company to give him a try and not only did everything work out great, the company was absolutely happy with the decision.

The initial call that almost ended prematurely ended up with a great connection, and turned into an interview directly with an employer, another possible interview with a startup, and who knows what else in the future.

Finally, I want to talk about the whole college thing. It’s no secret that I don’t have a degree of any kind. One of the main things that drew me into pursuing coding was that you can get around the college degree requirement and experience by showing off your skills. If you can create a full-blown application, if you can create something amazing, then your past history or having a degree no longer means as much.

I’m not saying college is a waste of time, if you have the ability to go through it and get the education that results in a degree than by all means do it. Even though it shouldn’t matter in some situations, having it can only help you, it won’t hurt you. And that leads into this divide.

There are those that do believe college is a waste of time, and they’re wrong. At the same time there are those that have a college degree that think you can’t be a great programmer without one, and they’re wrong too.

I may not have a degree, but I did take some courses for several semesters at Central Michigan University as well as at a community college. There were a bunch of classes that I absolutely loved and I can tell you that, 20 years later, I probably couldn’t tell you 98% of what I learned. What does that say about if I had a degree? A piece of paper doesn’t mean I’m going to just start remembering everything.

Having said that I’m sure it’s a little different if you go straight into the industry that you degreed in and keep building on top of it.

Problem is that some people think, “I went through it, so you should as well”. That’s the overall vibe I got from one interview I did. From the research I did on the company, majority of them and the founders were all graduates from the same university with some sort of CS degree. I was specifically asked if I took any CS classes at all, and after I said I hadn’t, I was asked if I knew any ‘logic’ or worked with ‘logical problems’. I just got the feeling that they didn’t believe anyone could become a great programmer without a formal CS education.

I think I was able to overcome that last part pretty well though, mostly thanks to how Coding Dojo emphasizes algorithms and had us working through them everyday. I also went into how I decided to first get more in depth into learning how a computer actually works at the lowest levels before starting the bootcamp. Plus I have watched most of the CS50 lecture videos put out by Harvard, so I ‘kind of’ took a CS class (I didn’t mention that part though).

Cut back to the present. Because of my performance throughout the bootcamp, I had the opportunity to become an Apprentice Bootcamp Leader, which gets you started on the track to possibly becoming an instructor. Of course I still had to get through a couple interviews, some whiteboard algorithm challenges, some efficiency requirements on past assignments and finally a coding challenge.

For my coding challenge I created a program to generate a random binary search tree that would come out invalid and unbalanced. I then created functions to check if a tree is valid, what its height is, and if it was balanced. Then I had to turn the tree into a valid binary search tree in place (meaning I couldn’t just copy the values and create a new tree). Finally the hardest part, balancing the tree. I learned a LOT here and have become somewhat obsessed with trees now. In fact I’ll be writing a technical post about them in the near future.

But wait, didn’t I NOT want a long commute? No, I didn’t, which is why I didn’t start the process straight out of graduation (plus I was really shooting for the Gearbox position). But my wife understood and was the one to ask why I wasn’t applying for it, so I did.

Outside of the commute, there was pretty much nothing but pro’s on why I should do it. Even at the start of the bootcamp when I heard about the program I was interested in it. One of the things I loved doing while going through it was being able to help others whenever I could and the feeling that came with helping to fix something broken or better yet, when you see someone have the a-ha moment that you helped bring (I know that might sound a bit cliché, and I think I’ve read it in several other blogs, but it really is true).

That’s not it though, by doing this I’ll only solidify further and expand the knowledge I already have. I’ll be able to take on those more advanced optional assignments that I never did the first time. I’ll even have the opportunity to go through the Python and iOS tracks and add those to my knowledge base. I’ll be able to vastly improve my portfolio and gain more experience.

This is only a 6 month deal though, what happens after that is an unknown. Maybe I’ll have the option to advance further with Coding Dojo, or maybe I’ll move on to other things, or maybe a spot will open up again at Gearbox. Who knows, but whatever happens, I’ll be much more prepared with a whole lot more to offer.

Guest Post – Week 5 of the job

**Editor’s Note – Another great guest post from Super Secret! Thanks for sharing the update and I hope to be able to start sharing my own work experiences soon as well**

hey guys, its me again. I figured id just give an update on lessons learned from my time working.

now i’m not sure if this is actually something employers look for right off the bat, but it seems to me that this would be very helpful.

one of the things that i have noticed, that you don’t get from the experience at coding dojo, is dealing with other peoples’ code. at coding dojo, it is more of a churn and burn process for all of the mini projects that we work on to learn the languages. you build the code yourself from beginning to end.

when you get a job, chances are that you will have to support some existing code bases, and go in to make improvements/migrate technologies. this means learning to read through other peoples’ code, which, at the worst, can be very difficult. some devs don’t leave comments at all, or create their own structures, and don’t adhere to any kind of MVC like framework that we learn in the dojo. worse yet, sometimes their design/implementation can make absolutely no sense, and adds to the confusion. this makes reading code and trying to figure out whats going on a lengthy process, that for me, was rather overwhelming at first.

with that being said, if you are able to find some kind of github repo of a project that you find interesting, not only will you get practice learning to read code written by others, but if you can write code that is good enough that it is accepted into the production branch, you can call yourself a contributor (which wouldn’t hurt to put on your resume, or provide a talking point during your interviews).

btw, my job is having me learn use php, postgresql, javascript, html, css right now.

also, in terms of making your resume more attractive, it might be good to get some industry certs. some good ones in my area (Washington DC) are Sec+, Network+, CCNA, and Linux+, which may help to get a position faster/negotiate a higher salary.

that’s all for now!