Start of main content

Nicole Rowley

Programmer at Tigerbay Software Ltd

Find something you are interested in and start a programming project on it. The key is to make sure you enjoy it, keep learning and always stay curious!
Nicole is a...

Developer

View

Investigator

View

Quality Controller

View

About Nicole...

Who am I?

"Developer: This personality type is the one I feel most closely matches me and it fits perfectly to software development. Creative problem solving is the main skill needed for programming and being able to empathise with others to understand their needs is essential for creating the right product. Being able to design an effective program and improve the effectiveness of existing programs are also essential skills for a good software developer.Investigator: This personality type is also great for software development because (unlike the unsociable developer stereotype) I have to work very closely with other developers and other teams. Being able to get on well with other people is a huge asset in this career. Being able to understand a range of subjects is essential as the technologies one uses as a developer are constantly changing. Additionally being logical really helps when you are trying to track down a really difficult bug (error) in the code. Quality Controller: The attributes of this personality type that really lend themselves to software development are 1. likes to check that details are correct and 2. good a spotting errors and unforeseen consequences. For example, if you are designing software for an AI Medical Robot who can diagnose patients and prescribe their treatment you want to be able to catch any errors or overlooked areas of the code - perhaps the program has only been made with men in mind and only tested on men, the complications in this scenario for women then using this technology could be deadly. Being able to think about these unforeseen consequences an act upon them can prevent something like this happening."

What do I do?

"I generally do two different types of work. The first type is bug fixing and this involves reading about a potential error that a user of our software or a member of the testing team has reported.After reading about the potential bug, I have to find the code in question, replicate the error and then investigate the code to see if I can find out why it is happening and how best to fix it. It might be the case that the error requires a significant rewrite (a couple of days work) to fix and in this case I'd need to have a planning meeting with other members of my team to figure out the best way to fix it without breaking anything else and how we can fit this work into our current work plan. This part of the job is very rewarding if you like to investigate and track down what is going wrong and get the satisfaction of fixing it.The second type of work is new features. This is when we are working on a new product or a client has requested new functionality to an existing piece of software. This requires us to properly plan in our work into the current work plan, come up with a basic plan to create the new feature, create estimates on how long each task of it should take and eventually actually doing the work. This is fun if you enjoy creating new things and thinking about different ways you could create something.The part I enjoy most about my job is creating a new feature and playing with it. It is extremely rewarding to see something that you have made work. I also love learning and this career is constantly about learning new things.The starting salary for my current role was £25,000."

How did I get here?

"I got on to a Software Development Graduate Scheme in a programming language that is very old and not used in many places. I learnt some of the basics of development there but I self-taught myself in order to develop myself enough to get a stable career in a .Net and C# (modern framework and language where there are lots of jobs).I am constantly learning and teaching myself new languages and technologies as the software industry is constantly evolving and it is really interesting to keep learning more and more about it.I have a few different goals for the future as I think its best to keep your options open but I definitely want to be programming something more complicated (potentially to do with Artificial Intelligence or Cyber Security) and be creating a few indie games on the side.One of my goals it to get more women and girls in software development as it is an extremely male-dominated industry. As everything is getting more reliant on technology, if it remains the way that it is we have a huge risk of software being developed with only men in mind which could cause huge issues for women's health and ease of living. For example if medical AI software is only male based they might miss out on female only symptoms or if self-driving cars are only based on male test subjects it could be more dangerous for women in the event of a crash."

The life I live

"I love listening to podcasts (especially while doing house work/working out) - some of my favourites being 'The Guilty Feminist', 'The Purrrcast', and 'My Favorite Murder'.In my spare time I most enjoy reading fiction novels and drawing pictures for my games. I spend a lot of time currently on game development.I also enjoy any type of exercise but most enjoy running and weight lifting which I do about 3 - 4 times a week each."

My typical day

"We are currently working on providing a new client with our system.Our system sits behind the customers website and lets people using the website to book holidays.In a typical day I will come into work and look at a list of known errors.I will then pick an error to fix, read about it and then try to go and find out where it is occurring and why (this makes me feel like Sherlock Holmes!).When I've found why the error is happening (this could take half an hour or most of the day) I'll then fix the error and usually this part is a lot quicker than the investigation. I'll then let a tester know I've fixed a bug and they'll check it is actually fixed and I haven't broken anything else.Otherwise if I'm working on a new development the day will go more like this:Decide on how to make the new development work with the team - this can be quite creative as there are always numerous ways to get things to work.Then start to work on each task -again there is room for creativity here as everybody programs differently.These tasks usually involve me thinking about how best to do something, then programming it and then testing that what I've just programmed has worked correctly.I work through all my tasks making sure I have properly completed each one.When finished I will let a tester know and then they will test the program to make sure it is correct."

My qualifications

"GCSEs: Maths B, Science B, Additional Science B, English Lit B, English Lan B, Media Studies B, Sociology B, Statistics C, French B, Welsh B, RE BALevels: Psychology B, English Language B, Statistics B, Welsh BaccalaureateTook a Gap Year: Volunteered in a Care Home for People with Disabilities in rural Japan for 6 monthsDegree: 1st class BA in English and Creative WritingWhilst I was doing my degree I did a lot of soul searching and figuring out what careers I would enjoy. I decided on either Project Management or Software Development. Project Management seemed easier to get into so I picked that.Started a full time admin job at a Financial Outsourcing Company - I had been practicing making my own programs in my spare time at this point so I knew a bit about development. I applied for their Project Management Graduate Scheme, they also had a Software Development Graduate Scheme so I applied for that as well.Got into both but took the Development Scheme. Did a lot of self-study for the next 2 years then left this position to become a .Net C# Developer in my current workplace."