CSC 322.01, Class 33: Guest Lecture
Overview
- Preliminaries
- Notes and news
- Upcoming work
- Good things to do
- Friday PSA
- Questions
- Guest speaker: From Darby and English to the Twin Cities, Medicine, and Software Design
- Guest speaker: From Story to Software
- Work time
Preliminaries
News / Etc.
- Mentor sessions next week Tue 8-9 and Thu 7-9.
- Reminder that Pair Programming is preferred practice.
Upcoming work
- Reports today!
- Readings for Sunday (updated):
- Mid-sprint demos and discussions Monday.
- New format.
Good things to do (Academic/Artistic)
- Sexual Respect Awareness Month.
- HackGC event this weekend.
- Way too many cool movies and talks.
- Rap concert tonight. (Opening act is a Grinnell alum.)
- The Cypher Paradigm: Closing Cypher, Tuesday, 8:30 p.m., ARH 120.
- Squire Lecture in Physics, Tuesday at 11:45: STEM Equality and Inclusion, a Female Astronomer’s View. Noyce 1023.
Good things to do (Peer)
- WGMC 6pm on Thursdays.
Good things to do (Misc)
- ISO Cultural Evening Saturday night at 7pm in Harris
- Escape Room, 7-9pm Monday, Gates
- DAG field day.
- Track and Field Dick Young Invitational April 21.
- Water polo!
- Men’s Tennis, April 21 & 22.
Friday PSA
- Choices related to the date are not amusing.
- Moderation in all things, even coding.
Questions
From Darby and English to the Twin Cities, Medicine, and Software Design
- In HS, got to play with teletype connected to mainframe elsewhere.
- Learned BASIC on HP-2000.
- Macalester: Fortran, APL, Plotter on HP 1130.
- Went to Grinnell.
- Programming in Fortran was useful at Grinnell.
- Rewrote Charlie Duke’s code in a few weeks to use overlays.
- Then got way too many other jobs.
- Thought he’d be a Physics/Math major.
- Took History of British Literature with Peter Connolly. Connolly was a former Math major who had a very analytical approach to literature. He fell in love with it.
- Graduated in 1982. Worst recession in a long time. Even worse than that of 2008 or so.
- Gene Hermann recruited him back here to work for ITS.
- Worked too hard, burned out.
- Applied to graduate schools. Got Ph.D. in Renaissance Lit.
- Did a little programming on the side for money.
- Then to Ohio State. Ended up leading Computers and Composition group. Rekindled love of computing.
- Didn’t get tenure. Didn’t accept option to re-apply.
- Needed to re-tool from C+Unix to Java+…. Took a few courses; but it turns out once you’re good enough at something, re-training isn’t too bad.
- Got a job programming at Cambridge Incubator. A great environment. Creative people. Lots of people with other training.
- After one of his courses, he got invited to be VP of Engineering. Put him on the path of Engineering Leadership.
- Wife’s career took them to the Twin Cities.
- Luckiest thing: Being able to select the people he worked with.
What was it like to learn programming?
- Code reading is a neglected skill.
- Entering programs from books.
- Manipulating them to do other things.
- Note that you have access to lots of code to read: The source to Rails and Ruby, so much more.
- Code has a tight dopamine cycle.
- Read a lot of books,
- K&R “with microscopic attention to detail”.
- Wirth’s “Algorithms plus
- Plauger’s “Software Tools”
Guest speaker: From Story to Software (Story Lifecycle)
- Primary project, something called “Chirp”. A medical records system designed for his health care system.
- Health Care Coach has part of the knowledge.
- Health record put on screen for doctor, patient, and hcc to discuss.
- For example, for someone who refers to Diabetes as Sugar Disease, one might describe it as that and then tie it to Diabetes.
- Small team helps lead to faster development
- See “The Mythical Man Month”
- They use a model.
- Simple Trello board
- To Do, Doing, Read for Acceptance, Acceptance, Done.
- He does accepting. Moving to rollout is Done
- Generally limit one thing per engineer at a time.
- Humans can’t multitask well.
- Example: Listening to a customer/stakeholder working through one of their activities and explaining why it’s a pain. More “here’s the problem” rather than just “this is what I want”.
- Focus “Jobs to be done”. What do they want to be done.
- Ulwock What Customers Want
- Decided to look at it as a supply problem. (Supply is user stories.)
- Has acceptance criteria (AC)
- UX person may just add some mockups.
- Engineers take the top card of the list.
- Even if you don’t know it!
- In that case, you need to find someone to pair with at the beginning.
- Engineer eventually sends pull request.
- And announces it on Slack Channell (or equivalent)
- Review of begins with specs. They use Ember. RSpec is good.
- The discussion in the review is useful.
- Importance of respect in doing this.
- Release note written.
- Note: Features can be done but still need to be done for individual users.
- Compliance setting helps encourage them to do this, but they’d probably do so anyway.
- “Testing is an art that you have to do regularly to be an effective engineer.”
Q&A
Is this available for others?
- No.
How do you deal with the context switch when you’re at the review step?
- It happens.
Why don’t you like specialization?
- We don’t like handoffs.
Are there other things that Sam should do
- More end-of-scrum retrospectives.