Archive for the ‘4. Information technology’ Category

Week 28 at an Unbootcamp

Saturday, November 25th, 2017

Is reputation management dead?

The coding bootcamp industry is under scrutiny and threat. And the hundreds of bootcamps around the world are competing to stay alive. Most of them charge money up front, so they want students who are willing and able to pay. A few of them charge money later, on the basis of success in the job market, so they want students who will achieve monetarily rewarding employment. In either case, they try to cultivate their reputations.

Learners Guild in Oakland, California, where my 28th week ended on 17 November, is one of the few that get paid only later and only insofar as learners achieve high earnings. The fact that one can attend the entire 40-week program (which is being slightly shortened to 36 weeks) without paying anything in advance, and can even get paid a stipend to defray living costs, helps it recruit Learners from disadvantaged and underrepresented categories, which is the core of the Guild’s social mission. But the Guild’s reputation also matters.

So, how does Learners Guild build its reputation?

  • It markets itself.
  • It graduates Learners with in-demand technical and social skills, who then get rewarding jobs in industry and participate in open-source software development, demonstrating the value of the training one can get at the Guild.
  • It cultivates alumni relations and industrial partnerships.
  • It offers (or at least is planning to offer) software development as a service, leveraging the skills of its staff and Learners.
  • It differentiates itself from coding bootcamps, framing itself as something essentially novel, based on apprenticeship, mentoring, and teamwork, not formal instruction.

As to this last point, has the “We’re not one of those bootcamps” assertion worked?

My father once told me, “You can’t decide whether you’re Jewish. If the world thinks you’re Jewish, you’re Jewish.” Analogously, the world thinks that Learners Guild is a coding bootcamp, despite its effort to be different.

You can see that in the inclusion of Learners Guild at websites that aggregate reviews of coding bootcamps. The reviews posted there have been harsh. Look at Course Report and Switchup. As of this writing, the Guild gets about 2 out of 5 points at both sites, on the basis of mostly scathing and anonymous reviews. It’s easy to imagine a prospective applicant looking at the Guild’s own marketing and this collection of reviews and deciding to believe the reviews.

But whom can one believe? Suspicion of the accuracy of promotional marketing is rivaled by suspicion of the honesty of customer reviews. Stories about reputation management in this world of review sites are rampant. Glowing fake reviews by friends and family. Fake diatribes by competitors. Reviews hidden when companies refuse to pay. What, then, accounts for the Guild’s nasty reputation among reviewers? I have a few (non-conspiratorial) hypotheses:

  • The Guild has underplayed the instability of its learning environment. Its product is a prototype, only about a year old, and has been drastically revised every few months as the Guild discovers what does and doesn’t work well. Some Learners have welcomed the reforms, but others have decided that they aren’t getting what they were promised.
  • The Guild has succeeded in its aim to recruit a remarkably diverse assortment of Learners, not only ethnographically but also emotionally, cognitively, and experientially. That success makes it difficult to design a program compatible with all the participants’ learning styles and needs.
  • The major changes in the Guild’s program impair the predictive value of reviews that are more than a few months old, but most of the posted reviews evaluate a program that is no longer in effect.
  • The Guild has not tried hard to break out of the coding-bootcamp model. If, as some claim, bootcamps simply cannot produce graduates with the deep and sophisticated knowledge that industry requires, that challenge affects the Guild, too. It may be even more serious there, since failing to become a professional developer is a worse (and more surprising) result if one has spent 40 weeks trying than if one has dedicated only about 12–15 weeks in a more typical bootcamp program.
  • Out of the roughly 150 persons who have been passing through the Guild’s program, fewer than 20 have chosen to post reviews, and most of those are current or former Learners who were severely disappointed. I estimate that about 20% of the total Learner population has seriously regretted joining the Guild, about 20% has found the Guild a rewardingly life-changing experience, and about 60% is arrayed across a range of responses, mixing specific satisfactions and disappointments.
  • The Guild is doing nothing to instigate Learners to post reviews. It does profile some happier Learners in its own marketing, but it is not appealing to such learners to spread the word on Course Report, Switchup, Yelp, or other sites.

If Learners Guild can keep experimenting until it finds a viable and clonable model, it will have done itself good by not trying to seed review sites with praise. It is forcing itself to focus on building a genuine and durable reputation by turning out successful graduates. And who knows, maybe the chaotic sequence of pilot projects that is the Guild’s reality will turn out to be great preparation for the dysfunctional organizations that most of us will work in.


Week 1 at an unbootcamp

Saturday, May 6th, 2017

I’m upgrading skills to become qualified as a “full-stack” (do-the-whole-thing) developer of web applications and related software.

Anything unusual about this? Yes:

  • Demographics
  • Financing
  • Program

Demographics: I’m doing this together with about 120 others, and as a group we are atypical. There are more women and more nonwhite members of this group than in computer programming generally. I, too, am an outlier, being 74 but preparing to work in a youth-dominated field. The Bureau of Labor Statistics reports that 5.9% of employed persons in the U.S. in 2016 were 65 or older. Among “Software developers, applications and systems software”, it was 2.4%. Among “Web developers”, it was a mere 1.5%. So, the geezeriat constitutes only 25% to 40% as large a share of web application developers as of the entire U.S. workforce.

