Theodor Vararu's Résumé
Department for Education (Contract)Senior Full Stack DeveloperSep 2018 - Present
DfE Digital builds user-centric and accessible services for teachers and students.
- Improve the DevOps pipeline by adopting Docker, reducing the build times, using Terraform, adding end to end smoke tests using Cypress.io, on both Travis CI and Microsoft Azure.
- Develop prototypes using Next.js, Now.sh, and Apollo.js to trial Node.js, Serverless, and GraphQL for our services. Findings were presented at the periodical development and architecture meeting, to favourable reception from technical leaders.
- Take part in Agile ceremonies, write specifications for full-stack features, and collaborate / pair across on a number of different problems across the stack.
Gamesys (Contract)Senior Frontend DeveloperMar 2018 - Sep 2018
Gamesys is an award-winning social and real money gaming company.
- Develop user-facing features on the React.js, Node.js, and Flux-based single page application frontend, focused on addressing user experience issues, industry-specific regulatory requirements, and troubleshooting issues with the Selenium-based tests.
- Work on optimising the frontend performance. Remove the project's dependency on moment.js, and trim down the dependency on lodash, resulting in total savings of 33% on the bundle size. Write performance documentation to aid with future work.
- Provide mentoring to team members and an apprentice, focusing on a pragmatic but users first approach to software engineering. Facilitate agile ceremonies, and interviews for frontend Node.js as well as backend Ruby candidates.
Graphit.com is an online app for configuring and buying modular manufacturing solutions.
- Build user-facing features for the online 3D configurator. Features shipped include a redesign, online payment with Stripe, fixes for legacy browsers and performance issues while building on top of the previous developer's work without handover. React.js, Three.js, webpack, Redux.js.
- Collaborate with the designer to create a revised styleguide, consolidating rhythm and colours throughout the app, backed by a Tachyons.io-inspired atomic CSS design system.
- Champion user research based decision-making, highlight and fix accessibility pitfalls, and provide input into design discussions to reach solutions that are mobile-first and performant.
- Improve product quality by implementing end to end testing using Cypress.io, Jest.js component tests, Sentry.js error tracking, and a bespoke gettext and Babel.js internationalisation pipeline.
- Deliver a proof of concept React Native and Expo.io native AR application (link is iOS only) in only 3 days by reusing and adapting existing 3D code from the main codebase.
Government Digital ServiceDeveloper / Senior DeveloperMar 2016 - Aug 2017
- Lead development of a reusable country picker component. Talk to service teams to learn about their needs, prototype initial implementation, build an Accessible Autocomplete component and a suggestion engine. Take the component to user research, with abled users and with users with access needs, and to an accessibility audit from the Digital Accessibility Centre. Preact.js, TDD, Selenium testing, accessibility testing, progressive enhancement, webpack.
- Build a small JSON API to generate country picker data based on OpenRegister data. Java, Serverless, AWS, TDD, JSON.
- Sole developer on the Webchat Alpha project, building user research prototypes and testing with users. Focus on accessibility of webchat interfaces. Attend user research sessions, conduct on-site interviews with departments using webchat. Released findings as presentations, blog posts. Node.js, React.js, Socket.io, accessibility testing.
- Lead development of a data visualisation prototype to view digital transformation dependencies. Node.js, React.js, D3.js, Google Sheets API.
- Rebuild GOV.UK formats as part of the Migration programme team, moving from the legacy monolith publisher to a microservices pipeline. Ruby on Rails, TDD, Agile.
- Present talks about React.js and accessibility. Provide mentoring to apprentices, line manage 2 developers.
TimecountsSenior Full Stack DeveloperMay 2015 - Feb 2016
Timecounts builds a volunteer and community management tool for charities and non-profits.
- Build product features, collaborating with the stakeholders to define specifications. Node.js, React.js, TDD, Ruby on Rails JSON API, SASS / CSS modules.
- Major features shipped include a calendar view and date picker component, CSV import validation, landing and marketing pages, animations, improvements to the build process, backend support fixes.
- Help the team refine their Agile processes, implement code review and issue tracking methods. Champion functional programming and linting.
WorkangelLead Front End DeveloperSep 2014 - Apr 2015
Workangel builds an employee benefits, engagement and retention platform.
- Build product features on the admin panel and user facing application, two single page applications that interact with a RESTful JSON API. Node.js, Angular.js 1.x, Stylus.
- Ship a mobile-first design rebuild and animations for inter-page transitions and more, both not scoped or factored into estimations but delivered to extremely favourable reception.
- Dramatically improve the build process by optimising the performance of tasks and embracing modern best practices: template minification, linting, unit and Selenium integration testing, continuous integration, load testing.
ReadForwardLead Full Stack DeveloperMar 2013 - Sep 2014
ReadForward is a digital agency with a focus towards education, culture, and political issues.
- Lead development of an open source digital textbook authoring tool. Build the pipeline and the frontend pattern library. Onboard and train junior developers in its use that produced our digital textbook offerings for primary education, which became the company's bread and butter product. Node.js, Backbone.js, pattern libraries, visual regression testing.
- Architected and managed a tour guide app for the Danube Delta. Delivered 1.0 in just 3 weeks of development time. Ampersand.js, Famous.js native-like animations, Cordova, testing, mapping and route generation, offline-first.
- Architected and lead initial development of the open source website for Monica Macovei's 2014 presidential campaign. Score 100/100 on Google PageSpeed Insights using performance optimisations like critical path CSS generation, single page application prerendering, which favourably contributed to SEO. Gulp.js, Ampersand.js.
- Lead development of a holistic rewrite of the George Enescu festival website. Write scraping / data remodelling scripts to import old pages from the legacy PHP backend, add new capabilities like full text search and relationships between models. Build a RESTful JSON API for the newly developed native mobile apps. Website was deployed at scale with hundreds of thousands of hits per month. Ruby on Rails, database and API design, load testing, New Relic monitoring, caching and database query performance optimisations.
Please peruse my GitHub profile for nearly all of my side projects. Notable highlights:
- a reimagined presentation of Isaac Asimov's The Last Question;
- the source code for my Next.js and React.js personal website;
- a single-serving numeronym generator app built using Serverless and AWS Lambda;
- my dotfiles and macOS configuration scripts;
- a Meteor.js and Three.js 3D online space flight simulation game.
I develop exclusively on macOS/UNIXlike operating systems, using git and modern tools.
I admin my own DigitalOcean server, but also deploy to Heroku, AWS Lambda, static websites, and other solutions depending on the need.
I spend a lot of time reading books, about half of the programming variety, half about personal finance. I love mentoring and teaching others to learn to code. I practice guitar, work on my old car, and travel as much as I can.