Startup Idea: The Bootcamp I’d like To start

Pay only if it works

  • Don’t pay till you graduate.
  • Don’t pay if you don’t get a job before the last day of your course. We’ll help you get a job before you graduate. Training should end with a practical outcome — a job — not a useless piece of paper.
  • Don’t pay if you get a job with less than a certain minimum salary agreed upon ahead of time (say ₹4 lac).
  • Pay us a percentage of your pay, say 30% of your pay every month for the first three years.
  • This aligns incentives between us and the students, to maximise their salary.
  • This is better than a B.Tech, where you earn zero for the first four years. Even after that, you may have a huge bank loan to clear, while here, you have none.
  • We’ll release data about how much each graduate earns, every batch, so that students and parents can decide with confidence whether to go with us. What percentage of students got a job? What’s their average salary now? I believe in transparency.
  • Unlike traditional colleges, we won’t increase the fees partway through a course, which is cheating.
  • Capitalist, not socialist: This will be a for-profit company. Some people have a misconception that education should somehow be altruistic. On the contrary, companies run by well-meaning individuals with aligned incentives and full transparency will motivate the team to achieve much more and at scale, helping more people.

Learning Philosophy

  1. 364 day-course to avoid regulation.
  2. Focus on students, not teachers: In traditional education, the focus is on the teacher, and students are more or less reduced to passive listeners. That is broken. Students are not raw material, like iron ore dumped on a conveyor belt in a factory. In our startup, the focus is on students. Teachers are merely aides. For example, it’s impossible to listen to teachers talk for hours on end, so we won’t do that.
  3. Learn to learn: When students have a question or a problem, in traditional education, they immediately ask the teacher, using him as a crutch. Instead, we teach students on how to be self-sufficient: when they have a problem, they first figure out by themselves, by coding, Google searches, asking their peers, reading documentation or forums or posting on Stack Overflow. If they can’t, they should then ask their peers. Only if they still don’t know can they ask a teacher. Maybe we’ll have a rule that students should enter their questions on an internal QA site, and teachers will see it only after one day, and that too only if the student confirms that he still didn’t get the answer.
  4. Learn in a work environment. Students should learn in an environment as similar to work as possible, not an artificial education environment, just as a car mechanic learns in the garage, not in the classroom.
  5. Learn by doing: Most of the work is in projects — coding — not reading, listening to a lecture, discussing or other passive activities. Just as a carpenter learns by working wood, not reading about carbon atoms, students learn by doing.
  6. Teamwork: Most projects will be team projects, because that’s how work gets done in the real world. We’ll have 80% team projects and 20% individual ones, not the other way around as with traditional education.
  7. Real projects: Nobody really cares about projects done in college beyond a point, not students, not even professors, so people don’t take it seriously. Here, we’ll have real projects with skin in the game: maybe some work outsourced from a company. Or an app that the teachers or students use to make money from, in a serious way.
  8. Long-running projects, not projects that are started afresh by each student and thrown away. Again, similar to real work.
  9. Train for first job: We’ll train people to get their first job. They should be so good at it that they can beat any fresher from traditional colleges, get a job at whichever company they want, and at a higher salary than most other freshers. Once they get the job, they should exceed expectations in both technical and non-technical aspects, and impress the company that a fresher could do so well. They should be equipped to continue learning and progressing in their careers.
  10. Lifelong learning: Traditional colleges assume that you teach people for four years, and then let them loose on the world, after which learning mostly stops. That’s an obsolete world-view. You’ll forget most things you need by the time you need them, or things will change that you’ll have to relearn to a greater or lesser degree. You can get the best training in the world, like a PhD from MIT, but if you stop learning the day you graduate, you won’t have a successful career. Since learning is, and should be, lifelong, our job is only to get students from zero to a point where they can excel in their first job (see the above point). This is similar to how as a kid, when my dad taught my cycling, he taught me only to the point where I could cycle by myself, and I learnt the rest.
  11. App developers: We’ll train people to be app developers, not system engineers. They won’t learn time complexity and all other academic topics. They won’t be able to tell you the maximum value an 8-bit integer can store, let alone define a Turing machine or how virtual memory swapping works. These are not necessary for 90% of jobs. It doesn’t mean that students should never learn these topics; it just means it shouldn’t block people from getting their first job.
  12. Master of one stack, not jack of all trades: We’ll pick one stack, like MEAN, and train students to be great MEAN engineers. They should be able to build both the frontend and backend of an Internet service, for example. They won’t have every possible skill like native app development, let alone hyper-specialised subjects like embedded systems, data science, image processing or security. A great MEAN engineer is more useful than one who can write a breadth first graph traversal algorithm but can’t build a simple (web) app, which is the case for many students from legacy colleges.
  13. ROI-driven: When considering whether to teach a specific skill, we’ll ask ourselves if it really contributes to the goal of excelling in the first job. Or if there are other skills that reach the same outcome with less effort, like teaching a dynamically-typed language instead of a statically-typed one, so that the student can do something useful sooner. An engineer who can use Javascript or Python to build something useful is worth more than a Java engineer who can’t yet.
  14. Feedback-driven: We’ll work closely with companies and alumni to understand what worked for them, just as an early-stage startup talks to users all the time. A startup that doesn’t won’t succeed at its mission. Likewise, educational institutions that don’t won’t.
  15. Teachers don’t teach what can just as well be learnt online, or from other sources like a textbook. In college, I have had many lecturers who’d basically read aloud from the textbook. That doesn’t add value. Instead, teachers help with other stuff like participating in projects (thereby demonstrating how a professional engineer approaches a problem), clearing doubts, evaluating progress, reviewing code, challenging students to take the next step, correcting course when necessary, and so on.
  16. We’ll have tech leads, not teachers. See the previous point.
  17. Learning will all be goal-directed. In traditional education, you learn stuff for years on end without achieving anything — that saps motivation. Rather, each student will achieve something, however small, the first week itself, and every week thereafter. For example, build a simple web server that capitalises everything you type, before learning about the TCP/IP stack. We set out a goal, and learn the minimum we need to achieve that goal, and then set out another goal, and so on. Students are always on a high of achievement. They feel they’re able to do something each week they couldn’t do before. Instead of theory -> practice, we go practice -> theory, with the theory coming in only when needed. An engineer who knows that HTTPS must be used for sensitive information like passwords is worth more than one who can tell you how the TCP 3-way handshake works but sends passwords over plain HTTP.
  18. Small class size of say 10. Research has found that small class sizes work well, all the more so for the teacher to give individual attention to each student. A class of 10 feels intimate, 30 feels like a crowd, like at a railway station. We’ll experiment to find what works best based on data, not opinions.
  19. Try before committing to a career: Traditional colleges expect students to commit to a career path like software engineer or doctor after their 10th class. This is a terrible idea because you have no idea what you’re committing to. All the more so when you’re immature and can’t draw on other life experiences to guide you. Instead, we will train you for a year, so that you take up a job, and then decide whether you like it. If you don’t, you still have the time and money to try something else rather than feeling obligated to continue doing what you don’t like because you already invested four years and a lot of money in it. Why is this important? a) In addition to you deciding you don’t like it, the market may also change, like the dotcom bubble. b) In a quickly changing world, you need to be flexible and able to adapt. Just as startups launch quickly and iterate, rather than making a plan, executing for four years, and only then launching. When you don’t know what’s right for you, the goal is to find out as quickly as possible, not to prematurely optimise for one option, as Paul Graham puts it.
  20. Latest tech like MEAN, not Rails. Git, not Subversion. Even the best colleges like IIT Bombay are dated here: they taught me CVS when Subversion was already popular.
  21. Start in Sep: Our classes will start in September, which is after classes start at traditional colleges. Students who turn up for classes the first day won’t drop out in a few weeks to join traditional colleges. But we will make offers ahead of time so that students can refuse traditional colleges, or not even apply, knowing they have our offer.
  22. Balance speed and thoroughness: Traditional college teaches people to be methodical. I’ve been chastised by teachers for not being thorough. But they never chastised me saying I’m too slow. This causes people to lose the skill of being fast and imperfect, which is as important as being slow and meticulous. This is important in companies, startups, if you’re working as an independent app developer, as a freelancer, doing your own side project, and so on. I didn’t learn this for many years after starting work, which held me back in my career. There’s a reason Facebook encouraged their people to move fast and break things. To address this, we’ll have some projects with very short deadlines, which force developers to cut corners. And others with enough time to expect methodical work with all the I’s dotted and T’s crossed. Professionals need both skills and mindsets.
  23. Physical, not virtual: Students will work together, because the physical world is very high bandwidth, as Paul Graham put it.

