Lance Robertson is a passionate futurist and writer who wanted to build a technical skillset, so he enrolled at Coding Dojo, a full-stack web development bootcamp in Seattle. Now a teaching assistant at Coding Dojo, Lance took some time to chat with Course Report about his experience!
In this video Q&A, Lance talks to us about:
- How Coding Dojo teaches LAMP Stack, MEAN Stack, and Ruby on Rails in just 3 months.
- What you can do to prepare for the Coding Dojo Belt Tests.
- How a non-technical background can make you a more well-rounded developer.
- An example of a real project that Lance made while studying at Coding Dojo.
Have more questions for Lance? Ask us in the comments!
Read the full transcript here:
We’re joined for this Q&A by Lance Robertson, who was a student at Coding Dojo, which is a programming boot camp that teaches three different stacks on the West Coast. (Lance went to the Coding Dojo in Seattle but they also have one in San Jose). He’s now working as a teaching assistant at Coding Dojo and he’s also working on some of his own projects.
So Lance, introduce yourself first and tell us what you were up to before you started at Coding Dojo.
I’ve been an artist and a writer for a long time. I spent most of my twenties travelling around the country doing spoken word poetry and I self-published a book. Then I was trying to reinvent myself as a futurist commentator and author and I was going to do a podcast for a while about technology and futurism. Eventually I found my way to the bootcamp and I thought learning how to program would be a really good fit for all the things I wanted to do.
It sounds like you have a passion for technology but did you have a technical background? Had you done a CS class, had you tried Codecademy or online resources like that?
I’d done a little with web pages before. I knew enough HTML to make a link or an image tag. I’ve dabbled in graphic design so I knew some style sheets and HTML; I think I tried to string together some jQuery code once or twice but I never took any programming or computer science classes. I really enjoy technology and I’m fascinated by it but I didn’t really have much experience.
When I was a kid, I had an old Radio Shack computer you plugged into your TV and you could program it in Basics, so I would type in some basic programs that came with this book that was included with it.
How did you find out about Coding Dojo and when?
I found out about Coding Dojo at the end of last year or so. I had some people in my life that had become associated with the place so I got to check it out and go in and see what it was about. It looked like a pretty solid enterprise so I thought I’d want to see if I could do it.
You went to the Seattle campus; were you living in Seattle before you started?
Did you have a motivation before you started a Coding Dojo for what you wanted to do afterwards?
My basic feeling is that in the future people will mostly be replaced by robots so the only sensible thing to do is to learn how to program so that you can be one of the people that program the robots that replace other people – which is kind of a half-serious answer.
I wanted to be better able to talk about technology so I can further my interest in writing about technology. I also wanted to be able to make my own apps and programs. Other than that, I just wanted to develop a skillset that would take me places in the future; that I had room to grow.
It sounds like you had a connection to Coding Dojo before but did you look at other bootcamps when you were researching, and what factors did you consider when you were looking at them?
I looked around at some other things, just doing the research. The thing that drew me more so to Coding Dojo was the focus on the three different technology stacks, which I think in an intensive learning environment can be a really helpful way in learning how to be a self-sufficient programmer.
You learn how to see things done in different approaches for different technologies. I feel pretty confident about learning other technologies now that I’ve ploughed through three different ones.
What was the application process like for you? Did you fill out an application online, did you fill out an application or do a technical interview?
I pretty much came in right before they were about to start a cohort and talked to everybody there. I just jumped in at the last minute, which is kind of lucky I guess.
They have a new app on the site where you can practice your algorithms. They want to see more that you’re going to learn on your own and that you’re a self-starter – someone who’s tried to teach themselves already to some degree.
How did you pay for it? Were there options for financing or payment plans?
I’m a lucky guy. I got a lot of help from my family. They were seeing that I was trying to improve my life and make that kind of investment. But they do have merit-based scholarships. Some of the people in the class that I graduated with had gotten a couple thousand dollars off of the tuition.
What were the three stacks that Coding Dojo taught? Tell us about what you actually learned.
You learn the LAMP stack at first then the MEAN stack and then Ruby on Rails. You spend the first 6 weeks learning about basic HTML and CSS. You bring in the database with MySQL and you start running the server on your development machine, learning how to write in PHP and learning how to build basic server side scripts to generate content for your webpages. Once you learn how to make all these things then they teach you how to do it in the MVC framework the one CodeIgniter that we use for the PHP, for the LAMP stack, so you learn how to do it in CodeIgniter.
And then you do another test on that stack and in the last 3 weeks you do Ruby on Rails which has a lot of nice syntaxes and helper methods and stuff built into it that help you do a lot of the things you do when you’re doing web development very commonly. It’s a breath of a fresh air at the end because you feel like you climbed up a precipice and then you’re getting over the horizon.
Now that you have learned all three, do you think that it made sense to start with Lamp Stack and then go on to MEAN stack and then Ruby on Rails? Does that order make sense?
The curriculum is pretty well designed because you learn on something that is easy to pick up. They tell you in the program it would be harder for somebody without any experience to start learning Ruby on Rails because there is a lot of stuff it does in the background for you. It’s more of a heavy framework than the LAMP Stack where you use CodeIgniter and it’s pretty easy to download a copy of it and clone a copy of it whenever you want to start a project and start going to town. It builds on the previous things that you learned and once you see it done one way and then you do it another way and by the time you’re doing it the third way, you start to get a good feel for what kind of ideas are transferrable across the different stacks.
Were you learning the same thing in 3 different ways to do that same thing or did you find that there were things that you could actually only do using one stack?
The main thing that you learn how to do across all of them is what they call the CRUD operations which are create, retrieve, update and delete or destroy, so anything that you make that talks to a database then you have to have these methods for all those things . You actually sometimes build the same assignment; like they’ll have you do it in one stack and then another stack and then another stack and you could see what’s easier about doing it in a stack that has more features, but there are some things like in the MEAN stack that it’s really good at, like you can use Socket IO to do web sockets for fast real time communication because it’s the newest set of technologies.
You could have certain kinds of applications that lend themselves better to that technology stack.
Did you find that you liked a certain technology stack more than the other two and were you able to focus more on that or was it pretty well evenly split between the three?
You spend the first few weeks focusing on fundamentals and learning the basic building blocks and how to do loops and learning about variables and arrays. Then you spend 3 weeks on CodeIgniter and the LAMP stack and then 3 weeks on the MEAN stack and 3 weeks on Ruby on Rails.
I kind of wish there was a bit more time spent on the MEAN stack and maybe on the Rails stack because there are more involved things you could do and it can take some time to get more familiar with. You learn how to do the basic things that you’re going to do 80-90% of the time for whatever apps you’re going to make, then you have to figure out the rest of the pieces on your own.
I enjoyed the MEAN stack a lot and Ruby on Rails the most, so both of those things I want to work with them more and I’ve been doing that.
Can you tell us about the belt tests how often you had assessments, what you did to pass them and if you needed to pass them. Give us an overview of what those were like.
There’s three of them, one for each stack, so at the end of the course track for that particular stack technology they have an exam day. You sit down and everybody gathers in the classroom and they put up this test for you. They give you a link to unlock it; they hand you a diagram with a wireframe for an app or a site and they’ll say, make this app with all these features in 4 ½ hours.
The best thing you could to prepare for it is to do all the assignments you can and get as far as you can and maybe do pair programming with other people so you can pick it up faster. You just need to be able to know how to do the CRUD operations on whatever it is that the app is asking you.
Actually, before you do the belt exam for the LAMP stack, the first one is the yellow belt and that one is just a HTML/CSS test that you do within the first few weeks of their program and you make a webpage. They give you a diagram of a page and they say, make a page that looks like this. That one was the one I was most nerve-wracked by even though it was the simplest one because I didn’t really know what I was doing. When I first started it took me a long time just to make the webpage and I ran out of time - but I still passed and I got a good grade on it.
Did you end up passing all of the belt tests?
I did actually, I passed every one of them the first time I took them which I was pretty happy about.
If you don’t pass a belt test, do you get another chance to take it?
Yeah, people will take the test again and sometimes they’ll take them right away, a few days later or maybe the next weekend. You want to do it while it’s still fresh in your head. But if not, you could also do it at the end of the program. They have a residency thing you can do after you graduate and come in and ask for help and get some career guidance. Those resources are there so people will come in and they’ll work on the ones they didn’t finish.
If somebody doesn’t pass one of the belt tests after they take it a couple of times, what does that mean? Are they asked to leave the program? What are the implications?
I think the implications are that you’re going to have to keep practicing. I don’t think people are really turned away for not being able to complete it. I think if you get as far as you get to even take the test then you’ve already learned a lot. You might need more help to try and pick it up and to figure out that it’s not your most favorite thing but you still learn a lot and those skills can be useful.
They’re not going to kick you out; they’re going to work with you.
Have you found ways that your background or what you were passionate about before you went to Coding Dojo have overlapped or helped you in your journey to learn to code? Do you have advice for people with less of a math/science background getting into programming?
Before I did this I never thought that I even could be a programmer. I always just thought that programming was something that only some magical class of elite wizard people could do and I just wasn’t smart enough to do that.
Going through the program was empowering to me because it expanded my conception of what I think is possible, things I could do. I would just say even if you don’t feel like you’re the most technical, having the passion for technology and ideas for things I wanted to make was really helpful to me. The more that you’re able to demonstrate that you have a focus or a passion, that’s going to be the way you’re going to get the most out of it.
That is wonderful advice. I think also when people have different backgrounds before they start it makes them better developers.
I think so; I think people want more well rounded characters; you have a lot more different experiences to bring to it or communication skills. I’m a good writer and I’ve got good reading/ comprehension skills and doing development is a lot of research and documentation and sometimes it can be pretty thick so a lot of it is about reading, comprehension and communication.
Tell us about a project that you worked on at Coding Dojo.
I’m putting together this web app where it’s a rhyme finder. It uses a pronunciation dictionary with machine-readable phonetic code to basically find words that rhyme with each other. What I wanted to be able to do was not just regular rhymes but what are called slant rhymes that are words that almost rhyme or they share similar vowel sounds but different consonance or similar consonance with different vowel sounds.
You can go to a word that rhymes and you can say that only 12 of these results are perfect rhymes, and this consonants here they share: rhymes, rimes, rams, reams, rims, roams, they have the same consonant sounds and then there are other words. If it’s a single syllable word then there’s going to be hundreds of results. it’s a little overwhelming.
Did you build the database or if not, what did you use?
It uses a data set that comes from Carnegie Mellon University that’s called CMUDICT and it’s a pronunciation dictionary. It actually uses a phonetic code way of tagging how to say stuff; I think it was developed by the Navy or the military in the 70s called the ARPAbet. They have it for their speech program and apparently they have a lot of applications in speech recognition and text-to-speech and speech-to-text.
I wanted to work with a linguistic data set and I also have some other plans to develop this app where you can type whole lines into it and it will try to build strings of text that rhyme with what you give it and match the phonetic stress pattern or the accenting of the cadence.
I think that is really cool, it solves a very specific problem. How did you come up with that idea?
It’s basically just something I made for myself and because there are other sites that have slant rhyme-finding and I wanted to build one myself and wanted to be able to have this sort of filtering where you can toggle different categories and rank them how closely the words are, the distance.
What technologies did you use to build it?
Originally, I wrote the first incarnation of this as a Ruby on Rails application because that’s what we were working on at the end of the program and when I was trying to build my final project, I was doing it solo; because we had other group projects earlier where I did some other things with linguistic information.
I wrote this other program that takes a text and chops it up and re-organizes it and prints it out on the screen. I’m going to eventually try to make it into an app where you’ll have a magnetic poetry interface and as you add words there’ll be a field that populates with suggested words and the words that are suggested to you will be based on the words you’ve already typed in, and they’ll either sound similar or they’ll be related or off the data set. I think of it like a poetic autocorrect.
Did everything that you used to build those two projects come from what you learned at Coding Dojo or were they things that you ran into that you didn’t know how to do?
There were definitely things I had to research on my own because they give you the foundation and then you’re going to build on top of that and you might have to do some research. There are these things that are called regular expressions or regex which is like a text parsing engine that a lot of programming languages and databases support. It allows you to write little query strings with wildcard characters to match certain things or not match things. I had to get really good at that and they don’t really teach you much about that.
You said you had worked on other group projects but this one you worked on alone, right?
In the last week of the program they have a demo day and you get up in front of everybody and show off your stuff. I wanted to be ready for demo day so I worked pretty hard on coming up with the rhyme finding app. I originally wrote this very Vanilla app in Ruby on Rails and it just gave you a list of results and there wasn’t really any rhyme or reason to it but now I converted this thing over to running as a Node server and its front end is all Angular, so you can do real live filtering of the text. There’s a lot going on the front end and it takes a lot of work off of the server side.
I spent a couple of weeks after the program was over, porting that over, rebuilding it in another technology stack again. I might reengineer the whole thing again.
You mentioned you spent a few weeks afterwards rebuilding it; what else have you been up to after graduating and when did you graduate?
I graduated about a month ago now. First I was hanging around then eventually they were looking for teaching assistants so they asked me if I would do a regular teaching assistant gig there and so I work with the next class that’s coming up behind us and I get to go through it all again.
I found out I’m pretty good at helping people and explaining things and I enjoy it a lot. Now I’m learning a lot more just from watching other people do it and seeing a lot of the common pitfalls, so I think I’m going to try to stay in the whole education scene for a while because I enjoy it a lot.
What has been the feedback loop at Coding Dojo? Were there things that you wanted to see change when you did the program and now you’re able to affect that as a teaching assistant?
I get to give some input; I get to put my two cents in. The lead instructors and I, we all depend on each other to carry the load and any kind of thoughts that I have about it are welcome to them; so I do give them a piece of my mind about things that we could polish it up and give a better experience.
I’m a writer guy so I want to be able to clean up some copy editing and stuff in the course where some of it is written with some kind of ‘English as the second language’ to it. I think for the sake of clarity I might help people out and clean things up a little bit.
Was Coding Dojo worth the money and would you recommend it to a friend?
Yeah, for me it was definitely worth it. It really gave me the tools and expanded my whole conception of what’s possible. I didn’t really know where I was headed, my 5-year plan or anything like that – I guess I still don’t really but there’s a lot more options available to me now, I feel like.
I would recommend it to people who are going to be able to keep up with the pace and who have the learning style that they like figuring things out for themselves and they’re self-motivated, they’re looking for an intensive learning experience. I think you get more out of it the more that you’re able to assimilate thing fast and keep moving. Ultimately, when you get out of it you’re going to be able to really move on to other things like other languages or technologies if you so desire.
That was perfect. Thank you so much, Lance. Is there anything else that you wanted to add that we didn’t touch on about your experience with Coding Dojo?
One of the things I think that adds a lot of value to the experience that maybe I didn't really touch on, is the relationships you develop with people. I’ve made some great friends who were in my class. Some of them didn’t even live around here so they moved back to where they’re from. I just feel like on the level of networking, you could start a company with one of these guys someday.
But on a social level, you keep making new friends and connecting with smart people who are interested in things you’re interested in. There’s a sense of camaraderie there that’s very compelling. I wouldn’t want to overlook that. It definitely added more value to the whole situation.
Lance, thank you so much for joining us, I really appreciate it. You've given such great insight, amazing advice on how to pass those belt tests, and it was really cool to see what you were actually able to build while at Coding Dojo. Best of luck to you, really appreciate it.
Thanks to everybody who has watched this live Q&A. Leave your comments if you have questions that we didn’t get to cover and let us know what you want to see in your next live Q&A with Course Report. Go to Course Report and sign up for our email list, you’ll get great updates about our live webinars and all the good stuff. We’ll see you next time.