Skip to content

Writing

Tech Talk Tips

Collection of the Best Advice on Internet that I know about on giving a tech talk. Based on responses from my question on Twitter.

{{< figure src="/images/meghanaTalk.jpg" caption="Meghana gave a talk based on these tips at PyData Bengaluru" >}}

You: Hey, I know something better!

Me: Please tell me about it! Raise a PR. Or reply to the tweet above!

The Mindset

How to structure and style the talk?

Everyone's experiences are different so not sure how well mine generalise. But: find someone whose style of presentation you like & take some inspiration. There are soo many different ways of delivering a talk & it's all about finding the one that works best for your personality.

IMO, slides shouldn't contain everything that's being said in the talk. They should provide an overview of the main points and complement them visually – e.g. with diagrams, illustrations, small code examples. Also, people LOVE taking pics of slides.

I typically practice my talks in logical units, then practice the transitions, then put it all together at the end. I find that much easier and more efficient than only ever doing full run-throughs. But then again, people have different preferences here.

  • From Ines, the co-creator of spaCy

On how to start the talk:

Give an outline to the audience about the topics that will be addressed. More importantly, gauge the existing level of understanding of the subject of the audience and modify the presentation accordingly. Best way is to ask questions before starting the presentation.

On what is important

Holding the attention of the audience is v important. You are easier to pay attention to when you are * entertaining to the audience * telling a story * telling the truth

For every point of truth you want to cover, wrap it with an entertaining story arc. One are per point.

List all your points. Then list all the stories you could tell per point. Then sort the stories by entertainment value to the audience. Assume one story arc is approx per 10 mins of speaking. A mental model of "telling a fun story to someone you've met a few times" helps. - From Sidu Ponappa (@ponappa), GoJek India MD

Don’t fear live coding or live demos

For technical talks, I’m a big fan of live coding or live demos, as opposed to presenting all the material on slides. Audiences like live coding better than slides, because they actually get to see how the system works, as opposed to looking at static snapshots of a perfect working system. Have all my live coding talks gone perfectly? No, but I’ve found audiences to be very understanding when things go awry. Everyone knows that there is risk involved, and I’ve even had people tell me they learned more when they watched the recovery from (or explanation of) an error than they would have by watching glossy slides fly by. Audience attention is definitely higher for live coding talks.

More good

Diwali 2018: Annual Letter

How are you?

I send these letters every year. This is a way for me to send thanks to all the mentors and friends who've been part of my journey so far. And I wanted to drop by and say

Happy Diwali :)

What is up with you? Is there something I can do for you?

For what is up with me?

Health & Wealth

Health

Since the beginning of this year, I have tried 'building better healthy habits'. Progress so far:

  1. Have spent 5000+ minutes working out
  2. Improved my BMI from 32.4 to 30.1 (lost 7 kg)

I am going to spend the next 12-24 months on health. Particularly learning to manage my allergy and asthmatic conditions better. This will be my top non-work priority.

Work

A Year with Soroco I completed a year with Soroco. I have a sense that my strengths are probably not in core AI/software. Yet to figure out where they are. What do you think?

Reading (Learning?)

Last year, I wrote how When Breath Becomes Air has been very influential to me. This year, I've been into online blogs such as:

  • Thinking Better: Farnam Street (mental models), Morgan Housel (Different Kinds of Smart), Ribbon Farm (Premium Mediocre), Derek Sivers (Obvious to You, Amazing to Others) - which resulted in me contributing to open source
  • Dreaming Better: I binge-read through a few books by author's like Dushka Zapata, and Javed Akhtar. Reading Hindi, specially poetry - strung a new chord with me. It instantly brought black flashes of memory fro my early teens which I had all but forgotten. If you have any scifi recommendations - I'd love to read 1-2 this year.

The other essay which I mentioned last year was The Case Against Work Life Balance. The core idea? As long as you're fit, it's better to strive to improve work to the point where it fills your life with contentment. An year of experimentation later - I have a better handle of when this may or may not apply. It seems to be mostly true, except when it's not.

