Test Driven Development is something I have heard a lot about in the last year or two but I hadn’t had an opportunity to try it for myself until I started the LevelUp program that ThoughtWorks runs to help students who are close to graduating build skills that they will need as they venture into the workplace.
So what is TDD about? It’s a different programming paradigm to the one I’m used to and the one I’ve been taught at uni. TDD is about writing your tests first, running them to see that they are failing, and then writing the code to ensure the tests will pass. It is about deliberately and incrementally adding small pieces of functionality, all the while making sure that it is comprehensively tested as it is written rather than as an afterthought.
Today marks the last day of a three month long summer break. Tomorrow will be the first day of the final year of my Masters of Computer Science degree. Since quitting my full time job at the end of 2013, my goals have shifted somewhat. Initially I went back to study to combat the dissatisfaction I had felt with my career for quite a while. Since then it has become more about carving out my own path in technology and hopefully making it a bit easier for other women to do the same.
Initial encouragement from a few key people, momentum and a healthy dose of feminist rage contributed to the women in tech stuff becoming a much more important part of my life. Now, a day doesn’t go by that I don’t think about these things – whether it’s reflecting on my own place in technology, wondering how I might be able to do more to encourage other young women or working out what I can do to try and combat the ingrained biases that prevent women from thriving in technical degrees and careers.
I’ve spent a lot of time over summer thinking about what I’d like achieve over the next year. The list is shaping up quite nicely. Read More
In an interview with Vogue earlier this year, much celebrated software engineer and outspoken advocate for women in technology Tracy Chou recalls the first computer science class she ever took. She walked into the class, thinking it would be a familiar environment since she grew up as the child of two programmer parents in Silicon Valley. Instead she felt put off by the pronouncements from male students in the class that the subject was ‘a piece of cake’.
This is an experience shared by many women, both those who enter technical degree with some programming experience under their belt and those that start as complete beginners. Maria Klawe, President of Harvey Mudd College, talks about the effect that this sort of behaviour can have on other students, particularly women.
For many students, the experience they have in their first year or even first semester of university can have a considerable impact on their decision to continue with a degree, change degrees or drop out entirely. In a survey of 1200 Australian students who had withdrawn from, deferred or changed their university enrolment 48% of students were in their first year of study and a further 34% were in their second year.
Women were significantly overrepresented in the group of students who withdrew from study completely (59%) as well as those who changed degrees (67%). Women were also far more likely to cite course difficulty as their main reason for withdrawal. Interestingly, female students who changed degrees most often cited lack of enjoyment, concern about career prospects and preference for teaching styles as their reasons for change.
Although universities and faculties have limited control over the personal circumstances of students who drop out or change degrees, they have a direct ability to impact the institutional/course factors in this equation.
Should it be the responsibility of Computer Science and Technology faculties to make their degrees more attractive to female students? I have had cause to think about this issue a lot recently. After establishing a student-run group for women in technical degrees earlier in the year, I have been considering the limitations of what groups like ours can achieve.