Financing: This program finances itself by using “income sharing agreements”. Participants pay nothing to attend, but they must pay back to the program a fraction of their earned income for several years after exiting. The investors are treating each participant like a startup company, gambling that the participant will earn enough and soon enough to more than repay the amount invested. This model exists in tertiary education and in private vocational training programs, but it is still rare. Ideally, it aligns the incentives of the investors with those of the investees, diminishing the reward for skimping on efficacy. It is also morally ironic (and perhaps morally problematic): I have a duty to try to earn money, so I can be true to my bargain, help the program succeed, and avoid free-ride guilt.

Program: The program runs for 40 weeks, versus so-called coding bootcamps, which usually last about 12 weeks. It is more participatory and holistic. It aims to emulate and prepare us to use rapidly changing technologies in an industry where almost all work is teamwork. How? By cultivating the ability to learn new methods fast, to give and receive help, and to navigate the personal, organizational, and societal environments of our work. Further, it defines competence as not only the ability to do things, but also the ability to understand, explain, and manage the things we do. There are no teachers here; the knowledge, authority, and initiative characteristic of teachers are distributed among us. Expertise is available as needed in one-on-one and group encounters, but its supply is limited, so we get advice and practice in making good use of it and, as we develop it in ourselves, sharing it effectively.

So, here I am, finishing my first week as a “Learner” at Learners Guild in Oakland, California, where I began on 1 May 2017. How was this week different from all other weeks?

It began on Monday morning with “What do you want to get better at this week?” I got acquainted with the “Goal Library”, containing specifications for dozens of tasks, classified as to difficulty, technical focus, job-market value, and team size (from 1 to 4). I got some advice, but nobody told me which Goal to choose. Instead, I cast my votes for 2 of the Goals. While voting, I could see the up-to-the-second vote tally and, if I wanted, could vote strategically to be the second voter for a 2-person-team Goal, improving my chance of getting assigned to it. An algorithm does the assignments. It considers even how Learners have rated working with each other in the past, to limit intra-team friction. I got my first choice, a Goal requiring me (alone, because it is a 1-person Goal) to implement 5 computing algorithms in JavaScript. For example, if your program is given a set of points in 2-dimensional space, it must identify a pair of points that are as close to each other as any other pair drawn from the same set of points. The “Project” of implementing these algorithms and properly sharing my solutions was most of my work during the week.

As I solved the problems posed by my Goal, I sought advice from the Project’s “Coach” (a more experienced Learner). Coaches also met every morning in a group with those they coached for a quick “standup”. I had access to the other Learners in the Guild’s sprawling quarters, both face-to-face and in the Guild’s instant-messaging forum, as well as the outside world. (Tuesday my wife said I should think about solving the graph-connectedness problem recursively, and she turned out to be right.) During this first week, there were extra meetings for us new arrivals with our “Mentors” (more advanced Learners) and staff. The Guild also has plenty of how-to literature to get familiar with.

Friday afternoon, after finishing and polishing up my work, I submitted it for evaluation, discussed solutions with Learners who had been assigned similar Goals, and (this, too, is a prescribed item on the schedule) reflected individually in a manner of my own choosing on what the week had wrought. (I chose to reflect by writing this blog entry.)

Everybody who joins the Guild has written software before, even if only during the weeks of required preparation between admission and enrollment. I had done so off and on for almost 50 years in academia and small nonprofits. But the industrial discipline here was somewhat new to me and added challenges to those posed by the Goal itself. That discipline includes:

  • Linting: subjecting the code to automated validation for stylistic consistency.
  • Respect for the specifications: writing a program that does what is prescribed, not what I feel like making it do.
  • Test-driven development: writing multiple tests of a program before writing the program itself, and relentlessly imagining weird conditions to craft tests for. (For example, what if the set of points is empty, or its points are all in the same place?)
  • Maintainability: writing and documenting code that is practical for me (or others) to modify as needs change.
  • Code reviews: getting others to examine my code early, so I can make improvements before it is too late.
  • Deliverability: as top priority, satisfying the specifications on time. Any optional frills can be added after the minimum required product (called the “artifact”) is complete.
  • Customer focus: I’m writing code for others, not for myself, so I must document what it promises to do, how to install and configure it, and what license terms it is released under.
  • Collective development: Most of the Goals (like most industrial software development) are performed by teams, which must decide how to share (and/or split) the work. Whether it’s strategy, style, sequencing, or what time to go to lunch, teamwork creates obligations but makes big projects possible. It is less prominent in “1-person” projects, but their developers collaborate across projects.

Even one week has been enough to start noticeably enlarging my skill set and changing both how I work and how I think about work. That’s a sign that the Guild is doing what it was designed to do.

A month in, the Guild and each Learner review their relationship and decide mutually whether it merits 35 more weeks. I’ll let you know how it goes.

DSL modem configuration

Wednesday, January 11th, 2017

If you have a subscription to the Sonic Fusion X2 ADSL2+ service, and you have installed your own Zhone 6728-W1 modem instead of renting one from Sonic, and if you, in addition to that, have 1 static IP address and are not using a router or firewall other than what’s in the modem itself, then (and that may have reduced the eligible population to 1, i.e. me) you may find that the following documentation helps you configure your modem.

I offer 2 documents: