François Chollet's "Notes to Myself on Software Engineering" is posed as reminders from Chollet to himself, but they're a really wonderful list of extremely sensible advice on how collaborative projects work, how to be a good collaborator, how to build things for other people to use, and how to collaborate with future engineers and builders who will some day want to hook things up to the thing you're making.
For example: "Code is also a means of communication across a team, a way to describe to others the solution to a problem. Readable code is not a nice-to-have, it is a fundamental part of what writing code is about;" and "Users are focused on their own specific use case, and you must counter this with a holistic and principled vision of the whole project. Often, the right answer is to extend an existing feature."
I'm especially taken with his thoughts on APIs, like "Simple things should be simple, complex things should be possible. Don’t increase the cognitive load of common use cases for the sake of niche use cases, even minimally."
Then there's the section on having a good and worthy career in technology: "When making any choice with long-term repercussions, place your values above short-term self-interest and passing emotions — such as greed or fear. Know what your values are, and let them guide you." That is very good advice.
Notes to Myself on Software Engineering [François Chollet/Medium]
(via Four Short Links)
Larry Tesler, the Xerox PARC computer scientist who coined the terms cut, copy, and paste, has died. Born in 1945 in New York, Tesler went on to study computer science at Stanford University, and after graduation he dabbled in artificial intelligence research (long before it became a deeply concerning tool) and became involved in the […]
Writing in Wired, Boing Boing contributor Clive Thompson discusses the rise and rise of "Edge AI" startups that sell lightweight machine-learning classifiers that run on low-powered chips and don't talk to the cloud, meaning that they are privacy respecting and energy efficient.
Yesterday's column by John Naughton in the Observer revisited Nathan Myhrvold's 1997 prediction that when Moore's Law runs out -- that is, when processors stop doubling in speed every 18 months through an unbroken string of fundamental breakthroughs -- that programmers would have to return to the old disciplines of writing incredibly efficient code whose […]
If the last 50 years of education have taught us nothing else, it’s that it often requires different tactics to best reach different learners. To pick up a foreign language, some students take best to the old-school high school language lab method, using heavy repetition, verb conjugation and grammar emphasis to embed a new language. […]
For those who want a career in video games, there’s no reason to sit around and wait. EA and Rockstar Games probably aren’t going to seek you out and knock on your door with a job opportunity. But if you’re an indie developer with a good idea and some passion, you can create a really […]
Nobody is happy about the current state of our COVID-ravaged education system. With a new school year fast approaching, plans for teaching students still in flux, and political in-fighting driving more fear and confusion about whether or not to re-open campuses, teachers and parents are concerned. Meanwhile, most kids are just fine with spending less […]