Over the past few days, I have enjoyed watching people discuss the need for building more programmers in our area. With Charlie throwing down the gauntlet for 250, Fred picking it up to 1000 and Nate offering his HoPE Manifesto, there seems to be a growing understanding for the need to grow our talent pool, instead of importing it - or fighting amoungst the other industries that pick it up.
Charlie mentioned the NYCEDC's initiative to work with the existing academic groups to improve and enhance the engineering and programming talent - which I applaud for the effort, but worry about the implementation. As Charlie says, because of the City's own (and necessary bureaucracy), it has to be careful to thread the needle properly (I have gone through this gauntlet with the COSp effort over the past two years).
But discussing a need for growing 250 or 1000 developers does not make it happen. We need a plan to create these developers - and we can discuss how either working in collaboration with government and academia - or working with the practical experts in the field (like at RubyNuby or NYCPython) - or both.
Collaborative Programming Education
About two years ago, I had asked the nextNY community if they would be interested in coaching their own - sort of an apprentice program that would help grow our own programmers. I began the effort to create a program that would emulate the effort I had created at Cooper Union in 2007 which resulted in six projects that could potentially become startups in their own right.
Interestingly enough - all of the students had no prior knowledge of the language they were using (Ruby), no prior work with collaborative technologies (e.g., wikis, blogs, etc) and were required to learn the language and server infrastructure between themselves. Instead of grading the students on how well they learned the language or implemented the data structures or RoR framework - they were graded on the progress of their development. And, little did I know, they were using the Lean Startup Methodology in their efforts.
Now - to be clear - these students already knew how to program in some other language (either C or Java) but had been instructed on academically measurable content (e.g., data structures). But what was different about this effort were the students created their own requirements, their own deliverables, learned the language and the framework between themselves, tested their own code and delivered working products - all while holding an insane class schedule as required by seniors at Cooper Union.
Some of the positives that came out of the efforts - most of the students that I kept in touch with would tell me that that class was the one that gave them the greatest uplift in terms of the "work world" because of the focus on delivering and learning on their own - instead of the standard "learn, homework, regurgitate, test and dump" process. And, it is my understanding that a majority of the students are part of more entrepreneurial efforts today.
Proposal: GI Bill for 1000 Programmers
In 2009, I mused whether or not programmers were the civil engineers of the 21st Century and got a lot of feedback that was positive. I wondered if the GI Bill - which repaid our soldiers for their civic service with a better education could be used in this case. Something like Americore?
Maybe the NYCEDC or the Kaufmann Institute could offer a financial incentive though arrangements with other corporates in the NYC area that funds an educational program that ensures some monies are paid to the participants of the training - like they do on their internship programs.
Maybe this program could offer corporates the chance to offer different non critical path programming projects to students within the program that, after ten weeks, can be delivered and managed by the programmers in the class.
Maybe this program could offer more experienced programmers a chance to lecture and work alongside the novice programmers - imparting some of their experience and knowledge - and developing a community of developers (like I see Pivotal Labs do with other companies).
Maybe this program can offer - like Weight Watchers or Jenny Craig - a program that tracks programming skill performance and allows for the graduates and participants of this program to grow their skill sets and help flesh out the 1000 developers we are looking for.
This does not require a large expense - with everyone with their own laptops, cloud computing bringing costs down, and office space in the city available - we could easily create a learning program much like GirlsDevelopIT at NewWorkCity. The costs would be potentially for the administration and educators - but could be at a reasonable cost - since a large amount of the revenue could come from the business support that corporates could provide for their non critical-path needs. From what I understand, the amount of money that corporates regularly pay for what most startup people do would easily provide revenue for supporting the program in the long run.
And - the last part - is making sure we create commitments and use the gamification that all of the newest startups talk about. I mean - commiting to your goals, finding partners and growing your skills. Just like a workout partner, a diet partner, a swimming partner, whatever - partnering with others that are pursuing the same effort will improve commitment and delivery than single individual learners ever could.
I have seen this work. I had this work when I joined Accenture and helped our start group leapfrog over the other groups by completing our Accent on C in 1.5 weeks versus the normal 3 weeks (and insane late nights); I've seen this work in pair programming and I saw this work at Cooper Union. It will take time and effort - but we can do it.
I created the page on the nextNY site called Commit to Code - which could be the start of this paired effort. If you are interested - sign up. Let's begin to create this effort.