Ten months ago, we launched the Thinkful fellowship: an opportunity for students to join our team and apply the skills from the course in a business setting. Morgan Polotan, our first Fellow, had been only coding for two months and was eager to become a full-time engineer.
Nine months later, we’re excited to announce he’ll be joining Tapad as a Junior Front-End Developer — his first full-time role in his new career! It’s been an exciting journey for Morgan, and we’re continually inspired by his hard work and passion.
Here’s Morgan’s story:
Months 1 - 3: Discovering Bootcamps and the Thinkful Fellowship
Last summer, I quit my job, moved to NY and planned to break into the tech start-up world. Big problem: I’d never written a line of code.
I considered three variables to narrow down my list: location (NYC), price (App Academy was free if you didn’t get a job), and student reviews (via Quora). My top five was 1) General Assembly 2) Flatiron School 3) App Academy 4) FullStack Academy and 5) Hacker School.
The interview process was humbling, to say the least. I was told by Flatiron School that most people spend 100 hours programming before applying. 100 hours?! You can imagine why I didn’t nail the problem-solving interview. At Fullstack Academy, I had my first technical interview — a set of four programming challenges. I was accepted!
To prepare for Fullstack, I enrolled in Thinkful’s Front-End Web Development course. I thought the project-based approach and personal mentorship would set me up to excel in the bootcamp.
Weeks later, Thinkful invited me to team lunch. We ate Chinese food at their co-working space, which had an astro turf rug and a foosball table (a window into start-up life), and the team asked about my approach to becoming a developer. They let me in on an idea they’d been tossing around: the Thinkful Fellowship — a program for students to apply the programming skills from the class at a company. I followed up several times, and, when they officially launched the program, I applied.
Forty-eight hours into Fullstack Academy, I quit and accepted the Thinkful fellowship. I showed up at the company’s headquarters the next day, eager to dive into my first projects.
Months 4 - 6: Learn by Necessity, Learn by Doing
I spent my first few weeks learning the complexities of Git and GitHub. For the first time, I pushed code to a company’s repository and sent my first release notes! I explored advanced concepts I might not have been exposed to at bootcamps: merge conflicts, when to test locally, when to test in production, continuous integration, and overriding other people’s code. Most importantly, I learned not to break things and structure my code.
Right from the get go, I was asked to make a direct impact to the company. In my first project, I had fun building Thinkful’s digital version of a certificate of completion. Later, I contributed to the homepage by creating a student reviews webpage. Next, I worked with Google’s Peter Lubbers to adapt his slideshare presentation on the latest HTML5 features using Angular. The product was an interactive tutorial that implemented HTML5’s accelerometer, speech input, and geolocation features!
Three big things happened:
- My learning style changed — I had to learn specifics by necessity instead of choosing a broad topic: when I needed CSS animations for a project, I found the resources.
- I could answer engineering questions! - I remember being thrilled when our education engineer asked ME a question on CSS.
- Recruiters started reaching out — I had NEVER been contacted by someone through LinkedIn (it was always the other way around). This was pretty motivating.
Months 7 - 9: Falling in Love with Angular and Landing My First Dev Job
My next big project was on the Bootcamp Finder, a tool that curated content and reviews about all the offline programming schools. (If only it had been around when I was scouring the web for bootcamps…) This was my first time dealing with databases. I was immediately drawn to the complexities of working on back-end applications, which helped me form a real opinion on what kind of developer I aspired to become.
I also realized how naive I was when I simply wanted to be a “developer.” It was like deciding to become a doctor with no specialty.
Knowing Angular helped me stand out on the job market. Although there’s a big obsession with learning Rails in the startup community, companies are in desperate need of Angular talent. Five companies reached out to me for interviews. Nine months after my first technical interviews, there was a job on the line. This time, I was prepared.
My New Job!
I start next week at Tapad, a mobile advertising platform, and I’m excited to join a team where there are over 20 senior engineers who I’ll get to work alongside.
Here the big takeaways from the last nine months on what it takes to start a career as a developer:
- Build foundational skills.
- Find projects that are meaningful.
- Mentorship will accelerate your learning.
- The framework you choose matters. Specifically, anticipate where the market WILL BE, not where the market is. (Right now, that’s Angular. Four years ago, it was Rails. Four years from now it may be something different.)
Feel free to reach out if you have any questions at email@example.com
In the spirit of America’s ultimate Hallmark holiday, we released a Valentine’s Day themed coding guide yesterday — Falling in Love with HTML and CSS — that walks you through through how to build a virtual card. Within 24 hours, I received a frantic email from someone in Switzerland who was almost done with the card but hit a roadblock.
I saw the subject line — “URGENT: Valentine’s gift card link not working!” — and clicked to save the day. The email said: “Can you help me ??! (Valentine’s is tomorrow!!). I sent my number. He made the long distance call. We fixed the bug (a missing tag). And voila! His homemade gift was ready with time to spare.
The chat made it clear that the man was immediately invested, motivated to finish, and inspired to be creative by adding his personal touch to the card. (It probably helped that romance was on the line as well…) It was quick call but it shows just why we use project-based curricula everywhere.
When Thinkful mentorMichael Herman created this Valentine’s Day guide, he was using the “learn by doing” approach we use in our classes. He takes students into topics, like HTML and CSS, and has them code a project to learn the skills.
Projects make learning (especially online learning) so much more effective for four key reasons: i) relevance ii) motivation iii) feedback and iv) creativity.
1. Relevance: People are about the real world.
In October, I heard a Ashley Gavin, curriculum developer, speak about Computer Science education and everything that’s wrong with it. She pointed out that early assignments in computer science courses are off-putting — a basic Hello, World program — and turn folks away from a topic that has much more relevance than they realize.
Gavin said that at Girls Who Code, where she works, they spend the first few weeks building video games so that the students are engaged and excited by the work they’re doing. They can envision how they’ll use what they’re building because it’s something they already care about.
In our course, I’ve seen the smae thing. When students get to the API Hack, the last project in our front-end class, they’re super invested. Megan, who loves farmer’s markets, is building a tool that lets you determine every farmer’s market within a mile of where you are using Google’s API. She’s done with the front-end course but continuing to work on the project so she and her friends can use it in the future.
2. Motivation: You’re not going to give up.
Students come to us because they’re craving accountability. Some have had early success with self-teaching resources but got frustrated simply following along to a tutorial and not actually building anything they can use.
Real projects with clear goals make learning more fun and more meaningful. It never feels like you’re just writing lines of the code for the sake of writing them. The man building the card for his Valentine was 99% done with his work, but he couldn’t let the small malfunctioning link hold him back. It had to be done by midnight and he was motivated to finish.
3. Feedback. Feedback. Feedback.
We all love getting feedback on what we do. How does this sound? Does it look right? How many likes did that post get? Feedback is crucial for learning too. We’re used to a grade, a certificate, a percentage score that shows us what we know.
If you’re building someone no one is going to see, it’s easy to lose interest (I know that’s happened to me). Building something with the end user or recipient in mind helps you stay invested. There’s a reason the most popular posts in our online community are students sharing their projects and looking for validation of what they’ve built!
4. There’s room for creativity!
Getting creative with your projects is FUN!
We saw this when we introduced a new project in our front-end course to teach Chrome Developer Tools. Learning dev tools isn’t that exciting and we used to teach it through simple videos.
But in a new version of our curriculum (that we just released), we transformed teaching DevTools into an engaging project called: Your First Hack! The idea — allowing students to pick a website, use the tools to make changes, and share the results — was to keep students more engaged. The early feedback (and projects) has been overwhelmingly positive.
Justin hacked into the Financial Times:
Michelle hacked into The Onion:
Malcolm hacked the Jaguar site:
When you’re designing a project, pick something that is relevant, motivating, feedback-driven, and creative, making sure that it also lets you learn the skills you want. It’s clear that when that happens, students are not only happiest, but also most successful and engaged.
The Mentor & Mentee:
When we started Flaskcast, it was to show how mentoring works to our prospective students, but we realized that the variety of concepts covered provide strong educational value. Devon thought it would be a good idea to post the pilot on r/python — this led to over a thousand plays on our Vimeo channel! We’ve also gotten great feedback from both current and prospective students across all of our courses. Hot on the heels of the series’ popularity, we’ve released episodes 4 and 5. I’ll let Devon summarize what’s been covered so far!Summary of Episodes 1-3:
An investigation of students learning to code indicates that there’s simply no difference in the performance of men versus women among adult learners. We do, however, find enormous differences in the ratio of women versus men who enroll in coding classes. With all the qualitative debate around the issue of gender in software education we thought we’d be transparent about our own numbers.
Graduation & Engagement
So, how do women perform in online coding classes versus their male peers? Thinkful’s data (when normalized for a gender gap at enrollment, more on that later) indicates that graduation rates are almost identical for both women and men:
There is a small difference giving women the slight edge, but it’s within the margin of error given our sample size of just under 1,000 enrolled students.
“Graduation” can be a very coarse way of gauging success, mostly because we set the bar for achieving it much closer to the way most traditional schools define their “honors” programs. In fact, around 20-30% of students (i.e. those that want to build their own projects) don’t care about “graduation” at all. To gauge their success throughout their time with us we currently look at the rate at which students disengage, or withdraw, from our program.
Again, no significant difference. The key takeaway here is that while there are small differences in how much women and men are engaging in our courses the two groups are actually very similar. If anything, across the first two months men and women have the same withdrawal rates with the data showing that women seem to stick it out longer in the first month than men.
Front-end development in a broader context
Although front-end development was my introduction to programming and still makes up most of my professional experience, studying computer science at the university has exposed me to many other perspectives on software development. Even for developers who spend all their time in front-end development, looking at the field in a broader context can provide useful insights that ultimately make things easier.
From a theoretical perspective, one interesting question is whether HTML and CSS do in fact count as programming.
HTML is essentially a data format, and writing data files is generally not considered programming, just like writing text in a word processor is not considered programming. That being said, an HTML file, unlike a text document, has specific rules that must be followed for the computer to interpret it properly. Since HTML is extremely forgiving of errors, people who write HTML generally do not have to worry about this, but it’s still very different from using a word processor, so it really falls somewhere between programming and “non-programming”.
A few months ago, I spent some time revamping our entire community structure to enhance the interaction between students. The process was daunting - building forums from scratch was much more difficult than I had predicted. I did notice, though, that a few students were particularly engaged. There had to be a way to encourage this sort of behavior with positive reinforcement - that’s how the idea of “student moderators” came to fruition!
How were they chosen?
Organically! No one “applies” to be a moderator. I reach out to star students who essentially behave as TAs in their respective communities (Elephants, Lions, Dolphins).
So… what do these “moderators” actually do?
Help out beginner students with useful feedback. They should be able to comment on any final versions/drafts of projects they’ve already completed.
Position: Vice President of Engineering at Trackr, a 1200+ person software development company in Texas
Thinkful Coursework: Front-End Web Development, Ruby on Rails, iOS Development
Application of Thinkful Skills: Build Ruby on Rails side project, Understand iOS and manage expansion of his company’s iOS app
Prior Coding Experience: Decade of experience as PHP Developer
Why did your boss sponsor you to join Thinkful?
My company sees it as ongoing education. We have a sizeable budget for training. Training is a way for me to expand my skill set and broaden what I’m capable of doing for my company.
Why was our program a good fit you as a Vice President of Engineering?
The problem with most online learning is that it’s all based in a vacuum. You build what they’re teaching you to build on video. When you run into a problem, you’re alone to figure it out. Thinkful was very intriguing to me because it set out to solve that.
Keith Galloway: System Adminstrator + Social Media
This Video Game quiz has an incredible user experience. After hitting “play game,” the user is given specific instructions and provided with an in-depth bio on the character following each question. We can’t wait to see Keith’s API Hack!
Andrew Shield: Aspiring Front End Developer from New Zealand!
Location: Toronto, Canada
Interests Outside of Programming: Reading, watching baseball (130 days until the new season!), guitar, and sleight-of-hand card tricks.
Why did you want to become a mentor at Thinkful?
I love teaching. I enjoy getting in another person’s head and trying to figure out what they’re thinking, and responding accordingly. That’s why I also enjoy writing. So when I saw the opening for a mentor, I thought it fit well with what I love to do and what I was already doing — blogging at Impressive Webs, maintaining a weekly newsletter, etc.
What’s your secret weapon as a programmer?
Two words: Solve problems.
In other words, I don’t pay more than ordinary attention to so-called “best practices” which sometimes are based on theories and principles that have no real benefit. So I try to just solve the problem at hand. Yes, there are many “best practices” that I personally advocate, and follow, but solving problems should always trump best practices. Pragmatism over theory always wins, especially when doing client work.