PyDev of the Week: Brianna Laugher

This week we welcome Brianna Laugher as our PyDev of the Week! Brianna is the organizer behind her local PyLadies chapter in Australia. She has a very interesting website that displays her work. You might also find her Github profile illuminating. Let’s take some time getting to know our fellow Pythonista better!

Can you tell us a little about yourself (hobbies, education, etc):

I’m a software developer living in Melbourne, Australia. I like cycling, linguistics, free software, feminism, board games, film festivals. I’ve found I need to take care to regularly exercise otherwise spending all my time at a computer makes me sore and grumpy – the last couple of years I did triathlon, at the moment it’s yoga and pilates.

I’m quite a “joiner”, so since university I’ve been involved in several online and offline tech communities, and been lucky enough to see a good many cities around the world by way of conference attendance.

While I was at high school, the WWW started to be a thing. I taught myself basic HTML and CSS so I could make X-Files fan sites. I did a programming class in high school, but I had kind of romantic ideas about mathematics. At university I did a BA/BSc with Mandarin and mathematics, and filled in the gaps with some linguistics and computer science. (And a lot of no-credit Wikipedia editing.) Over 5 years I slowly realised the programming was a better idea than the maths. When I was finished I wasn’t sure what to do, so I started an Honours year, but at the end of first semester I panic-procrastinated and failed a subject and left.

I was extremely lucky to hear about a job from a friend, for a small company doing R&D in rules-based machine translation. (This is probably a quaint idea now.) I worked for a couple of years using Prolog to encode the grammar of the language Tagalog. After that I worked at the Bureau of Meteorology on natural language generation. I used Python to automatically convert weather-related statistics to brief English descriptions.

That project ended in 2014. I had been learning Spanish for a few years and I was keen to put it into practice, so I took part in a program called ‘Auxiliares de Conversación’, where native English speakers can work as assistants to English teachers in schools in Spain, for a stipend. It was an amazing experience and I loved the ability to ‘hop over’ to Brussels in a mere two hour flight! I was there for 10 months.

Now I am working at Planet Innovation, a consultancy focused on product development and commercialization. I’m using Python to work on web software that talks to medical devices.

Why did you start using Python?

I was first exposed to Python in year 11 at the National Computer Science School (1999), where we modestly attempted to implement Google in a week. Most of the instructions went over my head then, but I kept tucked away in my brain a fond memory of this simple, easy-to-read, whitespace-significant language. In the machine translation job where we primarily wrote Prolog, I was happy to have an excuse to use Python for something ‘real’ – I wrote little Python scripts to automate things around our test suite and analyse our corpora.

What other programming languages do you know and which is your favorite?

I could probably revive my Prolog skills if I needed to. I have occasionally found bugs in C++ and PHP code, but I can’t write them. I’m learning bash against my will and JavaScript little by little. Every other long flight I take, I dabble a bit more in Rust.

?- favourite_language(brianna, prolog).

false.

?- favourite_language(brianna, Language).

Language = python.

For the past seven or so years, I’ve been lucky enough to write Python as my day job. I’m not sick of it yet! I love that there’s so little boilerplate, and with a little care remains readable for a long time to come. I also like that the community emphasizes being welcoming to beginners.

What projects are you working on now?

Earlier this year I started the PyLadies Melbourne group, which is slowly finding its feet.

I’ve been part of the organising team for PyCon Australia 2016, which was in August. I’ll also be part of the team for PyCon Australia in 2017.

Over the past few years I have contributed a little to pytest, a test runner/testing library. I love using it and the people who contribute to it are superstars! It has a surprisingly active community for an open source project of its size. I intend to work on a pytest plugin soon, that we’d like to make use of at work. Plugins are a great way to get involved with pytest, as they’re low risk but also operate in a very similar way to the pytest internals. Pytest is basically plugins all the way down.

Which Python libraries are your favorite (core or 3rd party)?

Pytest! I feel so happy writing tests in pytest. It just feels like writing Python. Which unittest decidedly does not. It helps you be more productive by writing more tests in fewer lines of code, keeping your test dependencies self-contained (which guides you to writing more testable code), and giving more helpful output when a test fails.

I’m a big fan of the Jupyter/IPython notebooks. Their toolsets are just growing at an astounding rate. Really incredible tools for “showing your work”.

I must say I really like winpdb, a cross-platform GUI debugger. I think it’s ceased development now which is a shame, but you can drop in one file and even theoretically attach to remote processes.

Fabric is super nice for light-weight shell-scripty type stuff. I don’t really know how Python got a reputation as a scripting language when subprocess is such a pain to use. But Fabric makes the pain go away!

In the stdlib, I’m gonna keep banging on about namedtuple until everyone uses them!!!!

Also please use str.format() already. </psa>

What is your take on the current market for Python programmers?

It seems to me in Australia at least, Python is used by many people in a variety of jobs, but they may not think of themselves as “Python programmers” or work in a place that considers itself a “Python shop”. So Python skills may be seen as useful to a hiring manager but they may be more like the icing rather than the cake. There certainly doesn’t seem to be as many “Python shops” around that would be considered part of the startup scene. Or maybe they are just keeping quiet about it and mostly hire through networks rather than open recruiting? I would definitely recommend for would-be professional Pythonistas to make connections at local meetups and a nearby PyCon if at all possible.

Thanks for doing the interview!