The Friday interview: Science Ambassador Karl Stanley talks about how he chose his career, what his job is like, the cool things in his work, and his tips on work experience and what to study.
Our Science Ambassadors include newly qualified and well established Irish scientists. They work in science and technology, love their work and want to help others learn about what it’s really like working in their particular areas of research and innovation.
What were the main ‘career decision’ milestones in your life so far?
I have been interested in computers since I was a child. When I was 13, I got a job delivering leaflets so I could buy a Sinclair Spectrum (an ancient home computer that would load programs from a cassette tape).
I learned some of the basics of programming on it, and have been playing with computers ever since.
For my Leaving Cert my favourite subjects were maths, applied maths, music, physics and chemistry. I went to TCD to study maths and philosophy but switched to pure maths after first year.
At the time, the maths department in TCD was a good place to be if you had an interest in computers, as there were lots of courses in mathematical computing and it was possible to take some courses from the Computer Science department.
The School of Mathematics also hosted the very first website in Ireland, so there was lots to learn if you were interested. As part of a course in machine vision and computer graphics, we were taken on a site visit to Machine Vision Technology (MVT) in Dublin.
It seemed like a really interesting place to work, so after my degree I went to work there for the summer before taking up a place to do a PhD in high performance computing.
At the end of the summer, MVT decided they wanted me to stay and I decided I preferred industry to academia, so I turned down my PhD position and took a job there.
As part of the deal they agreed to fund me in a part-time MSc researching colour vision algorithms. After three years in MVT, an opportunity arose to join a new startup called Xsil. As the team at Xsil grew, I became a team leader heading up the vision team.
After another three years or so, I decided to try something completely different and went back to college to study jazz guitar at Newpark Music Centre. While I was studying, I supported myself by teaching guitar and doing the occasional software contract.
During this time I learned more about the Web and started getting freelance work building websites. After I got married I decided to quit teaching music and go back to software engineering full time.
I spent 18 months working for a web startup called Ammado and then moved to ticket-text (www.ticket-text.com) where I am happily hacking away.
Who has most influenced your career direction?
My parents had very little influence in my choice of career – I think they were quite happy for me to trust my own judgment!
I went to Mount Temple School in Clontarf where my best friend was a fellow computer nerd.
He was a year ahead of me and studied theoretical physics in TCD. This is what gave me the idea to go to Trinity to study something in that general area.
We spent a fair bit of time trying to program computer games and were allowed use the school computers (such as they were at the time) outside of class time. At the time I never thought I would end up programming computers for a living, though with hindsight it seems inevitable.
Some of my schoolteachers also had a strong influence on my college choices and subsequent career development.
The chief technical officer of MVT was my first professional mentor. I think it was very important for me to have someone with decades of experience guiding me in the first few years of my career.
It took a long time to get it into my head, but his advice to “keep it simple” has proven to be the right course time and again.
Does your job allow you to have a lifestyle you are happy with?
From a lifestyle perspective, being a software engineer suits me. The hours can be long sometimes, but mostly it’s quite predictable which is important if you have a young family. It also pays reasonably well, which means I can afford to live close to where I work.
This is a very important quality of life issue for me: I cycle for 15-20 minutes to get to work, which means I have more leisure time. Ticket-text trusts me to make my own hours (within reason). Because I have a small baby, it suits me to go into work a little late and work slightly later.
I can also work from home now and then. We have an office in London so I get to travel over there occasionally which is good, especially if there is a gig on that I can’t catch in Dublin.
As software careers go, mine has been slightly left-field. I deliberately avoided working for banks / insurance firms / consultancy houses and have always chosen to work for small start-ups, some of which have grown substantially.
While this doesn’t offer all the security or financial reward of working for larger companies, it is made up for in having a more relaxed corporate culture and the chance to make a big contribution to a project. It’s also really exciting to be part of a growing team that is taking on the world and winning!
Describe a typical day
Work starts around 9.30. I check my email and try to get my correspondence out of the way in the first hour or so. My job mostly entails writing Python and JavaScript.
I typically spend some of the morning writing automated tests for the code I am about to write. I then spend the rest of the day trying to get the code I’m working on to pass the tests I have written.
I make sure I spend up to an hour every day reading articles on technology (usually blogs and mailing lists) to keep up with new developments. This is important, as software is a constantly changing field and web development in particular changes all the time.
Every few weeks the software team presents its work to date to the rest of the company in a “show and tell” session. This takes a couple of hours and involves demonstrating new features and then having a discussion to see what can be improved.
This makes sure the work we are doing is well aligned with the needs of our business. The working day usually finishes for me around 6.30pm.
What are your main tasks and responsibilities?
My main task is to write software that makes running the business simpler and more efficient. The purpose of technology is to automate the things that people are bad at, so they can spend more time doing things they are good at.
People are not so good at repetitive tasks involving attention to detail. Computers are great at this sort of work. For instance, in our business the operations team need to enter the details for lots of live performances, set up ticket pricing structures, upload media to the website etc.
This is quite error prone and tedious to do by hand, so the technology team helps by writing tools that take care of the details automatically. This allows the operations team to devote more of their time to developing relationships with promoters and venue owners, which adds value to the business.
What’s cool?
I don’t have to wear a suit, which is nice. We have an informal but focused culture – in many ways it feels more like being on a sports team than in a business in that everyone has different but equally important roles to play.
We are also quite democratic – everyone from the CEO to the receptionist gets a say in how things should be run (although of course the CEO gets the final word!).
As a music fan I really enjoy working in this industry. The way things are going, the recorded music industry is on the wane and the live music experience is becoming more prominent, so it’s great to be part of that. I can also get tickets to shows that might otherwise be sold out :)
What’s not so cool?
The complete lack of physical activity in work is something I’m not crazy about. The job is sedentary, which means I have to make more of an effort to get exercise outside work.
The hours can feel a bit long at times. Other than that I’m very happy in my current job!
What particular skills do you bring to your workplace?
I have been a software engineer for over a decade now and have worked in several industries, so I have quite wide experience. This is useful in a new company where there is a “blank slate”, as I can make recommendations as to which technologies are the best fit for a given problem.
I have technical skills in programming, web technologies, database schema design and a bit of Unix systems administration. Over the years I’ve programmed in C, C++, C#, Perl, PHP, Python and JavaScript. Just through putting in the hours I have a solid feel for how software problems should be approached.
What aspects of your education have proven most important for your job?
I haven’t taken any courses that are ‘directly’ relevant to my current job. However, as part of my maths degree I took courses in numerical analysis (i.e. computer programming as a tool for solving mathematical problems), operating systems design, computer graphics and machine vision.
All these courses involved lots of practical programming assignments which gave me some real-world software engineering experience.
What have been the most rewarding events in your career so far?
One of the most satisfying events happened very early in my career. I wrote some mathematical software to enable the MVT (Machine Vision Technology) inspection machines to process a circuit board approximately 10% faster than before, which was a big win for the company. That code still runs on over 1,000 machines worldwide a decade later. That gives me a little glow of pride.
I worked in Xsil for three years, in which time it went from 12 to 120 employees. When the firm started, we hadn’t yet designed or built the laser processing equipment that we went on to sell.
It was very exciting to be part of a small team building a product that competed on an international level and won.
What personal qualities do you have that helps you in your career?
I am quite good at strategic thinking, i.e. asking “is this what we should be doing now?” and coming up with ways of working to try to get the best results in the long term. I don’t know if this is something I was taught or just the way I think.
I know I’m unlikely to accept things at face value and am inclined to think things through before committing to a course of action. I am told I am pretty easy to get on with, which is important during times of stress.
In a small company it’s a bit like being on a submarine in that you’re with the same people in a constrained environment all the time, so it helps if you can all get along.
What are the three most important personal characteristics required for the job?
- Intellectual curiosity – wanting to know how things work is a big plus
- A certain kind of laziness – good software is all about finding things that are tedious and getting the computer to do them for you
- Patience – you’re going to be asked to do the impossible. Or you’re going to be asked to do something that’s hugely important, only to be told it’s no longer a priority once you’re finished. Don’t let it get to you!
What kinds of work experience would provide a good background for this position?
If you can get an internship with a software house, that is great work experience. The best way to learn to write software is to write software!
I spent the summer between second and third year in college as an intern in Broadcom, which at the time wrote research-level networking software. It was a great introduction to what my job would ultimately be like and it gave me some real experience I could talk about during interviews.
Some of the things that are different between programming in college and doing it for a living are the collaborative aspects, being part of a team, asking and answering questions.
An internship is a good way to get exposure to these things. When it came to getting my first job, having that practical experience (and a good reference) definitely gave me an edge over the other candidates.





