Ruby on Rails
Sockets via ActionController::Live
Aspiring web developers came to me and sought the opportunity to go from little to no experience to a full-time job in less than a year. With the help of the Bloc curriculum and student management systems, I was able to help many of them realize this dream. Working at Bloc stretches my abilities in a different capacity than a typical programming job: I have to excel at the ability to empathize with the untrained and explain complex concepts in a way that a novice can understand. Furthermore I have to be keen to each student's individual level and ability and pose questions and give hints that provide a productive challenge rather than a giveaway or a cliff.
Working at Bloc has a potential downfall. The many apprentices who will almost certainly suffer if they cannot get the attention of their mentor when they need it. A mentor knows this and wants his apprentices to flourish. Thus, a sympathetic mentor might fall into the trap of making himself constantly 'on-call' at all hours of the day and night. He might even sleep with his phone close to his ear so that if an apprentice in distress needs help in the wee hours of the night they will not be left out in the cold. This sort of sympathy inevitably leads to burnout.
The solution is Tools, Rules, and Realism. The right tools are necessary in order to keep track of messages and make sure that they are all funneled in the appropriate place. The right rules are necessary to make sure the quality of communication is kept up to standard. "Try to make each help request as independent as possible... don't make it require background research to understand." Asking an apprentice to include a log of the solutions that they have already attempted gives the gentle nudge to ensure that they have already tried it out for themselves. I'm sure you are not surprised to find out that many people will ask for help before actually going out and trying to get it on their own! And finally, expectations must be set. It was painful explaining to Brett for the first time that, despite how much he looked up to me, I was not Superman and could not always answer an email within 5 hours. Especially when that email arrived just a little bit after midnight. But I've never had a problem with an apprentice who demanded too much once the realities were explained to them. Managing these expectatinos might have been the most effective logistical tool of all.
After my apprentices have finished their requirements they are responsible for a 'capstone' project. The capstone project is meant to be largely self-directed, but given their career position it makes sense for a senior developer to help guide the product development. Every apprentice is different and they deserve the highest quality map in order to plot the journey toward their first application built without a tutorial. A leader who is aware of the apprentice's abilities and ambitions is required to make sure that they are able to optimize the value of every second that they have invested in the Bloc program.