1. Interview with Darrell Silver, Founder of Thinkful on CourseReport

    Earlier this year, our co-founder Darrell Silver was interviewed by CourseReport.

    In the interview Darrell describes Thinkful’s project-based approach to teaching. He also explains the three pillars of Thinkful’s education:

    • Project-based curriculum
    • Supportive community
    • One-on-one mentorship

    Read all about it here.

    3 weeks ago  /  0 notes

  2. How Morgan Learned to Program in 9 Months: Reflections on Becoming a Web Developer

    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.

    Like everybody else, I started learning with Codecademy’s Web Fundamentals track. On Quora, I discovered the “bootcamp” model, which suggested the idea of breaking into the tech industry without a CS degree. The motivation kicked in. I began plowing through the massive Treehouse video library, focusing on JavaScript and jQuery while researching bootcamp options.

    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:

    1. 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.
    2. I could answer engineering questions! - I remember being thrilled when our education engineer asked ME a question on CSS.
    3. 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.

    I was going through a classic process of discovery. First, surprise. Companies need front-end JavaScript developers but all the NYC bootcamps focused on Rails. Second, understanding. I learned why companies wanted JavaScript developers: after Gmail, the snappy, fast web applications that run like desktop apps were popular, and that means code needs to be in the browser. Finally, acceptance. I loved Google Apps, and I realized the power of Angular.

    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:

    1. Build foundational skills.
    2. Find projects that are meaningful.
    3. Mentorship will accelerate your learning.
    4. 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

    1 month ago  /  8 notes

  3. Falling in Love with HTML & CSS: Why We Love Project-Based Learning

    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.

    2 months ago  /  1 note

  4. The Mentor & Mentee:
    Devon Campbell: Knoxville, TN | Portfolio | Github | Twitter
    Joe Turner: Leicester, London | Portfolio | Github | Twitter 

    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:

    In the pilot, we started implementing the dcc-admin app’s API in Flask RESTful. This app will be used for controlling and monitoring sensors in the KnoxMakers’ maker space, and having a robust API will give us a great deal of flexibility in how we can interface with that system. Episode 2 became what Joe and I refer to as a live debugging episode as we tried to get the app’s existing permission system working with the API. We had to end the episode before reaching the solution (our first cliffhanger!), but episode 3 saw us securing the API. We then began planning how to access the API with AJAX calls.


    Preview of Episodes 4 & 5:
    That brings us to today and the release of episodes 4 and 5! AJAX is the word of the day in episode 4. Starting out, we have already implemented a JavaScript templating framework (I picked Handlebars which worked beautifully.), and we have data coming into it via AJAX from the API. Foreseeing the complexity of this app, Joe suggests we look into JavaScript MVC frameworks to finish out the project. After a bit of research, we settle on Angular. In episode 5, we begin the task of bringing an Angular front-end to dcc-admin with some guidance from the excellent AngularJS + Flask Boilerplate App.

    3 months ago  /  0 notes

  5. Gender Differences in Coding Courses? Looking at the Numbers

    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.

    Read More

    3 months ago  /  2 notes

  6. Some Notes About Declarative and Imperative Languages

    This post is based on an email that Jakob Kallin, a Thinkful Front-End Web Development mentor, sent to his student as she was finishing the course. You can visit Jakob’s GitHub profile here.

    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”.

    CSS, on the other hand, is a different story. It doesn’t look very much like JavaScript, which is a programming language from the extremely widespread imperative paradigm (to which most major languages belong, at least partially). In most imperative languages, the programmer has to spend a lot of time dealing with state (storing and changing data as the program runs) and control flow (the order of operations). CSS doesn’t contain either of those things, and that’s largely because it belongs to the declarative paradigm.

    Read More

    3 months ago  /  1 note

  7. What are mentor sessions like?
    The question comes up all the time from our prospective students, most recently when we participated in the Hour of Code movement. We’ve toyed around with the idea of recording mentoring sessions but have had difficulty coming up with an exact model. Luckily, Devon Campbell reached out to us with a brilliant idea to highlight the true value of mentorship. 

    Meet the Mentor & Mentee!
    Devon Campbell: Knoxville, TN | Portfolio | Github | Twitter
    Joe Turner: Leicester, London | PortfolioGithub | Twitter 

    Devon graduated from our Front-End course about 5 months ago and was featured in our first ever student profile! He wanted to advance his self-taught back-end skills by enrolling in our first ever Python course. We paired him up with our beloved Brit Joe Turner to reach his goals. It sounds like they’ve clicked immediately, even with the accent differences, ha!

    Episode Summary
    In the pilot episode, Devon & Joe begin by introducing each other and the project. They lay the groundwork for a new RESTful API to enhance the existing app. You’ll also hear a discussion of when to use jQuery vs JavaScript and an update on their side projects. For topic timestamps, read the video description on Vimeo. Enjoy!

    Devon’s preview of episode 2:
    In the next Flaskcast, we’ll modify the app to use the API to access data rather than pulling it directly from the database. Laugh as we struggle to make the app work properly in the most public way possible… on a podcast!

    4 months ago  /  1 note

  8. Introducing: Student Moderators!


    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?

    • Post helpful resources in your assigned community at least once a week. This could be anything from technical advice to fun(ny) inspiration

    • Help out beginner students with useful feedback. They should be able to comment on any final versions/drafts of projects they’ve already completed.

    Read More

    4 months ago  /  1 note

  9. Career Investment: Using My Employee Benefits to Learn to Code


    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.

    Read More

    4 months ago  /  4 notes

  10. Thinkful November Honor Roll


    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!

    Andrew currently works full time as a Technical Specialist at Xero. He had been teaching himself HTML/CSS for the past year but wanted some guidance to pick up Javascript. By Jove, I think he’s got it!


    Read More

    4 months ago  /  0 notes