Kevin Harris is the founder and lead instructor of Guild of Software Architects mobile development bootcamp in Frisco, TX. He and his wife started the bootcamp last year with part-time night courses, and they are about to launch a full-time immersive Android program in May 2016, and an iOS program in August 2016. Kevin tells us about his background developing mobile game apps, why mobile development is ideal for beginners, and how his experience in the military prepared him to be a successful programmer.
What’s your career background and experience?
I’ve been a programmer for 20 years. I started out doing desktop programming for Windows 95 and 98, then transitioned into doing 3D graphics programming for military and aircraft simulators. I was really excited when the first iPhone came out because it was the first smartphone that could be programmed like a regular computer. So I decided to move over to mobile development. I got a lot of experience doing contract work, worked with Zynga for the Words With Friends app. I also worked for Blockdot (now Soap) programming their Carmax app and a Lego mobile game called Galaxy Squad. Then I worked on the Doodle Jump game for Lima Sky. I also ported iPhone games to different platforms like Android and Samsung. I am currently the Lead Wearables Architect at Fossil, programming their new line of Android Wear watches.
Wow – that’s an extensive career! Why did you want to start a mobile development bootcamp?
I had been teaching night classes at the Guildhall of Southern Methodist University (SMU) for nine years. I developed and taught three courses as part of a Masters degree program in game development – 3D modeling, level design, and coding. I was excited about the rise of coding bootcamps because I really enjoyed teaching at a university, but because I don’t have a college degree, I couldn’t work full-time.
I realized a coding bootcamp was an opportunity to actually teach subjects that I want to teach and feel passionate about – and that is mobile development.
If you didn’t have a college degree, how did you teach yourself to code?
I went straight from high school into the Navy for the first Gulf War, from 1990 to 1994. When I left the Navy I had a lot of technical skills, but they didn’t translate into a civilian job. I was already a hobbyist programmer so I decided to do programming full time. At first it seemed impossible to get a job without a college degree or equivalent. But I looked up all of the Texas software companies in the Yellow Pages, told them I knew how to program, and offered to work for free for a few months to prove my skills. My first job was in the back of a server room where I was making only $12,000 a year, but it was an invaluable experience. After a year, I was hired by Fujitsu Network Systems as a software developer with a $64,000 salary.
When did you launch Guild of Software Architects coding bootcamp?
When I had the idea in 2015, we met a business incubator called North Texas Enterprise Center (NTEC) which specializes in taking founded businesses to move to the next level. My business idea was literally a startup, it was just me and my wife working together. NTEC is now providing the Guild/SA training rooms and my office.
We launched Guild/SA with night courses called Career Accelerators. We expanded to include apprenticeships. The night classes are on hold now while we focus on the apprenticeships and the immersive program. We have two apprentices now, and we have two more arriving soon.
Why did you choose to focus on mobile development?
In the Dallas and Fort Worth area, I see considerably more job openings for mobile developers than web developers. I can’t speak to other markets, but in Dallas there are a ton of startups that are eager to create mobile apps. Yes they need a website, as a marketing tool, but the real business of many startups are mobile apps. So we have a lot of companies looking for junior devs to do mobile apps – which is great for a junior developer who is eager and hungry.
Why is mobile a good platform for a beginner to learn?
I like teaching mobile development because mobile platforms are very self-contained learning environments. In web development, there are numerous platforms, different tools, languages and ways of doing things.
Some people think of mobile development as extremely complicated, but I think mobile development is actually easier because you’re isolated to a specific platform so your job is more straightforward. When you become an Android developer, you just use Java. And if you become an iPhone developer, you have just two language choices – either Objective-C or Swift. Both platforms are very self-contained learning environments, and in many ways I believe are easier to pick up than jumping into web development.
What’s the difference between the immersive program and the apprentice program? Are those aimed at people with certain backgrounds?
The apprenticeship program was created for students who have a background in development and are good at self learning, but need mentoring help in certain areas. Apprentices bring their own projects to work on, and we suggest certain technologies, but there is no highly structured classroom system. They pay monthly to work in our space, and we spend some time each day helping them make progress on their projects.
What sort of background or experience do students need to attend the Guild/SA immersive bootcamp?
We do prefer students to have some development experience as a hobbyist, but we are totally open to taking students who know almost nothing. Total beginners should expect the interview to be a bit longer, and we’re looking for excitement and passion about the topic. Hopefully, by the time students come to the bootcamp, they will have learned the basics. We do cover the basic language of each platform in Java and Swift, but we move forward pretty fast as we want to get to the actual development platform.
Do you alternate between iOS and Android for the immersive program? What technologies and languages are you teaching?
The Android bootcamp starts in May and that will be the only active bootcamp at that time. So we will be focused on Android for three months, teaching Java.
The iOS program starts on August 15. In the iOS program, we mainly teach Swift because it’s the new up and coming standard. But we will also cover backward compatibility to Objective-C – that’s very important because there is a lot of legacy code hanging around.
We also cover wearable technologies – Android Wear, and Apple Watch. And I have other interests like IOT devices and iBeacons. When students come up with a mobile app idea, I like to suggest they reach for something that’s new and cutting edge. I like to think of future students and apprentices involved in the Guild as being part of our own little skunkworks projects where we hack around on new tech and brainstorm new ideas.
What is your personal teaching style?
The first half of the day we have lectures, then typically, after lunch we have coding challenges. I like to start off with high-level concepts like push notifications. Then we get into the code, I give code samples, and we discuss how it works. As the bootcamp progresses I become much more open to questions about specific topics. Today an apprentice asked about how to monetize a mobile app. So I gave an off-the-cuff hour-long presentation on how to make money on apps.
One thing I like to stress with new developers is not to become overwhelmed by the apparent complexity of a problem. You must learn to break big problems down into a set of smaller problems, then research the solutions to those smaller problems. Once you have the solutions to the smaller problems you can reintegrate the solutions back together for the final solution. Sometimes, you need to take baby steps so you can sneak up on success.
How much time do students spend working on portfolio projects?
As the bootcamp progresses forward, lectures get replaced with project work. Building up a portfolio you can show an employer is important, so students build mobile apps that can prove their skills and knowledge. Towards the end of the course each student will work on a showcase app. The showcase apps should look as polished and complete as possible and have lots of bells and whistles so students can present them at our Demo Day.
How do you assess students’ progress? Are there tests or assessments?
I don’t have plans to give tests. I give out coding challenges, and then organically as students ask questions I try to gauge what concepts students are struggling the most with. If they are having trouble with a topic, I’ll identify where the problem is. The bootcamp is very structured, but everyone learns at a different pace.
What’s the interview/application process like? Is there a coding challenge?
We’re pretty lenient for now. We have an application candidates fill out, and we do a lengthy phone interview. I’ll talk to the student, get a feel for where they are at, why they are interested, and gauge how passionate they are about the field. I know some people want to go into bootcamps as a career switch, but you have to have a certain level of enthusiasm backing you.
I know you have a special focus on veterans at Guild/SA. Can you tell us about the sort of scholarships you offer for veterans? And why you think coding is a good career for veterans?
The mobile bootcamps cost $6000, but tuition is $3000 for veterans.
My personal experience, and I think this applies to a lot of veterans, is when you go into the military you have to go through a real bootcamp. That’s where I really became aware of self discipline, which had a big impact on my life. I tell students one of the most important things I learned in the military was how to learn. After the Navy, I had this fresh concept in my mind that I can I could learn anything if I had the right materials. Now it’s even easier, you can find thousands of videos online to teach you anything. I think in general veterans have some unique discipline to them – they have the willpower to focus, they can learn on their own, and many veterans have been in leadership situations. I think those are great traits to have in mobile development.
How do you help students with job placement? Do you have a career advisor or hiring partners?
We’ll have a Demo Day, where local recruitment companies and startups who are looking for junior developers can talk with our students, look at their projects and try to get them jobs.
I encourage students to show me their resumes, their LinkedIn profiles, and I give them general advice about applying for jobs. I tell students to be professional, and always be cognizant that people can find you on Twitter and Facebook, so you need to be careful with social media.
Tell us about the tech scene in Frisco and Dallas!
We have a lot of tech companies and startups in the North Texas area, especially Frisco, which are looking for mobile developers. I feel very confident that once we start producing graduates they are going to get snatched up pretty fast. There is a huge demand for mobile developers everywhere.
What resources or meetups do you recommend for aspiring bootcampers in Frisco?
We have a meetup group which is focused on people who are new to mobile programming. A lot of meetups have extremely advanced topics, which can be like drinking from the firehose for new developers. Our meetup is more for newbies who are just getting into tech and the topics are more basic, like How to Use Android Studio. We’ve also sponsored two hackathons this year, one of which we founded - HackEd.
Is there anything else you want prospective students to know about the Guild/SA bootcamp?
This is my biased opinion, but being a mobile developer is fun. Compared to web development, there are more opportunities at startups, you’ll likely work in smaller teams, and have more input about app design.
When you go back 15 to 20 years, when people talked about personal computers, they meant a big beige blocky thing on your desk. Today, everyone has a personal computer in their smartphone. A lot of people live their whole lives through this smartphone. If you want to work on the cutting edge of personal computing you should be in mobile app development.