Newsletter 73 – On Coding

Published on Author malmLeave a comment

On Coding

The recent movement to get more people coding has been gaining in profile in the UK over the last 5 years.  Boot camps and code schools are popping up everywhere even for young kids as a summer camp activity.  One of the early issues has been finding a supply of teachers capable of training the kids.  The reality can often be the teaching happens the other way round.  All these approaches tend towards pedagogy because of a natural tendency to concentrate on measurable teaching outcomes.  The focus is typically on learning one language usually Python.  It is important in a world increasingly being built around technology to understand the nature of code but it is also important to recognise that learning the basics of coding is just one small part of building software in the real world.  Ultimately you can’t build a iPhone in Python and all the laudable efforts to evangelise coding don’t provide a real perspective on what it’s like to work with software every day in a typical professional context.  That reality can often be very different indeed from coding up a fun game.  This Hacker News post on Oracle’s database platform C code provides a glimpse into the Kafka-esque nightmare of maintaining long-term legacy codebases:

Code should be viewed as one amongst a number of tools including logic and skeptical thinking that we can use to express ourselves and understand the world around us.  Seymour Papert in his classic book Mindstorms introduced the concept of MicroWorlds as aids in computational understanding.  Kano’s Harry Potter Coding Kit provides such a MicroWorld in which to explore basic computing concepts including composition, loops and computing logic in a fun and engaging way within a consistent virtual world.  Perhaps in 15-20 years time, the developers of tomorrow will look back upon their journey into coding and find that it all began with some magic:

“As far as kids are concerned, all they’re doing is following instructions so their cool little wand thing can make colorful fireworks or float feathers.  With a bit of perseverance, kids will learn all about variables, logic, loops, and the cause and effect of their actions. And, ultimately, that’s what is cool about the Harry Potter Coding Kit — users can enjoy coding without even knowing what coding really is.”

Artificial Intelligence

Wired interview Google’s Geoff Hinton on how AI needs to think more like human brains.  Even so there won’t be another AI winter in his view:

No, there’s not going to be an AI winter, because it drives your cellphone. In the old AI winters, AI wasn’t actually part of your everyday life. Now it is.

Hinton and Hassabis are both somewhat downbeat on the near-term prospect of AGI.  But AI doesn’t have to be superintelligent to dramatically impact lives.  80% of US jobs are in Services.  In 2018 the robots started taking coming for them.

Startups and Products

Fjord’s 2019 trends predictions all centre on values:

Today, we stand at a technological, political and environmental inflection point. Two decades of rapid technology growth and innovation has generated enormous physical and digital clutter. The steep demand on the planet’s resources mirrors the demand on our time and attention, which leads to our meta theme this year: the search for value and relevance.

FirstRound also reviewed the 2019 landscape going into 2019 from a more direct and pragmatic startup-oriented perspective by surveying founders.  Here’s their take on technological unemployment:

James Wong on LinkedIn on how to navigate the human side of procurement in China and “level the playing field” with suppliers.  Having trusted Chinese contacts on the ground is essential.  The Model 01, an “heirloom grade keyboard for serious typists” unfortunately didn’t and their KickStarter page is required reading for anyone building hardware in China.

With a hardwood body, mechanical switches & custom-sculpted keycaps, it's a joy to type on. It comes with source code & a screwdriver.

Software Engineering

Handy guide to Jupyter Notebook extensions.  Install them as follows then navigate to the nbExtensions tab:

<span class="markup--quote markup--pre-quote is-other" data-creator-ids="anon">pip install jupyter_contrib_nbextensions &amp;&amp; jupyter contrib nbextension install</span>

The state of Python in late 2018 is arguably pretty good with pandas, scipy, JupyterLab, pipenv, mypy and f-strings all available to the generalist developer to create a formidable toolset.

If you think you’re a developer “you should solve the Project Euler problems“.   Having a look at the top 50 reveals a fun list with lots of distraction potential.

Engineering Leadership

Simon Young on why if you’re an Engineering Leader, perhaps you don’t want to be spending so much time solving Euler Problems if it detracts from your ability to lead:

Let the engineering team solve technical problems — instead concentrate your efforts on building and developing the team, providing them with strategic technical direction and removing any roadblocks that prevent them from succeeding.

Don’t be afraid to get involved when the team asks for your leadership — for example during an operational issue or to resolve low level chores that the team are too busy to complete — but whatever your engineering background you should be resisting the temptation to jump in with major codebase contributions that you can’t effectively support in the future.

Relatedly Raylene Yung of Stripe has some great observations on scaling an Engineering function starting with a key one – document your hiring process:

Software Quality

On two pizza slice teams are the root of many software quality issues particularly in startups:

The story goes like this: there’s a new platform we want to install some technology into. A fearless and talented developer dives in and by Friday she has a deceptively slick looking proof of concept of the main workflow. There’re some obviously rough edges, so, sure, why not keep going until the demo is like butter. By this time the engineer’s started an expanding list of //TODOs that are really more critical than they are nice-to-have.

Without stopping, a few weeks later, this prototype is being talked about like it’s customer-ready software. Pretty soon marketing and customer success are being spun up to trumpet about this achievement to your customer base, and before you know it this research product has paying customers, problems, and is going to need love and support for years.

This software testing demystifier covering unit tests, integration tests, regression tests and smoke (or exploratory) tests.  A companion to it would be Mike Bland’s epic classic on unit testing culture which is probably the ultimate authority on the subject going through how to unit test Heartbleed in so much detail it hurts:

Given the power of modern version control systems and the increasingly-common practices of forking, merging, and cherry-picking, tests have become more important than ever to guard against unintentional changes, especially changes leading to a regression of a known catastrophic bug. The apparent removal of a regression test during a cherry pick or a merge should set off alarm bells, even more so if the test was included in the same change as the fix, as the fix could become undone as well.

Engineering Leadership

Tremendous post on the vital importance of being able to write as a manager.  Far from being merely a notorious Amazon trope, writing documents meant for group reading in silence helps enforce amazing discipline:

Being able to effectively communicate vision and mission to your team requires an exhaustive understanding of their impact on the company as a whole. The simple act of writing these ideas down will help you reach this high level of understanding faster and make it easier to present them to the team. If your arguments aren’t laid out in a way that makes it easy for the team to digest and execute on, you’ll be forced to spend more time following up individually in the future.

The truth about aging in the tech industry – it’s still male, white and above all very young.  On the subject of seasoned veterans in the, Jean-Louis Gassée describes being fired from John Sculley’s Apple way back in 1990 pre-Jobsian second coming.

Science

Voyager 2 has now exited the Heliosphere and entered interstellar space where it will travel serenely for billions of years perhaps the only relic that will remain long after the human race and life on Earth (including the estimated 23 billions tons of it inside our planet) is extinguished.

Culture and Society

The cavalier attitude displayed by Facebook to personal privacy has almost lost the power to shock.  Even so, this Gizmodo special on how Facebook schemed to turn on PYMK (People You May Know) functionality to “drink your milkshake” is flabbergasting:

In Minnesota, protesting workers (many of them of Somali origin) are marching on an Amazon FC angered by what they see as inhumane working conditions:

The cybersex pioneers of the 90’s started off on a pretty direct transactional footing but eventually created a community of sorts around Tumblr.  Now that’s shutting down, the whole scene seems ready to go underground again.

 

Leave a Reply