coding bootcamp

5 Reasons Kids Should Drop Out and Tune into Becoming a Software Developer

By Jeff Winkler

You see it happen in professional sports all the time. A new prodigy arrives on the scene, one who oozes with god-given natural talent, and begins living out his (or her) manifest destiny by dominating the game. Our contemporary examples include the likes of Tiger Woods, Lebron James, Serena Williams, and Bryce Harper.  All uber-talented, and all knew at a very young age that they weren’t going to be sitting behind a desk for a living.

Yet, far away from the bright lights of the playing field and ball courts, there’s a very similar talent emerging in the ambient glow of a computer screen.  You likely won’t ever know their names, and you won’t be seeing them appear on any television commercials. However, they too are destined to reign supreme in their trade, and have a major impact on their organization – and potentially the world.

Let me take you back to the end of the 2015 summer when Origin Code Academy hosted a 2-week computer programming class for high school students in San Diego.  Attending the class were a pair of kids that were picking up the concepts faster than anyone I’ve ever seen – including many previously trained adult learners that I’ve encountered.  It was as if these kids were genetically predisposed to be programmers. Not only were their minds wired for it, but it also brought them great joy to put their talent on display – just like a professional athlete.

Their parents begged us to create a curriculum for them to follow while they attended high school because they were bored at school.  If they had their druthers, I believe the parents would have allowed the kids to drop out of school at that moment, and begin working as a developer.  As crazy as that sounds, I’ve come to the realization that they were probably right.  I’ve rolled this scenario around in my head like a cement mixer for the last few months and I simply don’t see any reason why kids shouldn’t be allowed to drop out of high school to start working as a developer if that’s what they enjoy.  Here’s why:

Computer Science degrees don’t matter.

At Origin, we have a guest speaker every Friday morning to talk to the students.  Our guest speakers are either Founders, Senior Developers, Recruiters, or CTO’s.  The students are able to pick their brains on a range of subjects – from hiring practices and code test practice, to insight on how to position themselves for a successful career in tech.  Out of the last 12 speakers, guess how many said that a college degree was required to become a successful developer?  Zero!  In fact, most of the speakers viewed it as a negative.

There’s a reputation that new Computer Science degree grads think that they know it all because they aced their college classes.  However, a lot of what they know has quickly become outdated or irrelevant in today’s tech hiring environment.

At a meet-up I recently attended, I struck up a conversation with a computer science professor that was with one of the large state universities here in San Diego. He had expressed genuine frustration at the fact that he was only just now able to get GitHub into the curriculum after several years of trying.  By this time, GitHub – a popular web-based repository hosting service – had been around for 7 years – which is also when the first iPhone made its debut.  So, imagine if you were majoring in “Mobile Phone Hardware Engineering” and you just got access to first-generation iPhone tools and curriculum as a part of your $30k yearly tuition. It would be like going to fashion school to learn how to knit leg warmers.

Let me end with stating that Computer Science degrees are not a waste of time or worthless by any stretch of the imagination.  They are valuable for years 3-4+ in your tech career.  However, most of the studies estimate about 100 hours in coding during your undergrad while coding bootcamps average closer to 600 hours.  The coding bootcamp graduate definitely needs to reinforce computer science topics on their own time, but since they won’t have to use most if not all of those concepts early in their careers, it doesn’t need to all be up front.

 Our tech communities would thrive.

Origin Code Academy is based in the same building as several startup incubators.  Do you know what all of them need to continue to grow? More developers.  Scores of them. It’s the main reason the average tech salary in San Diego was $114,300 last year, and the average non-tech salary was only $49,700.

By allowing kids to drop out and tune into a tech career, it addresses a real need in the local technology workforce.  The entrepreneurial community would be greatly served by having a larger pool of more adequately qualified technology candidates.

What do companies do now when they can’t find talent in the US?  They get it from Mexico, Ukraine, or India.  They have to, there’s no alternative.  Would you rather companies in your community continue to spend that money for overseas talent? Or give it to a 17 year-old that has been developing for three years and lives down the street?  You are increasing the city and state’s tax base, the depth of their talent pool, and expanding the job creation market potential in every instance.

We’re only delaying the inevitable.

Do you remember what you were like in High School?  I took a clothing class to hang out with a cute girl every day – and to make my mom and grandma’s Christmas presents.  I also took a cooking class because it was a lesser evil than study hall.  Now, while I’m thankful that I can make a killer grilled cheese sandwich as a result, maybe it would’ve been more productive to have an entrepreneurship class, or a sales class, or a personal finance class.