Outside Work

Owing to about 2% better mental discipline and focus, I had a lot more free cycles since March. This resulted in me spending less time with my phone (and laptop) but mostly thinking deeply and creating something:

  • Economics Nobel Laureate, Dr. Paul M Romer (2018) found my notes on programming tools helpful (link to his Tweet)
  • Writing a book on Natural Language Processing, for software engineers - and comes out before Christmas on Amazon!
  • Won an International Fellowship with Fast AI for their advanced AI (deep learning) course

Few more small wins slightly more technical:

  • Won the first ever Natural Language Processing themed Kaggle Kernel award - that's about $500 in cash, $390 in software (Twitter link)
  • State of the Art results on Language Modeling for Hindi: Github Repo
  • Finished in Top 10 at the Global AI for Education Hackathon (link)
  • Lead Maintainer to the Github's Official Natural Language Processing Repo, featured in their ML Collection too (NLP Repo link, ML Collection link)

What's Next?

I'm still working out the chinks, on the wetware that I am - and I'm eager to hear any feedback that you might've.

Cheers, Nirant

Why we need to do a reference check on startup teams we work with?

Great Startups always ask someone who is joining for a reference check. They speak to your previous managers and colleagues. There is no reason why candidates should not do the same. Many startup employees have more opportunity costs than the founders themselves.

I'm surprised by the lack of due diligence which candidates do when interviewing with us. I assume that at least a part of this is that they don't know that they can do this. And second: how to check which startups are worth working with?

Well, first off:

I, Nirant, with the power vested in me by decent human beings who care about their lives, hereby grant you the license to do reference checks at places where you will work.

That out of our way, I'll invest the rest of this post how to evaluate startup teams. I write this with an engineer's context, with early career folk in mind. The mindset should transfer to other functions, but the specific examples will not.

How do you pick a team you want to work with?

Given that you're reading this, I am assuming you're are a proactive person.

  • Pick teams which grow on your strengths
  • Pick teams which mentor proactive people
  • Pick teams which take pride in promoting people who are young or from similar backgrounds as you

Go where you're a profit center, not a cost center:

For instance, if your strengths are in Natural Language Processing, you might not want to go work for a neobank. Why? Because their moats and growth come from consumer trust and regulation. Your innovation is a cog in the wheel.

When you are Interviewing

When you are interviewing with a team, ask your interviewer

On Mentoring

Have they mentored someone recently? Are they mentoring someone for the last few months?

  • What are the key accomplishments of their mentees?
  • What incentives (direct or indirect) do they have for mentoring others?
  • Is the mentee growing enough to inspire/challenge the mentor?

Org Scaling

Do they scale by hiring more people or up-skilling employees? What is the balance between these extremes?

  • Do they promote internally? If not, ask/learn why?
  • Would they back you if you want to learn something adjacaent to your skill?
  • What is the state of tooling which acts as safeguards e.g. central platform, data teams, and accelerators in the ecosystem e.g. standardized API configs and deployment across all devs?

(Optional) How many engineers have quit in the last 6 months as a percentage of team size?

On Decision Making

How do they design systems? E.g. who makes the final decision? You might not want to work for hero driven or extremely consensus driven engineering teams.

  • What does their release cycle look like?
  • How do they handle technical debt?
  • What are the safeguards (e.g. central platform, data teams) and accelerators in the ecosystem (standardized API configs and deployment across all devs)?

Asking questions along these lines will give you a pretty fair sense of how they think about investing and growing people, as well as how they make decisions. Those are probably the Top 3 on what determines what your experience will be like with that team.

Things to Avoid

Teams which have communication failures e.g. when you talk to interviewers the company messaging is inconsistent. One person might pitch college pedigree of existing employees. While another person is pitching how meritocratic they are.

