Monthly Archives: February 2017

Book Notes : TED Talks

TED Talks: The Official TED Guide to Public Speaking
TED Talks: The Official TED Guide to Public Speaking by Chris J. Anderson
My rating: 4 of 5 stars

Your number-one mission as a speaker is to take something which matters deeply to you and rebuilds it inside the mind of your listeners.
The only thing which matters is having something worth saying.
Use speaking as a motivator to get things done
Everyone has a story to tell, their own life is unique
You must only describe things in a way your audience will understand
The talk is a journey, focus on where the audience starts and where you want to take them to.

Common traps

  • sales pitches. People don’t want to hear them and switch off
  • be prepared. If people are giving up their time to listen then it is only fair that you invest time preparing
  • the organisation. People have no interest in how your NGO/company is organsied, focus on the products which people can get excited about
  • content is king. Although a good presented can make a dull topic interesting if there is no substantial content the audience will feel cheated

The key is to present one idea thoroughly – overstuffed = under-explained. Look to find something which is bigger than you and your organisation as your throughline – Show why it matters!

  • Only cover as much content as can be compelling.
  • Is this a topic I’m passionate about?
  • Does it inspire curiosity?
  • Will it make a difference to the audience to the this knowledge?
  • Is my talk a gift or an ask?
  • Is the information already out there?
  • Can I explain the topic, with examples, in the time?
  • Do I know enough about this to take up the audiences time?
  • Do I have the credibility to talk on this topic?
  • What are the 15 words I would use to describe this?
  • Would those 15 words persuade someone to want to listen to the talk?

How to actually present:

  • Make a connection
    • make eye contact
    • show vulnerability
    • be humorous – if possible. If you can’t then no joke is better than a joke which goes badly
    • loose the ego, ever: name dropping, stories to show off, boast, talking about you not the idea, politics is divisive


  • Narration
    • characters you can empathise with
    • build tensions – curiosity, intrigue or danger
    • the right level of detail – too little and people can’t imagine it and too much slows things down
    • parables – stories with meanings which relate to your topic can be a powerful way to engage an audience
  • Explanation
    • Start where the audience is
    • Make it intrigue/curiosity
    • Introduce concepts one by one
    • Use metaphors – take the concepts and make them understandable
    • Use examples – apply the concepts to lock them in place
    • It is key to string things together in such a way that people can follow you from where they start to where you want them to get to. These sequence of steps need to be built in such a way that everyone can follow the path and no one looses the way.
    • Check for jargon and remove or explain it.
  • Persuasion – take something in peoples mind, take it apart and rebuild it
    • prime then reason
    • explain why people think the way they do or a situation which people can relate to which can be used to support the point
    • reasoning
      • if x is true then y will be too
      • reduction ad absurdist – take the counter argument to a point where it created a contradiction, but be careful not to fall into mud slinging
    • be a detective – follow a curiosity trail of evidence to come to a conclusion
  • Revelation
    • Wonder walk
    • Dynamic demo – tease, context, reveal/demo, implications
    • Vision/dreamscape, paint a picture of the future. Do so such that others will desire that future


  • Visuals
    • 1/3 of TED talks don’t use visuals
    • Revelation. Ideal for presenting things which are difficult to explain. Set up the audience then let the images inspire.
    • Explanatory
      • Limit a slide to a single idea
      • people read ahead – slides can steal your thunder
    • Aesthetic
    • you don;t need to talk about every image. Let them delight people
    • Hints
      • it is better to have three slides with a single image than one slide with three
      • don’t use bullet points
      • no underlining or italics only bold to accent
      • reveal the slide slowly with a few click to explain how it builds
      • don’t do year book team photos, if you want to include such a photo then just one organic team shot works best
      • videos should not exceed 30 seconds and not more frequent than every 5 min
      • use only basic transitions
  • either following a script or not, whichever suits you – don’t try to do something you aren’t comfortable with
  • Scripted talks
    • Know the script so it does not sound scripted
    • Look at the audience at least each sentence
    • You could script the talk as bullet points and expand on each as you talk
    • Motorisation is time consuming – a memorised talk gets worse through memorisation before it gets better. You should memorise it to a level you can deliver the talk while you are doing other unrelated tasks.
    • Spoken and written language are different – if you are giving a talk you must use the language you would speak.
  • Unscripted talks
    • Consider having a bulleted list of flow
    • Know where you want to start and end then you feel safe to free form in the middle

Rehearse, rehearse, rehearse. If it is worth peoples time to listen it is worth your time to practice.

  • Did you grab attention from the start?
  • Was there eye contact?
  • Did the idea get built
  • Could you follow the journey?
  • Were the examples useful/sufficient?
  • How was the tone? Was it varied? Was it conversational?
  • Did it sound like it was being recited?
  • Was the humor natural or awkward? Was there enough of it?
  • Did the visuals help or get in the way?
  • Were there annoying traits?
  • Did you keep to time?
  • Were there sections you were bored? That should be cut.
  • Do the rehearsal in the exact outfit you are going to wear. This would pick up noised from earrings etc which you might want to change.
  • Wear things which boost your confidence
  • Use confidence monitors just to show your slides, don’t try to use speakers note or a script as this distances you from the audience

