With a background in neuroscience, machine learning, web development for Rolling Stone, and college teaching (plus standup comedy and game development on the side!), Corey Greenwald is now combining his talents as an instructor at Fullstack Academy. Corey tells us the differences between teaching at college versus a coding bootcamp, and how Fullstack Academy students keep surprising him with the caliber of their projects!
How did you first get into programming?
When I was 10 years old, I would use Game Maker software to build personal games. I was strong in math, and in high school I took programming classes in Visual Basic and Java.
I was initially a math and computer science double major at Binghamton University. But I took a general education class in neuroscience, loved it, and turned my focus toward that. I joined a machine learning lab, which was the bridge between my two interests. I put my focus on programming on the back burner, and continued onto graduate school in neuroscience at Lehigh University.
A year into that, I realized I liked automating my experiments more than doing them. I missed the logical push of programming, and I wanted to launch an app, so I took a leave of absence from school. I knew how to program at this point, but I didn't know how to engineer. So in early 2016, I took the opportunity to go to Fullstack Academy to learn what I was missing.
What did you do after you graduated from Fullstack Academy? Did you get hired immediately as an instructor?
I didn’t, but while I was job searching after bootcamp, I did work with Fullstack Academy to build the Remote Bootcamp Prep course for students looking to get their feet wet in coding. I then received a number of job offers and took an engineering position at Wenner Media, the parent company to Rolling Stone, Us Weekly, and Men's Journal.
While I was at Wenner, Fullstack Academy asked me to teach some evening classes. It made me realize I missed teaching. I’ve had math/programming tutoring jobs since high school, helped build an online course in college, and I always loved it – and as time went on, I came to miss seeing people finally realize the why behind new information. You can do a task time and time again and not realize the why, then all of a sudden it clicks like a flash of insight, and you finally understand. I realized I wanted to share that feeling with people all the time. So I combined my on-the-job and project experience, and was really excited to come back after my time at Rolling Stone to teach at Fullstack.
Is there a difference between teaching in college and teaching at a bootcamp like Fullstack Academy?
It’s similar in that both involve lecturing and working with students. But there are a few key aspects that are very different. A student’s motivation to go to bootcamp is different from their motivation to go to college. When I taught at Binghamton or at Lehigh, most students took my class either because it was a general education requirement, or because their parents had said they should. There were only a couple of people who were genuinely interested in the course.
But at Fullstack Academy, every single person is stepping away from what they’ve been doing and making a choice to change their lives – the attitude is so different. I really mean that. On days where, as an instructor, I feel less motivated as I might on another day, just being in this environment and feeling everyone's motivation, it's contagious. The bootcamp environment is very different from a teaching perspective. I do standup comedy on the side, and when the audience is already excited, I tend to do better. I can tell the same joke multiple nights, and the number of laughs I get depends on the dynamic with each particular audience. That’s very similar to teaching. If everybody in the class is really energetic, I’m a better teacher – and at Fullstack Academy, everyone is totally energetic and committed. I love teaching at Fullstack.
How many Fullstack Academy instructors or TAs are in each class – and what's your ideal student-teacher ratio these days?
That's something that Fullstack really excels in, and one of the reasons I chose to come here in the first place as a student – they really don't slack on the support. Every cohort has at least two instructors, plus five to eight teaching assistants who can help students with the material. Put the two together, and you’ve got about 10 teaching staff in total, managing about 35 or 40 students, so the ratio is 4:1 right now. It varies a bit with seasonality – sometimes there are more instructors, a few more or a couple fewer teaching fellows, more students – you get the idea. But the idea is to provide more than enough support so that we have the opportunity to focus on students who might need some extra help, and also to push those who are excelling even further.
After teaching at Fullstack for some time now, do you find that there's a certain type of student who does well in the class?
We work hard to attract a really diverse group of students, so it’s probably easier to answer the question, “What kind of student doesn't do well?” That would be someone who starts Fullstack Academy without realizing how rigorous the experience would be and how invested the people around them will be. Anyone who’s intimidated by other people's excitement, as opposed to letting it contagiously affect them, is not going to perform well, and more importantly, they’re not going to enjoy the experience. It’s a challenge, but students who do well here do so because they like to be challenged.
It’s funny, but the other key to success at Fullstack is being willing to fail. Failure is so hard for people to accept, but it's incredibly important when you do anything new, and especially when it comes to coding. You will mess up, you'll forget things, and you'll have to look things up – but the important thing to remember is that you'll also work through it – if not on your own, then definitely with help from instructors and fellows – and it’ll make you a better coder in the end. That willingness to fail and the acceptance of that temporary failure – we call it the productive struggle – is really important to student success. It’s called a bootcamp for a reason, and that challenge should sound exciting to a student. A bootcamp is not something that anyone should do on a whim or expect to skate through. It will require you to grow in all kinds of ways – not just as a programmer – and you should show up ready for that.
What does student success mean to you?
We have graduates who go on to work everywhere, from big tech companies like Google to mid-size startups and small startups – and we even have grads who started their own companies. But to me, success is not getting hired at some big-name company – because while getting a job is, of course, important, the most important thing to me is seeing my students learn more than they thought they could. For example, I’m so proud when I see students building applications where I have to ask myself "How would I even do that?" I'm shocked by some of the projects that students put forth – and I love it.
For example, when I was teaching the Web Development Fellowship last year, which is a free program for underserved New Yorkers sponsored by the City of New York, I taught our group of students all the way from Bootcamp Prep through to the end of the curriculum. So I saw students progress from not knowing how to write a line of code to building augmented reality apps – for example, an application that allows you to take pictures of your food and interpret the exact nutrition of it. To me, that is success.
What is the goal for a student who completes Fullstack Academy? What kind of projects will they be able to build and what kind of roles can they take on?
When students leave Fullstack Academy they will have a good understanding of architecture and they’ll understand how every different piece of technology fits into the “tech stack.” They’ll of course also be able to solve technical problems. They'll know some of the most popular technologies used in the field, and will be able to get jobs as junior- to mid-level software engineers in front end, back end or the full stack.
Some students take it a step further and push themselves to understand technologies beyond what we teach. For example, we teach React at Fullstack Academy, but if a student understands React, then they’ll be able to apply for jobs that call for Vue.js and get up to speed quickly. On the back end, we teach Node and Express, and I know plenty of graduates who now use Koa instead of Express. Or instead of Node, they use Rails, Django, or Spring. Our graduates are able to pivot between these technologies because we don't just teach to the technology, we teach to the concept and to the architecture. I think that's a really important lesson.
What’s your advice for people who are thinking about applying to a coding bootcamp?
Start coding. It can be scary because there are so many resources available, and it’s hard to know where to start. So start with something small like the Bootcamp Prep program. If you tell yourself you're going to build the next Facebook, Google, or Uber, chances are you're going to run into roadblocks immediately, and without guidance, you won’t be able to accomplish that outsized goal. Be a realist. Start by just learning how to code and how to think logically. Pick a language, learn the basics, then sign up for a bootcamp and get yourself into it.
Don't expect coding bootcamp to be easy. If it were, our graduates wouldn't be as successful as they are. Regardless of what you want to do – start your own company, launch your own product, get a software engineering job – learning to program will improve the way you think. It's something that I wish was more available to all. I really couldn't recommend a bootcamp more strongly. It was almost certainly the best decision I've made in my life.