On Agile Development
The US Department of Defense handy guide on “how to detect agile bs” is a tremendous document with a simple clear purpose:
The purpose of this document is to provide guidance to DoD program executives and acquisition professionals on how to detect software projects that are really using agile development versus those that are simply waterfall or spiral development in agile clothing (“agile-scrum-fall”).
Here is a their summary:
Ultimately Agile is a mindset not a methodology focussed and as such requires everyone to buy into it through conscious behaviour otherwise it adds no real value at all:
For agile to be effective, stakeholders and product owners have to change their behaviors and provide a conducive environment for the delivery team. Else, they should just stick with traditional waterfall because doing agile without reaping the benefit is sheer stupidity.
Where Agile can bring benefits is in waste reduction as befits its close linkage with lean manufacturing. What it is not is a way of magically doing things cheaper, better and faster without accepting and accommodating change:
Microsoft Research paper setting out 18 guidelines for interaction design of machine learning systems to address the problem of how to explain what the system does:
An old classic from Andrej Karpathy on the unreasonable effectiveness of RNNs which cropped up in the context of char-rnn and it’s extraordinary use to generate what looks on the surface like viable Linux code.
Simon Wardley famously said “containers won the battle but will lose the war to serverless” but as ever, his real views are more nuanced and recommended reading:
out of the blue we’re going to get these billion dollar one- or two-person companies. All they’ll do is provide a function, and you won’t know where they came from, but everybody will be using that function as a service. … As for losers — I’m sorry to say that one set of losers will be those who hold on to DevOps practices.
A key aspect of the assault of all things serverless is Go. This resource is a good starting point for demystifying how to architect Go microservices. It also explains how to make them “bulletproof” by focussing on unit and end-to-end testing, BDD with Ginkgo and stress testing. Corresponding source code is in GitHub here.
How to use serverless to sync between a database and a Google sheet spreadsheet.
Python named tuple demystifier:
# Why Python is Great: Namedtuples # Using namedtuple is way shorter than # defining a class manually: >>>from collections import namedtuple >>>Car = namedtuple('Car', 'color mileage') # Our new "Car" class works as expected: >>> my_car = Car('red', 3812.4) >>> my_car.color 'red' >>> my_car.mileage 3812.4 # We get a nice string repr for free: >>> my_car Car(color='red' , mileage=3812.4) # Like tuples, namedtuples are immutable: >>> my_car.color = 'blue' AttributeError: "can't set attribute"
Medium post on the rise of “no code” tools like IFTTT, Weebly and Zapier:
As creating things on the internet becomes more accessible, more people will become makers. It’s no longer limited to the <1% of engineers that can code resulting in an explosion of ideas from all kinds of people. We see “no code” projects on Product Hunt often, including this golden kitty award winner.
WSJ on why foreign players need to watch their back in India against a backdrop of growing economic nationalism.
Google are buying Fossil for $40m perhaps to help support an attempt to build a Pixel Watch. They’ll have to improve on the recently released Fossil Sport Smartwatch. One of the first Android Wear propositions to run Qualcomm’s 3100 Snapdragon SoC, it garnered some disappointing reviews.
From smartwatches to light switches, this thoughtful article forces us to consider whether the addition of smart in the context of the everyday actually improves our humanity.
It seems a long bow to draw between Heidegger and HAL, Tanizaki and Pallasmaa, quantum physics and mass extinction – and then the humble light switch. And it is, of course. Nonetheless, as the light switch may quietly begin to fade away, now is the time to reconsider its true value and broader meaning.
Indeed the everyday light switch lets us actively exert the light without, while connecting us to our daily infrastructure and the lives of others, with humble analogue intensity.
CRISPR is being turned against some of the biggest ecological problems in the world by combining it with a “gene drive,” a powerful genetic engineering tool used to spread genes through an entire population. Within just five years, CRISPR gene drive technology has gone from pioneering idea to impending reality.
Playing games can build 21st century skills but it depends on context and how the game is constructed. In particular it’s important to architect a “Play, Explore, Study, Build” approach where what starts out as a game turns into a learning quest:
In this model, students only play games for around 10 percent of the time, typically in the beginning. The rest of the time they’re doing related activities that don’t involve gaming at all. Thus, a fifth-grader might start out by playing a life science game to draw him into the topic, but then spend the rest of the unit exploring and researching the topic, getting out into nature and finally building something tangible, such as a model ecosystem, either physically or digitally.
Work and Startups
Why quit amazon after five months? This post from an ex-SDE I provides an excellent and considered summary which rings true. Much of the work of engineers at Amazon does not match whatever image you may have in your head about what you might be working on. You’re unlikely to be involved in anything relating to AI, ML or big data and will spend an inordinate amount of time on activities other than coding:
I was overwhelmed by online “cultural” trainings about the company’s leadership principles and other corporate bullshit, I felt like I am joining a religious organization and being brainwashed.
Supposedly, every employee should be guided by the leadership principles during their day-to-day routine. The principles actually make a lot of sense, when used appropriately. As time went, I discovered that the most common application of the principles was to creatively find a leadership principle that best supports the situation.
On the other end of the spectrum, Ryan Negri on why he’s giving up running a startup:
This feels like giving up, giving in, or quitting, and no matter who says otherwise, I just can’t grasp that it’s not. What I am sure of is that I can’t do this anymore — I can no longer spend my time and be financially dependent on something that isn’t enjoyable.
The soft skills that companies need but are in short supply based on LinkedIn data:
Okta survey on businesses at work provides great insights into the most popular apps in the global enterprise environment. It reveals Office 365 remains pre-eminent:
FirstRound post on how to make connections that count covers asking questions, being curious, maintaining “loose touch” and using email templates. It somehow feels a bit forced and difficult to fit into everything else going on in your life.
Talking of which, perhaps a more practical way of proceeding is to create a Most Important Task (MIT) list otherwise known as a todo list. I create one of these on a post it note every day:
A Most Important Task (MIT) is a critical task that will create the most significant results. Every day, create a list of two or three M.I.T.s, and focus on getting them done as soon as possible. Keep this list separate from your general to-do list. – The Personal MBA
Marina Hyde as ever remains the go to source of what’s really going on:
If you had to distil into one personage the British people’s gibbering historical deference to terrible ideas advanced by low-to-middlebrow post-feudal shitlords who openly detest them, this plastic aristocrat would be it. Rees-Mogg is the logical end of whole centuries of barking up the wrong tree.