1. Keeping things minimal, with Safia Abdalla 34:43

Safia works independently, making an impact on businesses with her skills in data analysis, front-end development, and technical writing. Safia is a serial open source contributor, and is the creator of Legit - a command line tool to make adding licenses to projects and files a cinch. On top of that, Safia is a regular speaker at dev conferences.

Time Stamped Show Notes

0:59 – In additional to writing legit, Safia has written a couple of open source tools that are all aimed to make the development experience better. She has written goops, which is a command line tool that aims to make it easier to add .gitignore files to your projects intelligently.

2:19 – Safia is passionate about being a developer because of the new experiences it gives her. She gets the opportunity to try something new and feel uncomfortable on a regular basis.

3:58 – Safia helped start a local nonprofit in Chicago that works with high school girls in their freshman and sophomore years to get them interested in technology. It’s called ChickTech Chicago.

5:05 – The one thing that is consistently difficult about projects is being able to communicate intentions and expectations between people.

7:18 – Safia has found improv games effective in her team’s technical meetings. The games are designed to make people uncomfortable and teach them how to deal with things not going the way they expect. This builds trust between colleagues and helps them overcome “silly disasters”.

10:40 – Safia doesn’t use many tools in her workflow, but when she does she wants them to be very simple with minimalist APIs.

11:05 – Safia uses Hyper and splits her work into 3 panes: one with her Vim editor, the second with a blank command-line shell, and the third running the dev server or test suite with a live reload.

12:15 – Safia doesn’t have syntax highlighting turned on in Vim, and finds that it causes her to make fewer syntax errors.

13:24 – It’s important to capture the freshness and energy of a new idea and put it to work right away.

14:07 – Less tooling is better.

15:00 – The idea for legit started because Safia grew tired of having to create a project on GitHub to get the license. She wanted to create the license in the command-line without having to clone it on GitHub. Safia says that legit is the only command-line tool that she knows of that allows you to add a license header to a file.

19:39 – Safia is primarily a Javascript developer at the moment, but is excited about Go and systems languages.

20:45 – Safia has committed to learning by doing which is different from how she’s learnt in the past. Safia pairs each new topic when learning Go with creating an open source library that she will publish along with the learning process.

22:06 – Safia started learning Go because a systems language felt like a good skill to complement her existing knowledge of Python on the backend and Javascript on the frontend.

25:58 – “You don’t write code so the machine will be happy, or so that your tests will pass, or so your website looks a certain way. You write code so that other people will be able to read it; so that other people will be able to modify it; so that the website will look appealing to human-beings with different experiences or abilities than yours… It’s the realisation that it’s not about you and the machine, it’s about you and the people out there. That perspective has changed the way I write code.”

Quickfire Questions

27:04Best advice about programming
Always write tests

28:03Habits for writing better code
Safia runs to allow her to engage her body and mind while away from the machine.

27:53Book
Code: the Hidden Language of Computer Hardware and Software, by Charles Petzold. It covers everything you need to know about computers.

30:07Inspiring devs
Sarah Drasner whose main focus is on SVG animations at the moment.

She is also thankful to everyone who contributes and maintains the React project.

Safia strongly recommends following Kent C. Dodds on Twitter if you’re interested in JavaScript.

32:02How to learn to code from scratch
Have an end goal – know what you want to do or make and then use tools like Code School, Codecademy and Khan Academy.

33:26Top tip to work smart
Cut out anything you think is unnecessary and to take care of yourself personally. Make sure your mind and body are healthy, and value your emotional and physical wellness.

Resources Mentioned

Contact Safia