codepancake

your daily code for breakfast

Spotlight 18: Anna Baas

It’s time for Spotlight number 18! I’m so happy that you want to share your amazing stories with me, thank you! We’ll keep them coming in the next couple of weeks :) But first: let’s meet the wonderful Anna from Utrecht!

About Anna: Anna was born in time to have the fall of the Berlin Wall as her first, confused memory (“how do you mean it’s fallen, I can see it right there on the telly, it even has people standing on it”).  After being undecided about what to do in secondary school (in the end, asking the class scheduler to pick whatever would fit him best, and perhaps unsurprisingly ending up the sole girl in his CS class) and university (drifting from law to physics to philosophy of science), she taught secondary school physics and worked as a tutor. Since the career prospects in tutoring aren’t that great, she tried to turn her technology addiction into a job. This turned out to be a lucky decision. Anna now spends her days wrangling databases ancient and modern, and her nights learning exciting programming languages, if she’s not rowing, reading, singing, baking bread or hanging out with actual, living human beings. She lives in Utrecht, the Netherlands with her partner, laptops, and bookcases.

Name: Anna Baas
Job: Software engineer (backend, mainly Java)
Favorite website, app or gadget: I really like what keybase.io is doing to bring security to the masses.
Twitter: @venite
Site: nescia.nl/anna

What inspired you to pursue a career in IT?
I liked programming at university, and I thought it would be excellent if I could get paid to play with computers all day!

What does your working day look like?
I like to start around 7:30. I get my daily coffee, plug-in my laptop, review which tasks are assigned to me and start squashing them in order of priority. A task can be anything from a bug which can be analysed in ten minutes, to a technical design which can take a week or even longer to complete.

We all lunch together at several long tables that have been set for us. If the weather is nice, we take a walk, and afterwards our team has the daily standup meeting to check on everyone’s progress and set the priorities for that afternoon and the next morning. And then I continue with what we just agreed I should do next.

This might sound a little static, but we do a LOT of code reviews, bouncing ideas off of each other, and of course going for coffee (our team lead, who seems to consist mainly of coffee) or tea (the rest of us). So I’m seldom alone at my desk for more than a few hours.

What is the coolest project you have worked on and why?
I work in a data migration team within a larger company. We just finished an almost year-long project where we migrated data out of a system which has been running for 35 years. (That’s not a typo!) The largest effort in data migration is not in simply shipping the data from one database to another, but in figuring out how the old and new situations fit together. This was a huge job for the migration consultants in our team, and also for our customer (who, after all, had to tell us what ‘old’ was and how they wanted ‘new’ to be).

The coolest thing was seeing how this system, which is several years older than I am, solved the problems of its time. Loads of functionality that we take for granted wasn’t available yet. For example, it was very hard to sort in descending order (100 to 1, or Z to A). So if you knew you needed to do that a lot with a certain type of data, you store 100 as 0, 99 as 1, etc., up to 1 which becomes 99. Then you can sort from 0 to 100, which was much easier. And for the end users you recalculate the actual value every time, and show that on the screen. Sounds ridiculously complicated just to solve a sorting problem which we can now do with a single click, but that was the reality our predecessors in IT had to deal with.

Do you have a hero, or someone who inspires you?
My hero in IT is Kathy Sierra. She wrote several books on Java and software design. The format she uses is optimised for learning, which is rather radical. She doesn’t use her knowledge to appear all-intelligent but actually wants to teach people how to code in the best way possible, and she cares about end users, which we all should. Unfortunately, being a visible woman in tech, she has received so many death threats that she has had to limit her involvement in the tech community severely.

Why do you love working in IT/Tech?
It’s a constant source of puzzles. And I LOVE puzzles :) Also, my coworkers are the best.

Do you have a degree in IT? If so, what taught you the most? And if not, did you miss some important knowledge?
I read physics at university, so, no. I just started on a computer science track at the Open University, which is great. I’m currently learning functional programming (Haskell) and working on an artificial intelligence course.

Computer science isn’t programming and programming isn’t computer science. You can have the one without the other. Actually, the two people in my team who do have CS degrees don’t write code! But they have a broader view of the possibilities and structures of programming than I do. This is why I read a lot of coding and architecture blogs and try to discuss my solutions with several different people, if possible.

At this point I should also say that the two most important things for a programmer are 1. write good code and 2. communicate well. The latter is de-emphasized in all degrees, including CS (except possibly law and marketing). Get good at that, and you will win out over a CS grad who isn’t.

What would be your advice to everyone who is interested in a career in tech? (or learning to code?)
Find projects to work on, and if possible work together with other people. Just working through a tutorial or book will not give you the skills to code ‘out in the wild’. There are loads of great sites to help you take the next step, such as exercism.io, where people will critique your code for you.

Build something small for yourself. Then make it better. My first ‘coding project’ outside of school was a little script which automatically updated a page on my website. It was about 5 lines of code, but running it and seeing something REAL happen was so cool, it motivated me to do more. Also, it saved me a lot of tedious work updating the page by hand every time (this was before WordPress and its friends).

 

Extra question from Mairead:  What are your experiences of working with an open source software project?
I’ve been using different flavours of Linux for over fifteen years and in that time OS has really grown up. My non-technical partner and my dad exclusively use Ubuntu! Apart from installing and maintaining their systems, I don’t contribute much to OS projects. I’ve done some translating. But I find that after working on software all day for my job, and then again for my classes or personal projects, I really prefer to do something else with my time, like working out or reading. I do feel the moral obligation to give back to the open source community in some way, but I have to find a way that works with my other commitments and personal interests.

Thank you Anna!