Students’ Profile

  1. Students must be at least 14 when they join, so that they can legally work when we give them a job. They need to sign a contract, along with their parent.
  2. No academic requirements, not even 1st standard pass. What matters are your skills, not a piece of paper. Besides, software engineers don’t need any history, civics, economics, geography, politics, biology, chemistry or physics.
  3. Good enough ability to communicate in English, both orally and in writing. We can’t teach them ABC. We teach them programming.
  4. Logical thinking.
  5. Practical mathematics, like: if you go to the supermarket and a carry bag costs 20 rupees, how much should you buy so that the cost of the bag is less than 10% of the total cost?
  6. A demonstrated ability to solve a problem in their day to day life, without being asked to, no matter how insignificant. For example, if their family is wasting a lot of money on petrol to go shopping, suggesting that they go less often and buy more items at once.
  7. People who are passionate about programming, not in it to earn a lot of money, or because their family tells them that’s the way to go, or because it’s prestigious, or to impress their girlfriend. The latter won’t be motivated enough.
  8. The cream of the crop, people who wonder whether they need to go to IIT and spend four more years when they are already very good. We won’t cater to the masses. Since we can’t take in 100 students (to begin with), let alone 1000 or 10,000, we’ll focus on the best.
  9. People looking for their first job, not further education (like a junior software engineer who wants to progress) or people changing their career (like a policeman who wants to become a software engineer).

