After learning to program C in high school, Greg Piccolo was drawn to the New York startup scene and knew he had to be a part of it. He graduated from Dev Bootcamp and was hired as an instructor at Byte Academy, a New York City coding bootcamp at specializing in Finance and fintech. Greg took a break from Graduation Day to talk about Byte Academy’s unique programming and finance curriculum, why Python makes sense as a FinTech coding language, and why “sandboxing” is the key to excelling in his class.
Tell us about your background and how you got interested in programming.
I first learned how to program in C in 1998 when I was 13 years old. At that time there weren’t a lot of public high schools that were teaching programming so I was pretty lucky. So I had a background in the fundamentals of computing. I ended up working in IT as an administrator, but I saw what was happening in the startup scene in New York City. I saw my smartest, brightest, most ambitious friends working in tech, and I knew it was something I wanted to be a part of.
So I spent a year getting up to speed myself and I attended Dev Bootcamp, which I had a fantastic experience at.
How did you find out about Byte Academy?
One of my close friends from Dev Bootcamp was hired at Byte and they were interviewing for another instructor.
Did Dev Bootcamp convince you that the bootcamp model was effective? Did you have to be convinced of the Byte Academy model?
Having graduated from a three-month bootcamp and now teaching and working in a bootcamp, it’s easy to get wrapped in the bubble. I didn’t need much convincing in the because I already knew from previous experience that the only way to learn and get better was by doing.
It was just a matter of finding the right bootcamp. Dev Bootcamp had a very good reputation so I did not need to be sold on it. My other option was going back to a four-year university and finishing my degree in computer science but I opted not to do that. There are no great Computer Science programs in NYC and the good ones are really expensive. A programming bootcamp is the best value for money here in New York.
How does Byte Academy incorporate finance into the curriculum?
I’ve designed the technology portion of the curriculum. When you’re teaching a fundamental concept in computing like algorithms or data structures, you can’t always point to a financial concept as an example. But the students do four intensive weeks of finance and most of their projects do revolve around finance.
So you handle the technology side of the curriculum- who teaches finance?
Our dean, Richard, who is a consultant and has worked with companies like JP Morgan and GE, teaches the finance portion. And Rak, the other cofounder, also steps in. Rak has run a hedge fund and runs a successful consulting company.
How long is the bootcamp?
It’s 12 weeks of technology. We’re as programming-intensive as any full-stack bootcamp, but then we add a finance track on top of it. One of my focuses is on data and data science, which works very well with the finance track.
Which languages or technologies do you teach?
Why Python specifically?
It’s because Python is used in FinTech and Python is used for data science. Python has the best numbers library of any modern scripting language. Python also has the best plotting libraries and these are all important in FinTech right now.
Rak was able to draw from his experience running a consulting company and saw that this was the language de jour in finance.
Python is also a great teaching language because there are well-defined ways to do things and it’s very readable.
My entire experience up to this point had been in C and PHP; then in Ruby with Dev Bootcamp, though the language ultimately does not matter. Learning how to learn how to program is the most you can hope to accomplish, because if you can do that, then you can learn iOS development, Android development, Ruby etc. We focus on teaching language agnostic concepts that can be applied anywhere, because you’re going to find anything easy to learn and pick up if you understand the most fundamental and agnostic concepts.
Did you draw on your experiences at Dev Bootcamp to create the curriculum?
To a certain degree. There’s definitely a lot of material in the Dev Bootcamp curriculum that I would feel like I was stealing if I took it. But there are also a lot of ideas, problems, and exercises in their curriculum which have been around forever- you’ll find them in Harvard’s CS-50 course or on Codecademy. I can say that I drew from my experience of what had worked best for me and resonated with me.
What does a typical day look like at Byte Academy?
It depends on the day and the concept we’re learning. At most, we do an hour and a half of lecture each day.
Other than that, the rest of the eight hours here are spent working on the day’s challenges. Pair programming is optional. We’re a small school at this point and everybody is close-knit and working together and sharing information. You’re going to be working problems out with the people around you.
It’s just a lot of trial and error and a lot of ‘sandboxing’ as I call it. Sometimes new students are afraid to get in the sandbox. They’re afraid to type in something that they know might be wrong. I sometimes threaten to bring in an actual sandbox to the classroom! Whether you finish the challenges for the day or not, you have to just try. I don’t care if your program is perfect or runs (although the students should). I care that you exhaust every possible way that you can think of to solve problems.
Can you tell us about some of the projects students have done?
The most recent one was the final project from our most recent cohort. They worked on a website like IFTTT, which lets users enter conditionals and run code based on simple conditionals. Our students did that with automating the purchase of stocks, and then ran their own program thousands of times with thousands of different combinations and stocks and tried to find a winning strategy. That was a really fun one.
That’s a great example of a final project that is finance-oriented.
Exactly. Nobody will graduate with a finance education from Wharton or Harvard, ready for a junior analyst position. We can’t do that in 12 weeks, but what we can do is teach students the terminology and the ideas to be able to interface with financial clients. They’ll be able to understand a spec sheet of a financial client. Much of the revolution in big data is coming from the finance world.
How many students have you graduated?
This is our second cohort. The first cohort started with five students and ended with two (we pushed a couple of students back) and the second cohort started with seven and is now ending with four. A graduate today just got a job as a Junior Developer at a hedge fund.
How often do you start cohorts?
For the first two we were really in Beta version. We started every six weeks. Now we start every four weeks.
So students who aren’t ready can repeat?
Yes, they’ll repeat with the next cohort. I saw the difference that the rolling start date made at Dev Bootcamp. I think to rob somebody of that opportunity to work hard would be wrong. At a point, you also have to recognize when someone just isn’t ready for this and give them a refund, of course.
Do you have students do final projects?
We give them group projects for each weekend and leave those open-ended, although we need them to fit within a certain context. We have them pitch those projects to us and we’ll add or remove features depending on what’s feasible in a weekend, then on Monday their code is assessed. I also have the students do challenges all week.
Who is your ideal student?
This is cheesy, but the person who excels at Byte is someone who will work really hard and not be afraid to bang their head against the wall. And like I said, they have to play in the sandbox. If you are afraid of that and you feel like you’re wasting time by being wrong, you’re probably not going to be a good programmer at all. You have to be patient.
The person who I have seen fail is close-minded. They can be the smartest person in the world but if their ego blocks them from being curious and humble, then they won’t do well.
Should an applicant have technical experience or can they be a complete beginner?
You can be a complete beginner but we do have a programming challenge to be accepted. However, you don’t have to actually write it in code; you can write it in English. You should be able to demonstrate this logical order and problem solving skills. We try to get the very best mix we can and we’re planning a move to a much larger space in a few months but at the moment we do have to be selective.
Is there anything else you wanted to add about Byte Academy?
I’ll be teaching a 6-week part-time course called Thinking Like a Programmer, which will get you ready to enter a bootcamp. There will be a nominal fee with it. I think it will be great for people who are on the fence, unsure, just to dip their feet in and see if they even like programming.