Not everyone gets into coding bootcamp on their first try. Even though Valerie Moy had been working in tech operations for five years, and had taught herself some code, she struggled in the Hackbright Academy coding challenge interview. Valerie needed stronger foundational knowledge, so she enrolled in the part-time Hackbright Prep program to strengthen her Python skills. Valerie tells us how she juggled her busy schedule to make the most of the Hackbright Prep and how the Prep Course prepared her for the technical portion of the Hackbright application when she re-applied.
What is your background and how did that lead you to Hackbright Academy?
I went to school for English literature and worked in publishing and nonprofits. About five years ago, I started working in the tech industry in operations and client services. My job was problem solving, using people power and organizational processes, to make our company and product more efficient to better serve our clients and internal stakeholders. I was exposed to the technical side of the business, and worked closely with engineers and product managers throughout my experience in the tech world.
At some points in my job, I would hit a wall and need an engineering solution. I didn’t have skills to create that change myself, and I found that a little frustrating. I started peering over the engineers’ shoulders to see how they approached problem solving, and got really interested in engineering. I realized they were using the same logic-based skills that I already used, just with different tools and languages.
Did you try to learn on your own, or from your co-workers, before you researched coding bootcamps?
A little bit. I found the most effective way to learn a concept was when I needed to solve a specific problem. For example, in operations there were some metrics we couldn’t get without running a SQL query. So I used some SQL resources my last company provided, and taught myself some SQL through trial and error. I also tried to do self-study and online courses in Python, which were helpful to some degree, but they lacked a lot of the “whys,” which is very important for me. It’s hard to retain something if I don’t understand why it works.
How did you come across the idea of a bootcamp and what attracted you to Hackbright?
I knew I wouldn’t get where I wanted to go through self-study; I’m not that kind of learner. I had heard about coding bootcamps and I started to meet bootcamp graduates who were working as engineers, which was a confidence boost for me to pursue that path. I did some research on Course Report, as well as looking online.
A couple of people whom I worked with had been to coding bootcamps, including one who went to Hackbright Academy. Part of the reason I picked Hackbright was their focus on women – I liked the mission to increase the percentage of women, non-binary, and gender non-conforming programmers in the industry. But I underestimated how amazing it would be to learn in an environment where I don’t have to worry about gender politics and microaggressions based on gender. It’s a totally different learning environment – it’s been really great.
Why did you decide to take Hackbright Prep if you already had a bit of coding knowledge?
I originally applied for Hackbright’s Full-Time Software Engineering Program for the October 2017 cohort. The pre-work was in Python, which I had touched several years earlier, but I didn't remember very much. When I did the Hackbright coding challenge interview in Python, I didn’t feel very confident in my knowledge, and I think that showed in my approach. Meggie, who I interviewed with, said I had a strong skill set, and would be a really good fit for the program, but I could use a bit more foundational knowledge to really succeed. She said I could strengthen those foundational skills through their Prep Course or on my own, but I decided to do the Prep Course and re-apply in January.
How did you fit the Prep Course into your own schedule – was it a huge time commitment?
The schedule for the eight-week prep program was two days a week from 6:30pm to 9pm, with optional code brunches on Sundays to work on our projects.
I definitely had to make space for the course in my schedule. I do a lot – I was working full-time, I’m a choral singer with some groups in the Bay Area, and I teach fitness classes at a barre studio. I wanted to make as much space and time as possible for studying for the prep program, but I didn’t want to give up other parts of my life, so it took some adjustment. For example, I went from singing in two groups, to just one group.
Other than revising my schedule, it worked out really well. I’m an evening person, so taking the class after work was good for me; my brain was already warmed up and I could dive right in.
What was the learning experience like at the Prep Course? Can you tell me about a typical session and what sort of projects you built?
Each evening, we had a lecture and then a lab. Sometimes, we would have a couple of short lectures rather than one longer lecture. In the labs, we pair programmed to tackle an exercise related to that evening’s lecture. We were learning skills, then solidifying those skills. We covered Python, pair programming, developer tools like Terminal and IDE, logic like Loops, and basic data structures like Lists.
Pair programming was an interesting aspect of Prep and is something that continues in the Full-Time Program. We paired with fellow students, and worked with someone different in every class. Two engineers work with two keyboards, two monitors, two mice and one computer. One person drives and one person navigates, then you switch places. Pair programming is challenging, because if you have an idea, it’s tempting to just jump on the keyboard and do it. But you both get more out of it if you take a moment to say and explain, “I have an idea, what if we did it this way?” Explaining your thought process to someone else really helps reinforce the learning process.
Outside of class, we each had to build a project – a relatively simple, logic-based Python game. I built a very trimmed down version of Oregon Trail, which was really fun. The instructors and advisors were really good about helping us choose a project that was doable. And if we completed our MVP, we could add on other additional features. They really tried to set us up for success rather than setting a stretch goal.
Who were your instructors and mentors?
The director of the prep program is Maggie Yang, a full-time staff member at Hackbright who leads the Prep Course curriculum and does some lecturing. Also, because it’s after work, some of the instructors are working engineers who teach after work. It was really great to get some perspective from real, professional engineers. They could tell us if a concept was more for foundational understanding, and that we’d never actually use it on the job. They could also give context and a preview of what was up ahead.
The lectures rotated between the different staff members depending on who had a particular interest or expertise in a certain topic. Then during lab time, everybody is there to help.
How hard was the Prep Course? Could you keep up easily with the material?
I found the Prep Course very doable. The way it was presented felt very intuitive. Python is a very intuitive language and it reads like English, so it’s a great first language to learn. And the way Hackbright instructors broke it down made it so much easier to understand. I had seen Python before, but when Hackbright taught it, I understood it in a way that never made sense to me before. I was like, “Oh, now I get it!”
Some of my classmates in Hackbright Prep had never done programming before; they had more of a learning curve than me, but Hackbright did a great job at building a foundation for us, and then building concepts on top of that.
Once you finished the Prep Course, did you feel ready to re-apply to Hackbright Academy?
I felt so much better doing the coding challenge interview the second time around! The first time I did the challenge, I felt like I was grasping the concepts by my fingertips. I could talk about the concepts a little bit, but didn’t really know anything deeper. The second time around, I saw the challenge and said: “I know how to solve this problem in two different ways.” I could talk through one way, and it worked, and the staff member asked how I would do it the other way, and I showed her. After Prep, I felt like I really understood the coding challenge in a way that I hadn’t before.
After completing Hackbright Prep, I didn’t have to re-do the full application; I only had to do the coding challenge interview. Hackbright already had evidence of our skills and already knew why I wanted to do the full bootcamp. We did have to let admissions staff know we were interested in applying for the January cohort – not everyone was, some people wanted to apply for a later cohort or didn’t want to continue.
Now that you’ve started the full-time program, how is it going?
I started January 2, 2018, and it’s definitely challenging. It’s different to learn all day, every day. Your brain gets tired, but the Hackbright team is very aware of that, so they’re good about scheduling breaks and making sure we take care of ourselves. The first few weeks felt challenging but almost comfortable, and then from weeks four and five onwards, it has really ramped up. I can feel my brain changing shape, which is not comfortable, but it’s exciting!
Are you glad that you did the Hackbright Prep before starting the full-time bootcamp?
Around week three, towards the end of our Python unit, I could tell that Prep was worth it. We had to put everything we’d learned about Python together, and I felt like I had such a solid foundation in Python because of the Prep course. The challenge was to understand how all of these things work and to choose the right solution to solve a problem. I felt really glad that I had such a good foundation in those concepts to begin with.
Having done pair programming before was also useful. It can certainly be a challenge – pair programming takes a certain type of energy.
What has been your favorite project so far at Hackbright?
My favorite project was building Markov chains. We took a piece of source text, and programmed simple predictive text by chopping it up into blocks. Then we combined that with the Twitter API and created Twitter bots to tweet random, absurdist things, based on various source texts like "Green Eggs and Ham" and "The Gettysburg Address." That was very silly and fun to have a taste of doing something in the real world, as ridiculous as it was.
The project we are working on now is a ratings site for movies based on a data set with different users and their ratings. Eventually, we will implement very simple machine learning to predict if a user will like a movie based on their previous ratings.
What’s been your biggest challenge so far at the Hackbright Academy full-time program?
What are your goals or plans after you graduate?
I came into Hackbright Academy knowing that I was interested in coding, so I’m trying to keep an open mind about what I want to do after I graduate. The more I code, the more I’m enjoying this work, so my plan is to start looking for programming jobs or internships.
I want to be in a company where I can to learn as much as possible. A startup like my previous company had a very scrappy, fly-by-the-seat-of-your-pants approach, and I would love to go back to that eventually, but for my first role in development, I think I would like to be somewhere with more structure and support so I can continue to learn in a purposeful way. I want to build my skills more before I move into a more flexible, fast-paced startup job.
What advice do you have for other people who are considering taking a bootcamp prep program?
Try to make the prep work a priority. When you do a full-time, immersive bootcamp, it’s easy to commit. When it’s part-time, you’ll try to fit in other commitments. But I think you need to be just as serious about the Prep Course as you would be for the full-time program. You want to get as much as you can out of that prep time, whether or not you end up continuing with a coding career. The more you build your foundational skills, the better off you'll be. Programming skills are incredibly useful in today’s job market, no matter what industry you work in.