The Bootstrap IT Project is built on the assumption that motivated young adults can learn valuable IT skills without classrooms or teachers and generate real commercial value in the process.
The project goal would be to provide value to both participants and (in one possible model) sponsoring companies. Young adults looking to find careers in the IT industry would enter a flexible environment where they can quickly learn real-world, in-demand skills while working on actual projects and adding depth to their resumes.
A mentoring institution would potentially benefit in the short-term from intern-quality labor, and over the longer term from access to smart, young IT talent.
How Bootstrap IT training can work
This idea was born of a remarkable sequence of events that took place around my dining room table. A word of introduction, my professional work keeps me very familiar with the kinds of skills that the IT employment market is after right now, and how those skills can be delivered. Also of significance: I'm a Linux system administrator with lots of spare bits and pieces of networking and other hardware lying around the house, along with reliable wireless connectivity.
This past summer, one of my sons and a friend decided to tackle a small project for a local non-profit. My son had taken one or two Java programming courses and his friend had decent general knowledge, but less experience. Both were enthusiastic.
I provided the two (both around twenty years old) with access to plenty of open source software, guidance for finding solutions to their problems on the Internet (Stack Overflow, LinuxAnswers, Google, etc), some practical mentoring, and my dining room table, and they got to work. Within a few weeks, they had put together a database server providing a fully functional mobile app solution. Along the way they picked up some significant development methodology, project management, and IT system skills. More importantly, because of the strong research skills they'd learned, they were comfortable attempting to work with new and unfamiliar technologies.
I believe this process offered some important takeaways:
- The Internet is more than mature enough to provide all the IT skills-training we'll need - very often without even the need for commercial training content.
- Motivated young adults will learn much faster using those tools than in classrooms: teachers using static curricula just hold them back. Or, in other words, "flipping the classroom" works incredibly well in this particular context - so well, that the classroom itself becomes largely redundant.
- Some basic mentoring is needed to push participants past significant hurdles, but it needn't be excessive.
- The value of peer programming is enormous.
Motivated individuals can build significant projects with very minimal infrastructure overhead. Almost any deployment can be accurately simulated with nothing more than a couple of cheap laptops and a router.
This can be an extremely inexpensive and efficient way to learn market-ready IT skills. Part of its beauty - and its strength - is that "students" can become involved in real projects almost from the first day. They don't have to wait for some formal program to begin, nor for a critical mass of participants. And, because of their partnership with active production environments, there's very little risk of investing months or years in a program that turns out to be pushing unused and unwanted skills.
By its nature, the program hours can be flexible, allowing entry to individuals still committed to other endeavors (jobs, school, etc).
The program is cheap: no classrooms, teachers, or administration. Just access to a mentor, office space, good Internet connectivity and, beyond participants' own laptops and mobile devices (which should be their responsibility) only a small hardware inventory.
Screening and preparing participants
Not every applicant will necessarily be an effective participant. Success will probably require a high level of motivation, some basic degree of comfort with technology, and the ability to at least navigate around a modern operating system and, via Google search, the Internet. They will also need to be able to take responsibility for their own progress.
I suspect that suitable candidates can be brought up to speed by means of a one-week preparatory boot camp which, through clear goals and minimal guidance, can introduce enough basic concepts.
Participants could be divided into small, two or three-person workgroups. Each workgroup would be given a specific task - either an entire project or a clearly defined module of a larger project.
Ideally, workgroups would focus on different skill-sets (coding, database management, system administration, networking, cloud deployments, etc). Interaction, collaboration, and skills exchanges between workgroups (or even between groups in different cities) would be strongly encouraged. The more multiple disciplined projects become, the more they'll resemble real-world development.
I don't believe that a formal curriculum would be helpful for this project. Besides the fact that the pace of change in the IT world renders most curricula obsolete before they're even written, a curriculum would, in our case, unnecessarily restrict the ability of participants to direct themselves according to their particular strengths and interests.
The ability to formulate proper Google searches – often based on information provided by error logs and system messages - is probably more important than any single resource. But real growth will come from struggling with real problems associated with real projects.
- An existing IT company could choose to sponsor a branch, providing the participants with office space and hardware. They might also make one or more of their own IT professionals available as mentors. It might be possible for participants to use their time involved in the program as part of their employment or internship history on their resumes. In exchange (besides the project's intrinsic worth), sponsors would have some control and ownership of the product that's developed through the process. They might also choose to hire participants or engage in some ongoing outsourcing relationship with them.
- In lieu of a sponsoring company, a standalone physical location could be provided along with an independently associated mentor.
- It could also be possible to create a workable environment via fully remote connectivity. This model could theoretically be run through a web site where participants could find teammates and be matched with mentors.
- While it's true that successful top-level coders aren't usually self-taught, full-time coding is far from the only professional goal within IT. The fact is, that there are all kinds of critical, in-demand skills that can be learned within this kind of system (like DevOps, data management, systems management, and solutions architecting for the cloud), and some minimal coding skills are going to be important for all of them.
- Choosing the right individual projects would require some creativity and, perhaps, cooperation with the local community (including with tech-poor non-profits).
- There should probably be a one week orientation period in which participants try out various skill areas. After that week, they would break into workgroups and choose their projects.
- To provide greater structure, there would probably need to be clear limits to the program. Perhaps, for instance, a cohort would continue for no more than two months, after which continued participation would depend on the results of performance evaluations and peer reviews.