Skip to main content

Engineering Notebook

Unlike today, there was no Google, no Stackoverflow, no open source at your fingertips, rarely even someone to email to ask for help. You were basically programming on an island, and anything you needed to figure out or solve, you had to do it yourself. What you need today is searching, understanding and evaluation. You have access to the world's smartest (and sometimes dumbest) people. The chances that something you need hasn't been done elsewhere is rare and the real skill is in finding it, relating it to what you need, deciding if it is useful or adaptable, and if it is of a decent quality. [Andrew Wulf]


One of Mr Dennett's key slogans is "competence without comprehension". Just as computers can perform complex calculations without understanding arithmetic, so creatures can display finely tuned behaviour without understanding why they do so. The mental items that populate human consciousness are more like fictions than accurate representations of internal reality. [The Economist (2017)]


The psychologist Don Norman coined the term conceptual model to refer to the rough knowledge of a technology we need to have in order to use it effectively. [Pedro Domingos (2017), The Master Algorithm, Penguin]


The bigger problem of understanding "my" code or "this" code is " has somebody else already solved this problem". My feeling is that most problems have already been solved but we write code because it's quicker to write code than discover it. [Joe Armstrong]


Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure. [Conway's Law]


In fact, I couldn't remember the portrait very well, though I had finished it only a few weeks before. That was my pattern — the moment I launched into a new painting, the one I had just finished slipped from my mind. Only a vague and general image remained. I did retain a physical memory, however, of the sense of achievement I got from working on it. [Haruki Murakami (2017), Killing Commendatore]


Thus Computer Science is closer to the underlying theory of computation, with its roots in mathematics, and Computer Engineering is closer to the design of physical devices, with roots in physics and chemistry as well. [University at Buffalo]


As it stands, I’ve put in 2,600+ hours and written 62,176 lines of code (mostly C++). The game’s made $27.92 in income, which nets out at about $0.01 per hour. Had I spent the time washing dishes at $7.25 / hour (a 725x more lucrative job) I’d have made a cool $19k! [Luke Rissacher]


85% of your financial success is due to your personality and ability to communicate, negotiate and lead. Shockingly, only 15% is due to technical knowledge. [Carnegie Institute of Technology]


When you ask people about what it is like being part of a great team, what is most striking is the meaningfulness of the experience. People talk about being part of something larger than themselves, of being connected, of being generative. It become quite clear that, for many, their experiences as part of truly great teams stand out as singular periods of life lived to the fullest. Some spend the rest of their lives looking for ways to recapture that spirit. [Peter Senge]


The acquisition of skills requires a regular environment, an adequate opportunity to practice, and rapid and unequivocal feedback about the correctness of thoughts and actions. When these conditions are fulfilled, skill eventually develops, and the intuitive judgments and choices that quickly come to mind will mostly be accurate. A marker of skilled performance is the ability to deal with vast amounts of information swiftly and efficiently. [Daniel Kahneman (2011), Thinking, Fast and Slow, Penguin Books]


If you want to become a leader, your development is all on you. We asked executives to rank their top employee attributes and the willingness to follow is more valuable than leadership. You have to build leadership skills on your own if you want to be prepared for the demands of management roles. [Karie Willyerd, Barbara Mistick (2016), Stretch, Wiley]


A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system. [John Gall (1975), Systemantics: How Systems Work and Especially How They Fail]


Economists such as David Autor and Daron Acemoglu have pioneered a new way of looking at work: analysing occupations in terms of the tasks they involve. These can be manual or cognitive, routine or complex. The task content determines how skilled a worker must be to qualify for work in a particular occupation. Mr Autor argues that rapid improvement in technology has enabled firms to reduce the number of workers engaged in routine tasks, both cognitive and manual, which are comparatively easy to programme and automate. [The Economist (2014)]

Basilica di Santa Maria degli Angeli e dei Martiri, Meditazione

Comments

Popular posts from this blog

The Domains

The building blocks required to achieve success in a business domain and differentiate the company from its competitors:  Core domains : The interesting problems. These are the in-house activities the company is performing differently from its competitors and from which it gains its competitive advantage.  Generic domains : The solved problems. These are the things all companies are doing in the same way. There is no room or need for innovation here; rather than creating in-house implementations, it’s more cost-effective to adopt \ buy existing solutions. Supporting domains: The problems with obvious solutions. These are the activities the company likely has to implement in-house or outsourced, but that do not provide any competitive advantage. Domain experts are subject matter experts who know all the intricacies of the business that we are going to model and implement in code. In other words, domain experts are knowledge authorities in the software’s business domain. T

Meaning

Of all the information that every second flows into our brains from our sensory organs, only a fraction arrives in our consciousness: the ratio of the capacity of perception to the capacity of apperception is at best a million to one. A million times more bits enter our heads than consciousness perceives. Consciousness lags behind what we call reality. It takes half a second to become conscious of something, though that is not how we perceive it. Outside our conscious awareness, an advanced illusion rearranges events in time. Our consciousness lags behind because it has to present us with a picture of the surrounding world that is relevant. But it is precisely a picture of the surrounding world it presents us with, not a picture of all the superb work the brain does. The sequence is: sensation, simulation, experience. But it is not relevant to know about the simulation, so that is left out of our experience, which consists of an edited sensation that we experience as unedited. What we

The Evolution of Cooperation

The Tragedy of the Commons occurs when a group’s individual incentives lead them to take actions which, in aggregate, lead to negative consequences for all group members. It is a multi-player version of the Prisoner’s Dilemma. In the version of the game from which it got its name, the players are two prisoners, held in separate cells. Each has to choose between “cooperating” with the other (keeping quiet) or “defecting” (giving evidence against the other). Each makes the choice without knowing what the other will do. If both prisoners keep quiet, they are each sentenced to one year in prison. If one rats on the other, he or she goes free and the other gets 10 years. If they both rat on each other, they each get 5 years. The problem arises because whatever your opponent does, defecting gives you a higher payoff than cooperating.  In 1984 Robert Axelrod published a book called The Evolution of Cooperation, which contained a surprising reflection: if you play a Prisoner’s Dilemma game, n