What Kinds Of Students would want to study with us?

  • Students who need a job in one year, say to support their family or pay off their loans.
  • Students who can’t afford the high fees a four-year degree of comparable quality requires, like 14 lac for BITS Pilani.
  • Students who’re already enrolled in a second-rate engineering college and realised that it doesn’t lead them anywhere.
  • Students who’re turned off by the broken education system.
  • Students who’re not sure programming is for them, and want to find out after one year rather than 4 years and 10 lac rupees.

Teachers’ Profile

Syllabus

  • One stack, like MEAN.
  • Modular design
  • Refactoring
  • Reading and understanding a new codebase with no or little help
  • Debugging
  • Writing code that’s readable, and maintainable.
  • Writing reliable and secure code
  • Writing automated tests
  • Data structures and minimal efficiency like “Use a hash map for random access, instead of iterating through an array till you get the element you want.” Not time complexity, which is too academic.
  • Database: MongoDB
  • Computer organisation and systems
  • Networking & Cloud computing, specifically FaaS.
  • Mobile or web apps
  • Using an IDE
  • Using version control: Git
  • Using a bug tracker
  • Code review, including doing it for others.
  • QA (having a written test plan, executing it, prioritising bugs, etc)
  • Tracking and estimating deliverables.
  • Flagging problems early: we’ll give students a task with contradictory requirements that can’t both be met. Passing the test requires flagging the contradiction early, or meeting one of the two requirements. Those who try to meet both will end up meeting neither, and fail. We want to discourage blind adherence to authority.
  • Prioritisation: Students will be given a task with a deadline, and an impossible scope for the deadline, like building Google Docs by next week. Can they cut down the scope and deliver the most important features? Maybe plain text only, no simultaneous edits, no revision history, no offline.
  • Or they’ll be asked to choose from one of two projects. They’ll submit it, but we’ll grade them not on how well they did it, but on whether they picked the more promising one to do.
  • Communicating, with peers, bosses and stakeholders.
  • Resolving conflicts constructively.
  • 80/20: Students will be given a task with a week’s deadline, and told that early submissions will receive extra marks. If someone is smart enough to deliver 80% of the value in 20% of the time, they’ll win.

