Tone Check

All:

I did most of the phase-2 assessment to understand what our students will experience and predict some pain points. I’ve written up my times and my notes. I’ve also included TODO items which I took to my Phase Lead (Matt Bunday) as things we need to alter our delivery to accommodate.

Part 1: 33 minutes Part 2: 24 minutes Part 3:

  • Release 0: 55 minutes
  • Release 1 / 2:

    • Auction Spec To Pass: 22 minutes
    • Item "" "" "" : 5 minutes
    • Last two "" "" "": 13 minutes

Release 1, Release 2 Notes:

Model Specs

The specs in Steps 1/2 seem massively entangled. You can’t pass the model specs without the whole ecosystem of setup working. I tried to to get spec/models/auction_spec.rb to pass. But I blew up on the before().

As such, the model tests don’t seem like guides in the TDD sense. They seem much more like a diagnostic for DBC on whether the student has implemented to specification. You can see the entanglement in:

https://github.com/Devbootcamp/phase-2-assessment/blob/master/part-3/spec/models/auction_spec.rb#L5-L14

I have to wonder if most students will perceive this pitfall to productivity without coaching on “how to take the DBC phase 2 test.”

TODO: Heavier emphasis on reading and implementing to specs TODO: Stress testing associations in model specs

FactoryGirl Dependency

If I role play a student and try to use the specs to drive my development, I hit an issue. The specs have a heavy dependency on the indirecting FactoryGirl gem. To wit, if I run the auction_spec again, I will blow up first on the create() call in the before() block. This means I have to try to deduce what goes on in that block. The language does not conform to what I’ve seen as a Phase 1 / 2 student. Sam B. suggested that he could see students converting those lines to the conventional Auction.create(…). I couldn’t find a FactoryGirl call in the skills tree.

TODO: Lecture on FactoryGirl

BCrypt Assumption

Many students have learned the chant has_secure_password. The provided migrations do not work with that. Instead an interface method needs set up or the student needs to implement the bcrypt interface on the model.

The skills tree does not have documentation on how to teach bcrypt, so I don’t know what to do here.

TODO: Show BCrypt by the numbers in a lecture

Release 3 (50 minutes):

This got mostly fixed by implementing the first two releases. Got mostly fixed along the way. Setting up the views etc. took about 50 minutes for me. I really felt tired now. My mind wandered and I went for candy.

TODO: I think that we will to have to counsel students on how to take the test. TODO: I think the stamina component will hurt students’ performance here.

Release 4: 1 hour

I gave up halfway through.

Things started off OK.

Because an auction has a start and end date time I thought “…ugh..really”? Writing date time view elements by hand? omg. I started down the path but found few / no good tools to help me create the date things. And then I thought “ok a field for start year start month start day start hour start time and thank god I have vim and I can write a recursive macro to do this…but the coding overhead of typing this view feels pretty damned hairy!”

I think building this view will prove a dangerous time-sink here. If they don’t get to this before lunch I think they will feel demoralized if they hit this point at the sugar-low time of the afternoon. I predict tears.

TODO: Lecture on building good form controls quickly.

I went as far as building out a form by hand and submitting the params to the back end (figuring that my AR knowledge etc. would just work once I got the right params back). This took about 40 minutes for someone who knows what to do.

We’re dealing with auctions which means that we need to write controls for datetime which is a GIGANTIC PAIN. I don’t know how much implicit knowledge I brought to bear on this problem but I go things going pretty quickly, but I can see time / CGI control interface issues eating up a huge amount of student time.

Between nerves and implementing to a spec, I think the mean of the cohort will only finish Release 4.

Speaking as a teacher, I had other things to do at this point, but I have to speak honestly… I just don’t want to do this anymore. I actually entertained the thought: “If I can’t focus on doing this and churning it out quickly, maybe i need a different career.” Thankfully I know I can program and I feel good at it…but this assessment actually had me thinking otherwise.

Other Releases

Of the following 3 releases, I decided to bail. In the spirit of “expose my ignorance,” let me “expose my utter feeling of failure.”

I thought at this point “This sucks” and “I suck.”

I feel tired and bored and I wonder how I will deal with getting my money back for DBC.

Concerns:

Based on this work, I consider it unlikely students will get to a fully fleshed-out version of the views. I have huge advantages of knowing how to look things up, how to shortcut questions, how to get byebug up and running, how to do a fast n log n debug of a problem and get to the essential crux, etc.

At the time I quit, I’d used about 50% of the allocated time. Let’s assume that with experience etc. I work 2X faster from our average student (they may know associations better than me, but I probably debug faster). Let’s say I work (charitably to me) 2.5X faster than our average student…:shudder:

I think this could prove a painful experience. I predict:

  1. Leads will need to stay on the floor actively engaged all day (and worthless the next)
  2. Leads will need to teach to the test
  3. Teachers feel validated in their concern that Curriculum will implicitly define delivery by means of the assessment
  4. Student emotional impact will prove non-trivial
  5. Did our play-testers rock through this much faster than me? Maybe I do suck at my job and I need to quit if they can do this in a single 8 hour sitting.
  6. Students won’t feel ready to learn on Thursday

I need to get back to tending the flock here, Matt has generously let me shirk my accountabilities while I did this, so I don’t have time to recraft this, but I reported my experience and I’d recommend site leads and phase leads calibrate accordingly.