Maximising impact

  • Keep it short – if it can be shorter make it shorter, people will better remember it.
  • Grab peoples attention right away (don’t thank people for being there etc) the first 10 second and minute are key.
  • Deliver drama – a dramatic preview of what is to follow.
  • Ignite curiosity – as a surprising question which people want to know the answer to, but it must not be too broad to keep interest
  • A compelling slide, video or object – ideal for designers, architects etc
  • Tease – but don’t give away the punchline
  • End with power
    • Show the possibilities for what you’ve presented
    • Call to action
    • Personal commitment
    • Values and vision
    • Brief re-frame – repeat the talk in a paragraph
    • Narrative symmetry – linking back to something from the start of the talk
    • Poetically – not always an option but sometimes the topic allows it
    • Voice – volume, pitch, pace, timbre, tone, prosody


  • Use fear as a motivator to practice and prepare
  • Let your body help – take deep breaths
  • Drink mater, about a third of a bottle 5 min before the talk
  • Eat about an hour before
  • Find friends or sympathetic viewers in the audience and present to them
  • Have a backup plan – perhaps a bullet point notes or a story to tell if there are technical problems
  • Focus on the talk – “This matters!!”

View all my reviews

Book Notes : Smart and Gets Things Done

Smart and Gets Things Done: Joel Spolsky's Concise Guide to Finding the Best Technical Talent
Smart and Gets Things Done: Joel Spolsky’s Concise Guide to Finding the Best Technical Talent by Joel Spolsky
My rating: 4 of 5 stars

This book proposed that if you have the Best Working Conditions => you get the Best Programmers => to develop the Best Software => which results in Profit!

The preface for this is the the quality of the work and the amount of time spent are simply uncorrelated. Productivity is 5 to 1 or 10 to 1 between programmers. You can’t afford to be number two, or to have a “good enough” product. It has to be remarkably good, by which I mean so good that people remark about it. Having really, really, really talented software developers is your only hope for remarkableness.

Candidate sourcing

The great software developers, indeed, the best people in every field, are quite simply never on the market. The average great software developer will apply for, total, maybe, four jobs in their entire career. Whereas bad people are on the market quite a lot.

How to find people who are not on the market:

1. Go to the mountain

  • What conferences do they go to? Top end conferences or up and coming technologies
  • Where do they live?
  • What organizations do they belong to?
  • Which websites do they read?
  • Avoid advertising on general-purpose, large job boards as the bad people who are all over the market will apply and swamp you.

2. Internships

  • Students are lazy, with lots of options so can roll out of uni into a job. For the good ones try to attract them a year or two early – they might need some training but it is beneficial for both sides. You will likely need to have a contact at the Uni to find the best students.
  • If they are great make them a good offer for after graduation

3. Build your own community

  • Referalls
    • Tend to be from former companies tent do be from the same company which can be risky
    • Nobody wants to persuade their friends to apply for a job at their company only to get rejected
    • If you pay too much for referrals then they will coach people through the interview process


  • Private offices make programmers more productive and programmers prefer it
  • Putting on headphones with music to drown out the ambient noise reduces the ability of programmers to have useful insights
  • Office location
  • Does the office look exciting?
  • Good chairs don’t cost that much more over their lifetime and if you take the cost per week it is cheaper than most other office facilities
  • People want to work with good, cheerful and happy people – Smart, and Gets Things Done and not a jerk
  • Managers can advise but they must be extremely careful to avoid having their “advice” interpreted as a command

Thing which annoy programmers

  • being told to use a certain programming language
  • people being promoted because of their ability to network rather than being promoted strictly on merit
  • being forced to do something that is technically inferior because someone higher than them in the organization, or someone better-connected, insists on it.

People want to work on something cool, exciting new languages attract people.  Young programmers, especially, are attracted to ideological companies

  • open source or the free software movement
  • social causes
  • benefiting society

Developers don’t really care about money unless you’re screwing up on the other things – it means people aren’t really loving their job. If potential new hires just won’t back down on their demands for outlandish salaries, you’re probably dealing with a case of people who are thinking, “Well, if it’s going to have to suck to go to work, at least I should be getting paid well.”. That doesn’t mean you can underpay people, because they do care about justice – you do have to pay competitively, as long as the salaries are basically fair they will be surprisingly low on their list of considerations. Offering high salaries is a surprisingly ineffective tool in overcoming problems