Partnership model

  1. We partner with startups, offering our students as interns or apprentices.
  2. Our students and teachers will work out of the company’s office, perhaps after a month of initial training at our own office.
  3. We’ll ask the company to identify and give us medium priority work: it doesn’t need to be done now (that’s high priority), but it needs to be done. This is to give the students plenty of time to take a step back and learn underlying concepts. Any deadlines imposed on students will be from us, not from companies, because failing to meet the latter kind of deadline causes the company to lose trust in our entire startup and not work with us next year.
  4. We’ll say we have only one profile of engineer, such as a MEAN engineer. Companies require different profiles, but we provide only one.
  5. We’ll be clear that learning is the priority, not just delivering the milestone of the quarter, so our students may not perform some tasks, like setting up a continuous integration server, if we judge that to be not the best learning opportunity for the time it takes (opportunity cost).
  6. At the end of each month, the company will pay us for the work our students do, at whatever rate they think it was worthwhile, even 0 if that’s how they feel. They may say, “We’ll give you 50K this month, 20K for Ashok, and 15K each for Ramesh and Neha”. We won’t negotiate on this point, either at the time of deciding which company to work with or on payday. But it’s still important for the company to pay something as a way of evaluating the value of the work. We’ll share this info with students as real-time feedback: “If you were an employee, you’d have made 20K this month.” This is feedback of the most concrete (rather than wishy-washy) kind.
  7. If the company is happy with a student midway through the course, and wish to hire him immediately, there’ll be an option to do so, in which case the student is no longer a student, and instead becomes a full-time employee, though we’ll still informally help him transition.
  8. The benefit for the companies is: a) They get work done cheaper than hiring graduates. b) They won’t have to spend as much time training our graduates as they have to with other colleges, because they suck. Even the best ones like IIT provide only bookish knowledge, not real-world knowledge. We provide both. Besides, we’ll shoulder most of the burden of training, which the company will otherwise have to. c) They can confidently hire people whose work they’ve already seen in detail. d) They have the option to hire students midway through the course.
  9. The benefit for students is that they familiarise themselves with a work environment, have a higher chance of getting an offer, and feel comfortable accepting it and transitioning it to a full-time job.
  10. The benefit for us is that we have another revenue stream (in addition to a percentage of the salary alumni pay us; see below) and we get day to day feedback on our training, rather than completing our course in our office, throwing students over the wall, and then checking if it worked.

--

--

--

Consulting CTO. Earlier: Google | Founder | CTO | Advisor

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Let COVID-19 Kill the Pencil

Time Flies Over Us

5 Important Things to Follow to Administer a Test

Meet the foundry10 Intern: CaraLee Howe

Photo of CaraLee Howe doing the splits on a piazza.

The Collapsing Education System!

ACADEMIC PAPER ROADMAP

There and Back Again

Edition 8 : Faculty Profile : Get to Know Deb Treat

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Kartick Vaddadi

Kartick Vaddadi

Consulting CTO. Earlier: Google | Founder | CTO | Advisor

More from Medium

Virtual Internship: A Comprehensive Guide

From Junior Dev to Lead Engineer. Act II of My Journey into Tech.

Notebook, coffee cup, and computer on a desk.

Life After Layoffs

Hello, World