At school, I finished IT class work early and my teacher let me code in VB. IT at schools in the UK in the 90s was basically "Can you use MS Office?". So I was let loose with Visual Basic in Excel and Access...
I loved Maths the most at school, and was never really into programming as such, but my IT teacher always said to my Mum at parents evening "She'll be a programmer when she grows up".
I chose to do Mathematics at the University of Kent, but shortly into my first year I found myself enjoying the computing modules on my course, which were mainly using Maple and LaTeX. I asked to switch to a Mathematics and Computer Science course and it went from there!
My first experience of a language was Java. Bluejay was a great introduction to the idea of an IDE and writing OO code with helpful class structures visualised in the IDE. After that throughout my degree we were introduced to wide and varied set of languages; C, Haskell, Occam, C++, GAP (C for algebraists), and from this I decided academia was for me.
After completing a MSc in Pure Mathematics (with a heavy CS backbone) I enrolled at CIRCA (Centre for Interdisciplinary Research in Computational Algebra) to start a PhD in Mathematics. This didn't go quite to plan, and I left after 12 months, with little idea of what to do next.
I came full circle and started off with a job writing models for the NHS in Excel. Whilst the work was interesting, there was a lot of politics both in our office and in the NHS. This made the work hard going, so I left.
After looking for a new job, I accidented upon a company looking for programmers with a strong mathematical background. I went for interview and was offered a place after a couple of days, and I've now been working at ITI for nearly 6 years. CADfix is a CAD translation package used to repair CAD models or prepare them for some sort of downstream application, such as CFD, CAE or another CAD package. I work on designing algorithms for geometry manipulation and improving existing tools. We work with a host of engineering companies from multiple areas of industry. Aerospace is our main sector, but we also have customers in civil engineering, 3D printing and automotive.
Since being a developer here I've taken on a role which sits between the developers and the marketing team to help generate interesting content for our customers (my time is split 80/20 towards programming). Having an ear on what marketing and sales are hearing from the market can help us develop tools which are actually useful in the real world, and it's important that developers help marketing/sales explain what great tools we have on offer, it should never be the sole responsibility of the marketing team to explain your code.
Apart from my work on ITI' CADfix product, I help my fiancee with his business PiBorg who create add on boards for the Raspberry Pi. Being part of that community has helped me feel more confident as a programmer in my own right, as they promote inclusiveness and really are spearheading the movement to help make engineering/computing a more diverse industry to work in. If there is a Raspberry Jam or Code Club near you soon, I strongly advise anyone to go along and take part, you can really make a difference by being a role model for other young coders. For more info head to Raspberry Pi Community.
... tech in general!
I love seeing how technologies new and old are being applied in interesting and varied ways. Particularly autonomous robotics (self driving cars and warehouse robotics are fascinating) and new technologies in CFD to do with modelling in high-orders beyond standard linear models is really cool and something I'm excited to be learning more and more about each day.
Try to be a positive role model to all coders from all backgrounds. Keep being true to yourself and never give up. Also try things that are outside your usual comfort zone, even just a little bit. Where they lead you to might be surprising!