Resumes filtering

  • Be selective about how we advertise jobs to limit the amount of poor CVs
  • Use a strictly objective system of reviewing and sorting them, this is not a filtering criteria it is just to sort a big pile of CVs to find candidates who are most likely to be suitable so they get interviewed first
  • Passion
    • Jobs with computers or experience programming going back to a very early age
    • People who love programming often work on their own programming projects (or contribute to an open source project) in their spare time.
    • Sometimes certain programming languages or technologies indicate evidence of someone who loves to explore new technologies
  • Pickiness
    • Specific covering letter to the company, a custom cover letter is a sign that if we do make this candidate an offer they’re likely to accept it
    • programmers who can communicate their ideas clearly – so neat, well structured and gramatically correct CVs
  • Brains
    • Math camp, programming competitons etc
  • Selectivity
    • Have they been through a rigorous review process before either for Uni or another company
  • Hard-core
    • Some development work is just harder than others, if they have the harder work then they stand out.
  • Diversity
    • Trying to bring new ideas into the team – to break people out of group-think and their own echo chamber
  • Great developers are likely to have enough options of places to work that any extra hoops will put them off bothering to apply.
  • Any technology you know right now might be out of date in a year, you are looking for people who pick things up quickly and can learn new things – so don’t filter CVs on key words.

Phone Interview

  • Get the candidate to describe their career history and basically tell me about themselves. Looking for:
  • Technology: How did they do things. What was their role. CV validation
  • Politics: How the candidate handles challenges. Looking for people who got things done, even in the face of opposition. I’m looking for people who challenged the status quo, who overcame objections, and who made things happen. Whose idea was it? Who convinced whom? Who did what? Did it work out? Why not?
  • Get the candidate to solve a technical problem. This should take something the candidate is familiar with but are unlikely to have implemented themselves. The aim is to look at their approach rather than getting them to speak code over the phone.
  • Get the candidate to ask questions about the company. This shows if they have done any research and what they are interested in.


  • 6 interviewers, at least 5 peers not managers
  • If two people would reject the candidate end the interview at that point
  • Don’t interview multiple people at once
  • There are three catorgories
    • Nos
      • “Hire, but not for my team.” is a no hire
      • “I’m a little concerned about” is a no hire
      • “Perhaps” is a no hire
      • It is much much better to reject a good candidate than hire a bad one
    • Maybes – never hire maybes
    • Superstars
  • Is the candidate¬†Smart will the candidate get things done?
  • Bad interviwers
    • Interviewers who just talk the entire time
    • People who are just looking for trivia e.g. “What’s the difference between varchar and varchar2 in Oracle 8i?”, smart does not mean knows trivia, aptitude is more important. Any skill set will be out of date in a couple of years
  • Good practice
    • Know as little as you can about the candidate in advance so it does not bias your opinion.
    • don’t listen to recruiters opinions, don’t ask around about the person before you interview them, never talk to the other interviewers about the candidate until you’ve both made your decisions independently. This provides the least amount of bias for or against the candidate.
  • Good candidates
    • are passionate, they might be passionate in favor or against but passion is key. Bad candidates just don’t care.
    • can explain what they have done in a way a normal
    • look for signs of leadership, how have they pushed forward to get things done
    • write code and discuss it
      • Fundamentals – if they don’t know these then they won’t get very far
        • pointers
        • recursion
        • data structures
      • ask them to find bugs in their code, even in the unlikely event there are none, to see how they approach it
      • Even if they are a bad candidate, you want them to like your company and go away with a positive impression.
      • Don’t ask questions such as are they married, have kids etc even in a conversational way as this adds nothing and the candidate might feel this has been used against them which is likely illegal.
      • “Back of the envelope questions” e.g. How many piano tuners are there etc are a good way to provoke a conversation.
      • Do feedback instantly before you forget about the candidate
      • If 4 or 5 people think this person is worth hiring then you likely won’t go wrong
      • If you do have to say no to someone, do it quickly and respectfully
        Great people are much, much more valuable than average people – three to ten times as productive, costing 20% or 30% more


  • Why don’t they work?
    • performance measurements and incentives – devastatingly ineffective
  • Remove the parts which are not working.
    • Anonymous peer ranking with the options:
      • Great developer
      • Needs specific improvements
      • Hopeless
        • Firing poor performers can increase moral because poor performers are taking time away from the good performers. If you can’t fire them move under-performers to a place where they can’t cause any impact.
  • Putting in things which do work
  • Three approaches to leadership
    • The Command and Control Method
      • Tell people what to do and tell them off if they don’t do it
      • Disadvantages for developers
        • Smart people rebel against doing what they are told without good reasoning
        • Micromanaging would require a huge amount of managers to micromanage everything. That or you hit and run not seeing the consequences of your decisions.
        • The management have the least knowledge so are ill placed to make decisions.
    • The Econ 101 Method
      • Give them financial rewards and punishments to create incentives, aka replaces intrinsic motivation with extrinsic motivation.
      • When you stop paying the bonus, or when they decide they don’t care that much about the money, they no longer think that they care, even though they might have cared before you started giving them a bonus for it.
      • They’ll find some way to optimize for the specific thing you’re paying them, without actually achieving the thing you really want.
      • You’re encouraging developers to game the system.
      • You can’t abdicate your responsibility to train your people by bribing them.
    • The Identity Method
      • Make people identify with the goals you’re trying to achieve
      • The Identity Method is a way to create intrinsic motivation.
      • Make a point of of eating lunch with my coworkers. It’s hard to understate what a big impact this has on making the company feel like a family, in the good way.
      • by sharing information people will do the right thing

View all my reviews