Your tests are your friends, with Anjana Vakil
Anjana is a philosophy major and English teacher turned computational linguistics aficionado. After completing graduate studies in speech technology, machine learning, and computer assisted language learning, Anjana joined the engineering team at UberResearch in Germany, where she is implementing a query language that interfaces with scientific research funding data.
Time Stamped Show Notes
1:20 – After teaching English as a foreign language, Anjana became interested in linguistics, and then discovered the field of computational linguistics.
2:31 – While doing her masters in computational linguistics in Germany, Anjana discovered she loved software development. Anjana went to the Recurse Center in New York where she started learning as much as she could about development.
3:34 – Anjana is passionate about the human factor in software development, and how environments like pair programming and programming dojos elicit conversations that otherwise wouldn’t come about.
5:46 – Anjana talks about how terrified she was to make her first pull request, and how it relates to how much work goes into setting up environments and contributing to projects, whether they are open source, or as part of a team in a company.
9:16 – I love tests.
9:55 – Mozilla’s Outreachy program, which helps put women and underrepresented groups in internships with important open source organisations, made Anjana realise how and why to test.
10:44 – “I mostly work in Python, so I use pytest, which is a fantastic testing framework, because it’s super lightweight and easy to get going but also very really powerful. Nowadays I can’t imagine going back to a development workflow where I don’t have those nice little green dots, that say “everything will be okay”. I can’t imagine going back to a pre-TDD lifestyle.”
11:19 – Anjana thinks of her tests as her little friends, telling her everything is ok.
14:17 – The workflow in deployment and ‘productionising’ is something that’s still frustrating, as it’s not something Anjana knows a lot about.
15:14 – Anjana has started using Docker to develop a workflow that gets new versions of a small app she’s building live.
17:27 – One of the most exciting things going on is Web Assembly – we’re going to be able to to deploy things to the web that we never thought was possible.
18:22 – “It’s important to remind yourself that it’s just not possible to keep up with developments in the industry. I really love attending conferences, I love talking to people, I love hearing about people’s projects.”
18:58 – Going to conferences, submitting talks, and travelling exposes Anjana to new and exciting things in the industry.
22:23 – The fact that there are multiple paradigms on how to structure code helps Anjana keep an open mind to new ways to do work.
23:01 – Best advice about programming
Never graduate. You’re never done learning about programming.
23:22 – Habits for writing better code
Test-driven development, and having things written down in an organised way.
24:06 – Book
26:00 – How to learn code from scratch
Anjana would start with the book Head First Programming as it’s not scary to be at home with a book, there’s no social pressure and you don’t feel like you’re going to look dumb in front of people. The intro to programming workshops called the “Bridges” are also a really safe and friendly way to sit around with people who are just starting out and learning the basics.
27:18 – How to work smart
Work with other people! Pair with other people, listen to their ideas, talk things over with your colleagues, don’t isolate yourself.