May Khaw

May is currently a software engineer at ROKT, a technology firm in the marketing space that matches engaged + highly targeted consumers with relevant offers. Her story however, is one that tugged at me, and one that needs to be retold to encourage women in her position to realize their potential.  As an Economics major from the University of Manchester, May started her career as a researcher and data analyst in Singapore. After feeling technically frustrated with Excel, her innate curiosity for problem-solving kicked in and she took the plunge into software engineering; learning the ins-and-outs of programming for 11 months before meeting her current boss at a Clojure workshop he & his team had organised for women and shortly afterwards landing a job at ROKT. 

She is passionate about functional programming and spends her free time giving back to the WiT community by inspiring more women to get into engineering at a university level. 

This is her story.


N: Why did you want to make the switch from being a business analyst to a software developer?

M: I think Excel is a decent tool for what it is, but the reality is that a lot of people do not actually know how to use it correctly. You should not really be merging cells on a sheet that only contains raw data, for instance, because that can complicate using that sheet for analysis. (Formatting sheets to be readable is a whole other topic.) 

For me, the last straw was when the company I was working for at the time hired consultants to handle the verification of a tender. We were sending these Excel templates out, with hundreds of line items and the quantity required for each item. The suppliers involved were to fill out only the price of each item, and the templates would calculate a total dollar amount (basically price of Widget 1 multiplied by quantity of widget 1 plus the same for Widget 2 and so forth). 

After the tender was awarded, it came out that one of the winning suppliers had fudged the numbers by altering the quantities. They had been told explicitly that they were only to input the unit price of each item. 

The consultants did not even bother to write an Excel macro or anything to verify that the quantities required were as they had been sent out. Apparently they just eyeballed it. 

After that, I really wanted to learn how to automate these things better. 

N: When did the coding bug kick in?

M: I was interested before I met Matthias, but a lot of the learn-to-code material online did not really align with my interests. To me, learning to code was about learning what is 'under the hood', and web/front-end stuff was not something I am interested in. I just do not care enough about what things look like, I care about the problems that it has the potential to solve.

N: How did you go about learning to code?

M: There was a lot of trial and error involved, like actually writing code. From talking to other people, I do not actually think that my experience was very different [to a computer scientists] in that regard, just perhaps unusually academic for someone who did not study computer science at university. 

I am not so much into building things. I like the stuff about how things work. There is much more accessible material for beginners if you are into building things, I think.  My partner, Matthias helped me along the way; pointing me in the right direction etc.

N: Where did this lead you?

M: I spent a lot of time learning how to use a Linux operating system (my preferred flavour is Arch) and a programming text editor as well. 

I highly recommend doing both. They are also both easy topics to talk about at programming meetups because everybody has a favourite. 

I really love using Linux. To me, that was one of the highlights of starting on this journey. I really like it, and I will never use Windows again unless someone else is paying me to. 

N: Where did you garner support from besides your partner helping you out?

M: Attending meetups was definitely helpful to me. Whilst I do already live with a programmer and obviously, many of our friends are programmers as well, it taught me to talk about programming and related topics at a more professional level. It also helped me gain confidence and refine what I wanted out of my first programming job. 

I am very extroverted and outgoing, so networking and meeting new people is easy for me, however. 

N: Do you think that having a mentor, like your partner, is absolutely essential to the learning experience?

M: It is entirely possible to do it without a mentor, but I think a good mentor expedites the process. 

When Matthias travelled, it was often a test of my independence as a programmer. I can tell you that there are lots of people willing to help, especially online on IRC and programming-related forums and mailing lists.

N: Has it been worth it?

M: It is a lot of work, even with a dedicated mentor who is a talented software engineer. There is a lot of time spent where you are fumbling around in the dark, and then you get a job, only to find out that you will be spending even more time trying to figure out what you are doing. 

I think it has been worth it for me, but I really like the work. 

N: What have you taken from the experience?

M: Long, though I acknowledge now that I was probably ready to start interviewing probably about 6-7 months before I started my current job. I had a rather bad case of impostor syndrome. 

It can be lonely, especially since I spent a lot of time by myself. I would still not have done it differently though. The reality of learning programming and programming in general is that it needs many large chunks of time to be spent on it. 

There are meetups for people who want to learn, but they were largely focused on topics that I was not particularly interested in. (I am personally not very interested in front-end work. I think everybody should just use a combination of ncurses and the command line and call it good. Also, Windows is terrible.) 

N: With the learning curve in hindsight, would you do it over again?

M:  I would definitely. I love my new job. I love the work.

I'm frankly one of those success stories. I learned, I got a job, and I love it. I look forward to going to work every day, but I also am aware that I work with really good engineers. 

I want to add that I think a lot of people are not picky enough about their first jobs. 

N: You really are a success story in today’s age of programming. I very seldom see companies hiring engineers from ‘non-traditional’ (i.e. computer science undergraduate) backgrounds. I think this is starting to change however, as companies start realising that talent is not defined by a set of crude data points upon which hiring for software engineers has traditionally been founded. Given that only around 1 in 10 undergraduates studying computer science are women, the shift toward valuing other disciplines alongside passion and evidence of a desire to learn how to code (i.e. GitHub) is a shift that will ensure that companies are more gender diverse, and it will encourage women to enter the sector. 


MayCanCode, what's stopping you?