I’m advocating that for current high school students that already spend 4-5 hours a night coding or doing Minecraft mods, that they seriously consider making the leap to “go pro.” By dedicating their focus entirely to their craft, they can earn a salary that would likely rival what their parents make – and avoid the steep cost of college tuition.  By the time their peers will have reached their senior year, these “dropouts” would already have several years of experience and would be much further down their career path.  The only sacrifice would be missing a few additional years studying topics that they weren’t really going to retain anyway.

It accomplishes the goal of education.

What is the goal of education?  Ask 100 people and you’ll get 100 different answers – but for sake of argument, I’ll suggest that the end result should be a productive citizen that is working and providing for themselves.  This could be accomplished right now with thousands of high school students.  They already have the skill-set, and already spend a significant amount of their time coding, so why not let them start working as a software developer right now and start earning money?  As software developers will tell you, the education will never stop for those in tech as things change so rapidly, so why not jump in and start the lifetime learning that is involved in software development instead of the periodic table?

Logical minds will eventually embrace the need to change.

I’m not opposed to having some regulations to implement this policy change.  Obviously, it’d be irresponsible to not have some rules that needed to be followed or standards that needed to be met before allowing a kid to drop out of high school.  However, I think it would be fairly easy to come up with those rules and standards.  Perhaps a summer internship with a company and a year-long, part-time role as a junior developer would be enough to allow them to get a waiver to no longer have to attend high school?  There really is no downside assuming you ensure they can perform the skills that companies are hiring for before quitting high school.  By the time their peers are graduating with six-figures of debt from college, they will have seven years of work experience and a much healthier financial situation. If they still want to go to college someday, they can use their salary to pay cash rather than financing with Sally Mae.

The parents whose kids would fall in this category would overwhelmingly agree with me – but they’re resistant to the notion because it’s not yet socially acceptable. Eventually, as college tuition costs escalate even higher and the demand for software developers continues to mount, minds will begin to change and “going pro” will become acceptable for those who have talents you can’t find in the sports arena.

Tony Stark was able to build this in a cave… With a box of SCRAPS!

By Mark Srethabhakti

If you haven’t yet seen Marvel’s Iron Man, the 2008 adaptation of Elon Musk’s life as a mechanized superhero, this scene features the incomparable Jeff Bridges as tech CEO Obadiah Stane approaching a flustered engineer, who struggles to explain to him that the technology required to build what he has asked for does not exist yet. Bridges calmly attempts to assure the engineer of its feasibility citing the fact that a working prototype exists in front of their very eyes, but upon further protests that the project is impossible, Bridges erupts in the above phrase. The engineer can only apologize for not being genius, billionaire, playboy, philanthropist Tony Stark, the titular “Iron Man.”

When I first started this class, I felt like that engineer. Every project that was assigned came with a list of ridiculous requirements, and my initial reaction would always be something along the lines of, “well this is clearly impossible.” I said that to myself every time, even though I knew that our instructors,Cameron and Sean probably made the mock up version in approximately 5 minutes (presumably in a cave with a box of scraps… or Bootstrap). Obviously, the technology exists, there’s proof of it right there in the example, but there was always that initial thought of “what if they’re training us wrong as a joke and the mock up’s just a photoshopped picture!” Even after I completed each project, proving that Jeff Bridges was absolutely right, I still didn’t feel like Tony Stark. My code seemed like crude workarounds and I was always left wondering what elegant solution Cameron “Tony Stark” Wilby or Sean “Iron Man” Cahall would have used.

Fast forward, to week 9 and, dare I say it, I think I’m finally starting to feel less like the Jeff Bridges’ punching bag engineer (fun fact: same actor as Ralphie in “A Christmas Story”) and more like Tony Stark. Not so much snarky genius Robert Downey Jr. playing himself Tony Stark (I wish…), but the Tony Stark that was inside the cave, building his first suit out of a box of scraps surrounded by terrorists and with shrapnel in his chest. When faced with an insanely difficult situation, Tony doesn’t resign himself to an ignominious death in the desert, he buckles down and gets to work. He literally creates impossible technology, and while his first version of the Iron Man armor isn’t the sleek, refined technology that headlined the latest Avengers films, it was functional and ended up saving his life. That’s why the movie is called “Marvel’s Iron Man”, not “Marvel’s Chief Stark Industries Engineer William Ginter Riva.”

