Week 3 at an Unbootcamp

Learners Guild continues to provide a challenging and supportive learning environment for my current improbable goal. Reminder: that is to become a competitive web software developer (once I’ve turned 75). Somebody who can make servers and browsers in all kinds of devices (computers, mobile telephones, microwave ovens, you name it) cooperate. Working at an industrial level of efficiency and quality. Improbable for reasons already discussed.

In this week’s project my teammate and I wrote programs that manage basic kinds of collections. It was an opportunity to review those structures (doubly linked lists, queues, stacks, etc.), see how JavaScript supports them, and learn how to manage them both with and without relying on all of the language’s features. Basic stuff, but at the same time we became a little more adept at test-driven development, management of collaborative software repositories, asking for help, and effective work in heterogeneous teams.

Learners Guild is no longer growing its student body. It announced today a decision not to enroll any more Learners until August, when more of its earliest enrollees will have departed. In the meantime, it’s working on adding professional support, so Learners can consult experts more expeditiously. It announced a job today in that category (tell your programmer friends!). I don’t notice much of a deficit in the supply of consultable expertise yet, since I’ve been here only 3 weeks and am surrounded by Learners who know a lot more than I do. And they are a helpful lot.

Asking for help takes more than pride-swallowing. JavaScript is an “unopinionated language”. That technical term refers to a programming language that offers multiple ways to solve any given problem and does not define one way as “superior” to the others. So, one can’t ask about the right way to do something. It’s more complicated. One asks about the efficiency, error-vulnerability, maintainability, popularity, side-effects, and other aspects of various ways to do it.

To illustrate this at a trivial level, there are style-policing (“linting”) programs that we are required to use, but we get to choose which program, and that program does not enforce its style; rather, it has the user define his or her style and then enforces that. Do you want to indent with tabs or spaces? If spaces, how many per indentation level? Do you insist on ending every statement with a semicolon? Do you want to make yourself use single or double quotation marks? In my team this week, I was a semicolon user and my teammate was not. Incompatibility? No. First, neither of us was dogmatic about that. Second, we used a linting program that not only tells you about violations of your chosen style, but corrects them automatically. Run it with the “–fix” option, and hundreds of violations just disappear in a fraction of a second. Change your style definition and run it again, and you have the same software in the other style.

Want a program that does this for the entire Chicago Manual of Style, the Blue Book, or Strunk and White? Learners Guild might help you learn how to make it.

 

One Response to “Week 3 at an Unbootcamp”

  1. Thanks for the post, Jonathan. It’s nice to get a glimpse into the LearnersGuild world and processes. Continued good luck to you on projects!
    -Julie Anderson

Leave a Reply