My logo

About

Hello, I'm Tom

I’m a web developer specialising in front-end development using JavaScript.

I enjoy using agile methodologies to build websites and web applications that are performant, accessible and beautiful.

I’m passionate about building things with real value that make things better for people.

Learn more about me
Me looking way more important than I actually am

My work

I’ve worked on a wide variety of things over the last few years, from small freelance projects to live products with millions of monthly users.

Alongside my professional work, I also try to dedicate some of my time to volunteer projects. I take great satisfaction in using my skills and knowledge for good causes.

I enjoy working in agile cross-functional teams with fast feedback loops and data-driven decision making.

See some of my work

Featured project Irish Heritage

Irish Heritage Logo

A site for a music charity awarding bursaries to young people with an interest in Irish music.

View featured project

My approach and mindset

I’m a strong believer in writing software to solve problems. I therefore try to approach challenges with a product mindset, valuing data and research to inform decisions and direction.

In my work I try to foster a beginner’s mindset, a commitment to lifelong learning and an enduring curiosity. I proactively seek out new challenges and opportunities to push myself forwards and ultimately become a better developer.

I care a lot about the impact of my work; I will always try to make decisions that respect the people that use what I build. Therefore, I am very conscious about privacy, analytics and third-party cookies.

When building I value performance, user experience, accessibility, and - perhaps most importantly - positive social impact. In my opinion the people who build software have a responsibility to build responsibly because of the wide-ranging societal impact of technology. I take this responsibility very seriously.

Fun fact about me

I learned to type when I was three years old.

My skillset

  • I’m great at:

    • HTML, CSS & JS
      • I’m very comfortable writing HTML & CSS, and interacting with browser APIs and the DOM using JavaScript.
    • Front-end frameworks (e.g., React, Angular)
      • I’ve worked professionally with modern front-end libraries, frameworks and tools since 2017.
    • Design systems
      • In my work I have architected, implemented and contributed to internal design systems. I’m very familar with the benefits and challenges offered by design systems, and what work needs to be done for a sustainable implementation.
    • Test-driven development (TDD)
      • I’m confident in my ability to write clean, testable code and will happily use TDD where appropriate to ensure quality.
  • I’m good at:

    • Typescript
      • I’ve migrated codebases from JS to TS. I’m very comfortable working with types, but would like to dive deeper into the more advanced areas of TS.
    • Software design & architecture
      • I’ve created and contributed to software architectures for web platforms, with a particular focus in web front-ends. I’d like more exposure to full-stack web architecture in the future.
    • Accessibility
      • At the BBC, I was part of the Accessibility Champion Network. I have a good understanding of web accessibility and know how to test my work to ensure it meets accessibility guidelines and recommendations.
    • Stakeholder communication
      • I’m comfortable communicating with stakeholders, both internal and external. My years working in IT support have given me an ability to explain technical concepts well to non-technical stakeholders.
    • Node.js
      • I can use node.js and its ecosystem, with a preference for using the internal promises-based APIs over the more traditional callback-based ones.
  • I’m familiar with:

    • Ruby
      • My education in software development was taught with Ruby. I would like to revisist and dive deeper into the language to improve my full-stack development capabilities.
    • Python
      • I’m self-taught in Python, but want to get better because I think scripting and some general-purpose programming tasks would be much easier using Python over JS.
    • Back-end web development
      • I can wire up an API endpoint or put some MVC functionality together if needed, but I have knowledge gaps I want to fill to be more proficient in back-end development.
    • Infrastructure
      • I can find my way around the AWS console, configure nginx and set up docker containers.
    • QA
      • I’ve worked closely with QA engineers throughout my career. I’m comfortable writing end-to-end tests and identifying areas of software systems that need oversight and coverage by testers.
  • I want to improve in:

    • Databases
      • I have done some work with relational and non-relational databases, but I want to get better at schema design and normalisation because I feel this is a major blocker stopping me from being a proficient full-stack developer.
    • UI/UX design
      • I appreciate good UI/UX design and work very closely with designers, but I lack the formal training needed to confidently design user interfaces from scratch. I think being able to be cross-functional in my work would make me much more valuable to a team.
    • Mobile app development
      • I have exposure to React Native and some understanding of the challenges within mobile app development, but I would like the opportunity to dive deeper into this.

Getting in touch with me

I’m available to work full-time or as a freelancer.

I can work fully remotely, or on a hybrid basis with your team in any major European city.

If you’re working on a non-profit or social enterprise venture and you would like some expertise in web or software development, I may be able assist you on a pro bono basis.