1 To the streets

This chapter covers

  • The realities of the streets
  • Who is a street coder?
  • The problems of modern software development
  • How to solve your problems with street lore

I am lucky. I wrote my first program in the 1980s. It only required me to turn on the computer, which took less than a second, write 2 lines of code, type RUN, and voila! The screen was suddenly filled with my name. I was immediately awestruck by the possibilities. If I could do this with 2 lines, imagine what I could do with 6 lines, or even 20 lines! My nine-year-old brain was flooded with so much dopamine that I was addicted to programming at that instant.

Today, software development is immensely more complex. It’s nowhere close to the simplicity of the 1980s, when user interactions only consisted of “press any key to continue,” although users occasionally struggled to find an “any” key on their keyboard. There were no windows, no mice, no web pages, no UI elements, no libraries, no frameworks, no runtimes, no mobile devices. All you had was a set of commands and a static hardware configuration.

1.1 What matters in the streets

1.2 Who’s a street coder?

1.3 Great street coders

1.3.1 Questioning

1.3.2 Results-driven

1.3.3 High-throughput

1.3.4 Embracing complexity and ambiguity

1.4 The problems of modern software development

1.4.1 Too many technologies

1.4.2 Paragliding on paradigms

1.4.3 The black boxes of technology

1.4.4 Underestimating overhead

1.4.5 Not my job

1.4.6 Menial is genial

1.5 What this book isn’t

1.6 Themes