This week I decided that my final project would work better with the increasingly popular MEAN stack instead of the ASP.NET Entity Framework and SQL server, which would be all well and good if I didn’t have to learn three of the four frameworks/tools in that stack. Certainly a challenging task, but I am now confident that I have the tools and knowledge to figure this out. My last two days have been spent like my first two days: copying code from the internet to see what works, racking up points on Team Treehouse and trying to keep my mindset optimistic and fun, but this time I have a different perspective: You can think about how impossible something is, or you can instead use that time to work the problem instead. It doesn’t matter how ugly and crude your solution is, if it works, it works. And finally, even without a mock up or example project as proof that your project is even possible, you have to just shut up and get to work until you build your Iron Man suit and blast your way out of the terrorist compound!

Duck… Duck… QUACK!

By: Zak Dietzen

After a great holiday break we are back at it. Quack is going to pretty much consume the rest of class time for me, but I am excited about that! I started off the project thinking about my database structure. This takes a lot of time to plan out and get correct. I then used a great tool called draw.io to sketch out my database structure.  Once I had it the way I wQuackLogoSmallanted, I used code first entity framework to build my database. This took me a day or two to figure out. I was struggling mapping with the code first approach. I sat down with Cameron for a good hour or two and he helped me work through the issues I was having.

I spent the rest of the week building out the back end of Quack. It was starting to shape up when Cameron mentioned he would like to be able to log in using Google+ or Facebook login. Authentication is already a struggle so learning how to do this was going to be difficult. Most of my time was spent on the internet researching oAuth and following tutorials. I finally asked Cameron for help and I am glad I did. There are so many moving parts with oAuth it got really confusing really fast. After about two and a half days of wrestling with authentication I think it’s ready. I need to test it still but I can’t do that yet because I need to host my application somewhere other than localhost.

I felt like I made some pretty good progress on Quack and decided to write a resume this week as well. I have been putting this off for a long time and I felt like now is a better time than ever to start writing one. I researched a lot of developer resumes and decided on a layout that I really liked. It took a solid day to get it filled out with just the right information, or at least so I think! I need to start getting serious about the job search considering we only have one more week of class. That is extremely hard to believe, and depressing. I want to learn even more!

That is this week in a nutshell. I feel like I got a decent amount of work done and I am looking forward to tackling our last full week of class. So check back next week for the final full week. I will hopefully be finishing up Quack and getting ready for the job hunt. I am extremely nervous for what’s ahead, it should be exciting!

Things are getting interesting

Written by: @zakdietzen

This week we dove into the wonderful world of API’s. We were given an introduction to API’s and how they worked Monday in class. We were then told to build a program that fetched github data about a user and displays that information to us. It was a great first exercise. It was a lot of fun learning about what you can do with an API and the information it gives you. We worked with other API’s as well. We created a high frequency trading app (not one that you would want to actually use) this week as well. It would get information using Yahoo finances API and would give us information on buying and selling a stock if the price would raise/decrease. We built a weather app the gets informationAPIfrom the zip code the user enters. This was a really fun app to build and helped me understand how to take the data received from the API and turn it into a JSON string. We can then take that JSON and display our information from the API to the user. I could go on and on about all the cool stuff we have been doing with API’S but ill move on for now.

I’m struggling with keeping my code organized and keeping track of where I am when I code. It’s hard to remember exactly where you left off at when you take a break from your project. I found that keeping a “captains log” of what you were doing and where you were in your code really helps out with that. In the next coming weeks I really want to buckle down and having organized clean code. This is also the first week I didn’t get all my assignments completely finished. I’m going to take time from this upcoming weekend though to go back and make sure I get everything done.

One thing I really like about the code class is having other students there with me. It’s awesome being able to slack one of them, or the teacher, and ask for help trying to figure something out. We all work really well together and try and give each other tips and tricks along the way.

Even after three weeks, when you compile your code with no errors I still get a rush. It’s so rewarding seeing your code run error free. Watching something start from nothing and then seeing the actual program run is the best! You feel so accomplished getting everything to work. It’s also equally as frustrating to work for hours and get no where. The only advice I can give you there is stay persistent. Keep plugging away at it and you will eventually figure it out.

It’s been a tough yet rewarding week. I cant wait to dive into next weeks lessons on databases. Check back in next week as always for a look into week 4 at Origin Code Academy!