Josh Tucholski is the Lead .NET Instructor at Tech Elevator coding bootcamp in Cleveland, Ohio. With more than 10 years of experience as a developer under his belt, Josh tells us why he wanted to teach motivated Tech Elevator students, why Java and .NET are ideal first programming languages to learn, and why Microsoft certifications are no longer essential for programmers.
Can you tell me about your background and previous experience before you came to Tech Elevator Cleveland?
I have been developing software for a little over 10 years. Prior to joining Tech Elevator in October 2015, I was a Solution Architect at Key Bank for their Community Bank division. I designed a lot of the software used inside their call centers and branches. I worked there for about three years and before that I was a Lead Developer for Rosetta, a digital marketing agency. There I worked primarily with C# and Objective-C to build dynamic web and mobile applications.
I'm interested in how you learned to code. Did you get a computer science degree?
I studied and received my degree in computer science from the University of Toledo. I've been around computers since I was five or six years old. At that time, my father actually studied for a CS degree at Toledo as well, and I always enjoyed working with him on his homework assignments.
At college I learned a lot of fundamentals and theory that most CS degrees cover: mostly C++ and Java. I picked up C# on my own, and kept learning it during a student internship. I learned a lot of skills on the job and in my own time. The majority of my work – from internships, to full-time positions, has used .NET as the primary language.
How did you first become aware of the coding bootcamp model and Tech Elevator?
The bootcamp model is really new to me. I was not aware of it until I was approached by Tech Elevator to be an instructor. They had done a lot of research to find the right instructor so when they contacted me, they educated me on the entire bootcamp model. Then I had to make the decision whether or not this was a career path I wanted to follow.
What about Tech Elevator convinced you that this was the right position for you?
One of my favorite parts about working at Rosetta was mentoring junior developers coming out of college. Sometimes it’s difficult when you have a mentee who didn't really want to learn, and was instead being told to participate. When I heard about the bootcamp model, and Tech Elevator specifically, what appealed to me most was that every student came in with an open mind and a thirst to learn as much as possible in a short amount of time. So for them, it's something new and exciting, not something an employer is making them do.
Were you convinced at first that people could become software developers in 14 weeks?
I was convinced. And after going through a cohort recently, it still holds strong that you can learn to program in 14 weeks, with the proper instruction and the proper exercises.
What does your role as Lead .NET Instructor include?
One of my main responsibilities is developing and vetting the curriculum for our .NET track. David Wintrich, the Lead Java Instructor, and I try to keep both curriculums in sync. So even though our students are learning different languages, at the end of each day they've both learned the same fundamental concepts and they can share those experiences with each other. Once we're in class, my time is spent teaching students the new material for the day and coming up with different exercises and solutions to apply what they’ve learned. The other part of the role includes meeting with students one on one, so we can collect feedback throughout the course and adjust things accordingly.
How many instructors do you have at Tech Elevator?
We have three at present but are always looking for great additions to add to the teaching team. We’re very picky about who we add as we’d rather grow slowly with the right people than expand quickly by compromising on the quality of our instructors. We believe a low instructor to student ratio is key to a great learning experience and we keep it around 1:10. Our most recent instructor, Craig Castelaz, is a 35-year veteran who worked at Oracle for 10 years. He’s mostly dedicated to tutoring students individually.
Tech Elevator teaches .NET and Java, which are pretty complex programming languages. Why are those good first programming languages to learn?
.NET and Java are two great languages to learn because they apply solid fundamental principles that are essential to have as a programmer. You can apply those across any other programming languages you might run into. Here in Ohio, .NET and Java are the most in-demand languages for employers, and beyond this region, the demand is also really strong because most big companies are powered by these languages . In short they offer a great starting point for your career. The other factor in .NET’s favor, is that it has been around for almost 20 years, and it's gone through a lot of iterations by Microsoft. They've brought it to the point where it's simple and easy to learn as a first programming language while advanced enough to run in enterprise environments.
I have heard before about people learning .NET earning certifications. Does Tech Elevator offer training in passing those certifications?
We do not, and to be honest, I’ve actually let mine expire. Those certifications might have helped my standing with employers, but have actually never gotten me a job. I've studied for them and they're often very intensive in terms of memorizing the language or the libraries that you can use. Our students are taught to understand the language, and upon graduating if they wanted to become certified in Windows Azure, MVC, Security, etc., they could study specifically for the certification and take the exam.
So are those certifications usually required by employers or is that becoming less common now?
I think it's becoming less and less common. You often see that requirement in systems roles involving managed services. But software development is more of a meritocracy. People are recognized for good ideas, and that leads to good opportunities. In today's world, if you're a developer and you're passionate, you can go online, create open source repositories of code, and that becomes your public portfolio for future employers. I think that holds more weight than a certificate from studying for a course.
What size are your cohorts? And what kind of diversity do you see in the Tech Elevator classroom?
Our average class size is 15 students, with our supporting instructors we strive for a ratio of 1:10. We continue to work to bring more diversity into the program, and at present about 30% are female and minority students.
We often hear about the highly iterative nature of bootcamps and how they can react to feedback. Could you give us an example of a time where you experienced this when you noticed the curriculum need tweaking?
Absolutely. Every day after I teach a concept, I can usually tell from the students’ reactions how well it was received and how well it was understood. I leave myself notes of things I need to address, then I can adjust the curriculum. We also have daily poll surveys that we give to students where they provide us feedback on the prior day's material from the perspectives of understanding, pace, and difficulty. We factor that in as we prepare the curriculum for the next cohort; what worked well, what didn't work well, and where can we swap things out.
What have you found is your personal teaching style? Do you prefer lecturing? Are you hands-on?
My goal is to stop talking before lunch every day. We have a good time. It's very open, it's very animated, it's light hearted, and there are jokes, which keeps it engaging. In the morning I usually teach a new concept then put it on the screen and have students code along with me. In the afternoon students break off into pairs and begin applying the concept on their own by working through a number of exercises.
The other thing that really helps our students is great analogies that are not computer or technology related and real life examples of a website that they may have used before. When they see how something works, they are more excited to learn it.
I'm interested in what jobs you see your .NET bootcamp graduates getting and what companies you see them working at.
The jobs our graduates are qualified for can vary a lot. Students can expect to receive job opportunities as junior developers using either the language they learned here, or another language because of the fact they have a fundamental understanding of programming.
Many students receive offers for junior application developers. We have some students who receive offers for business analyst roles, and also test engineers, which is something that requires development skills as well. Being able to write code to run automated tests is just as critical as writing code for an application. You basically have to come up with all the different ways to ensure the software is working as it's expected to.
What kind of background do you think the ideal bootcamp student has?
The ideal student, regardless of their previous experience, is someone who is extremely enthusiastic about wanting to learn, and is always asking questions. In most cases they’ve tinkered with code, often online and found they really enjoy it.They need to be great communicators because they're often working with teammates. If they understand something, they can help others understand. If they don't understand, they ask the right questions until they do.
They also need patience. Coding takes a lot of mental effort, especially in the beginning where you can spend many hours on one problem. Patience helps to avoid frustration by working through a problem until they come out on the other side with something that they're proud of.
What kind of hours do students put in at Tech Elevator over the 14 weeks?
Class hours are from 9 am to 4:30pm. But we've had students who show up at 6 am, and there are days where students are here until 10:30 pm. Our average student probably puts in anywhere between 50 to 60 hours per week.
How do you track students' progress? Do you give regular assessments or tests at Tech Elevator?
We have quizzes each day with the goal of understanding, first, how well the material was understood from the instructor’s perspective. And second, for the student to understand where there may be additional opportunities for tutoring.
But you don't have tests they have to pass to get to the next stage, or pass the program?
No. Our quizzes are not intended to exclude someone from proceeding forward. They are modeled after interview questions that our graduates have heard as they go out for job interviews. So we choose them to make sure our students are becoming familiar with those types of questions, but it's not intended to weed people out.
So you wouldn’t ask someone to leave if they are not keeping up with the Tech Elevator curriculum?
We do a very thorough job of vetting the students in the first place to make sure we avoid finding ourselves in that situation. We do aptitude testing and behavioral interviewing to find the right fit in the first place. During the cohort, the quizzes, one-on-one discussions, and tutoring are so frequent that if you're not a correct fit, or if someone is really struggling, then both parties will realize, and come to the table for a discussion.
What resources or meetups do you recommend for aspiring bootcampers in Cleveland?
Tech Elevator hosts a public meetup called Learn to Code in Cleveland doing regular hours of code and developer meetups. We also open up some of our career development events to the public so that outsiders can get a feel for the mentors and speakers in our network and can talk with current students. A few times a year, we host larger events like the hackathon we organized with Progressive Insurance and the Cleveland Indians.
As for other meetups in the area, there are so many different ones. Regardless of whether you like to make things, work on open source projects, or nonprofit projects, or if you want to learn about C# or Java, they all exist. They can just sometimes a bit intimidating to go to for absolute beginners, because you're joining along with other programmers who have been practicing for years.
Is there anything else you want to add about Tech Elevator?