Communication failures are easiest to spot. It’s symptomatic of larger problems within the company. When you have a high temperature, you know you are unwell, but you can’t guess why. That’s fine.

If the team does not value hiring, that means the people you work with will neither be effective, nor motivated.

Some of the most common reasons behind inconsistent communication are these:

  • leaders are poor communicators of their vision/roadmap
  • mid-level managers are poor at executing the vision/roadmap
  • they don’t have a sense of what “quality” or skills are needed to accomplish desired goals

There is a motley mix of reasons why communication can be broken. Either way, you don’t want to work with such a team.

And ohh, on startups with condescending recruiters: If someone who is supposed to invite you within the team is not 5-start hospital courteous on call - the odds that they'll be polite & professional when you join are low.

Who to Talk To

Previous Employees

Common Myth: Need to talk to someone from exactly the same role as you.

Better: Anyone who has worked with that team, or close to that team. For instance, do not hesitate to talk about a backend engineering team's skill level from a Data Scientist or Product Manager.

Small teams enable everyone to work closely with each other and have a lot more signal about each other's competence. That means, cross-skill/cross-function bar and ability of competence is quite well understood.

Exception: Someone whose first job was the company you're doing a reference check. Most people seem to have extreme opinions about their first job, atleast till their 3rd or 4th job.


Chai Sutta Story

True Story: I was about to accept an offer from a company but on a whim, I decided to visit their office. Because I was waiting for my hiring manager to come to work, I hung around at the nearby chai sutta place.

I learnt that the CTO had quit, the Engineering Managers were on notice period and other small array of red flags which I didn't see earlier. Worse, they had no one who could mentor me on data science and my hiring manager's strengths were different from ML. I met the hiring manager, and said No. That was a close save.

The best place to learn about a company's culture is the chai-sutta place. The geekier and more engaged they're about work itself, and not bitching about work -- the better off that team is. Nothing sparks joy than joy of creation in a good team.

If not any of these, I guess it'd be a good idea to do a little bit of Linkedin, Github and Twitter stalking. If none of the devs have never done anything impressive on any of these places, the team might just not be that high caliber. I'd wager that these websites capture something like atleast ⅔rd of the top 2% talent.


Present Employees

Present employees in India typically avoid giving anti-referrals. I get why this happens: we like to gossip. That said, there are ways to get enough signal by asking a lot of specific questions. These work best when you've worked for some time (sorry to folks graduating this year):

  • What is your typical release cycle? What are the steps? What does your developer tooling look like?
  • How do you measure/assess the quality of your software? What metrics define these? What led you to pick these metrics?
  • Of the people promoted in last 12 months, why do you think they were promoted?
  • I saw on Linkedin that X recently quit to join company Y - do you have a guess on why that happened?

These are all very direct versions, they work for me because I am a little more direct than usual. My friends and juniors, both have used more indirect versions to great effect. The key idea is to get that information, it's less important whether you were tactful in getting it.

How to reach out to people?

Well, there are no right answers to this. For some people, specially those from certain developer communities or good engineering colleges have a wide enough network. They've friends/seniors/juniors in almost every good company worth working with.

If you don't, fret not. Internet is your friend. Tweet to people, find their email id from Github commit messages. For instance, I've had great luck following advice from CTO of Shaadi.com, whom I met over Twitter. And maybe it's finally time to give that 1 free month of Linkedin Premium a try for their inMail.

I've personally had a decent modicum of success with emailing people, simply because developers don't get cold emails from other developers often enough. It's so rare that as long as I don't bungle it up, people do get back to me. Even if it's just to say "I'm busy, but let's talk next week/month".

-- That's it. I hope this quick intro helped you get started on how to evaluate and pick teams worth working with. If you have questions, please feel free to reach out to me on Twitter (or email).

Till we meet again,

Natkhat Nirant

Revised: September 2020. Original 2017 Edition lives here

Get this directly in your inbox by leaving your email id here: