Jeremy-Barrass / CV

CV

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jeremy Barrass

Github

As a programmer, I want to get things working, fulfil ticket and project requirements and ensure future programmers will understand the intent of the code I have written. I want to push the boundaries of what my Team feels they can achieve, expand my colleagues' knowledge and comprehension and improve my employer's capacity to access the resources they need. I've learned a great deal in the last five years about programming best practice, Agile practices, problem solving, good teamwork and pair programming. I would love to contribute this potential to the space industry, such as ESA's EXOMars Rover or the ESA Sentinel Satellite programme, where I can apply my problem solving skills to one of my true passions.

Familiar Tech

  • Cloud Computing: AWS, Consul, Terraform
  • Code Deployment: GO CD, Team City, Heroku
  • System Monitoring: Prometheus, Grafana, Splunk, Eggplant Site Monitoring Services, StatusCake
  • Frameworks: Node, Moustache, Angular
  • Programming et. al. Languages: C Sharp, Java, Javascript, Ruby, Python, Sass
  • Databases: MongoDB, SQL DB.

Software Engineering Experience

Cirium, April 2020 - February 2021

Cirium gave me opportunities to improve my knowledge of SQL procedures and application system architectures, as well as exposing me to a different code release process compared to previous jobs. I worked on a variety of bugs and improvements to both customer facing and internal products, using C# .NET Core, Javascript with Angular.js and SQL. Tickets and projects I worked on include:

  • Removing PII from product usage tags.
  • Updating filters and saved searches with more accurate nomenclature.
  • Sunsetting unsupported subscirption peripherals.
  • Removing product access to divested publications.
  • Adding important user information to page views.
  • Adjustments to the autopopulate behaviour of CMS fields.
  • Linking different filter sources correctly when changing filter selections.
  • Updates to SQL Database data and stored procedures to fix various product and CMS bugs.

I also engaged with the business' exploration of starting a UK based Out of Hours support team for their products, contributing to an audit of the existing health check urls in their health check provider against those in the products' code base.

Priority One IT (ThreatAware), May 2019 - March 2020

Working at Priority One IT was an opportunity to work with a small team on a startup product, ThreatAware, a Cybersecurity Dashboard for monitoring and compliance. I worked on a number of code cleanups, working with C# in .NET Core and javascript with Angular version 7, and gradually introduced automated unit and integration testing into the codebase. New product features were regularly floated, particularly when potential new customers wanted the product to include an additional monitor for another service they were subscribed to.

Significant tickets I worked on include:-

  • Updating and improving the user experience in data table displays across the product.
  • Adding a new grid framework into the front-end UI codebase.
  • Building a cross-monitor Task List view of assigned Alerts.
  • Writing new API response analysis services for a new client.
  • Refactoring existing response analysis services to fit better with a new solution architecture.
  • Fixing UI bugs in the frontend code.
  • Adding logging to possible points of failure in the codebase.

I have also been involved in discussions around code release processes and deployment pipelines, making sure to ensure that the rest of the team included automated test pipelines as part of these processes. Additionally, I have had input into UI and appearance updates for ThreatAware, as well as carrying out ad-hoc refactoring according to ToDo comments in the process of working on other tickets.

Compare the Market, July 2016 - May 2019

Working at Compare the Market (CTM) afforded me multiple opportunities to learn and improve as a developer. I joined the Marketing IT Team, responsible for the company website, which receives ~7200 visits per hour on average, where I maintained webpages and built additional content tools in Episerver, a Content Management System (CMS), using C#, Sass, HTML and Javascript with Visual Studio and Resharper, for the content editors to create content on the website. Significant projects I worked on include:-

  • Building an automated image compression module into the CMS, using a NuGet Package to implement the Kraken Image Compression API.
  • I built a content block to house multiple interactive infographics, selected by the website user via a drop-down menu, using the Knockout.js library.
  • I built a server-side API which user clients called to set personalised content on the page, using ASP.NET with an MVC architecture.
  • I built the initial proof of concept for launching Project Sparkles, the website's backend redesign and rewrite, in AWS, using the Amazon NuGet package with Visual Studio.
  • I worked on Integration Testing the CMS Asset Image Upload module for Sparkles, using ASP.NET with an MVC architecture.
  • I wrote the launch script for the Sparkles Continuous Development servers, which runs a Team City configuration in AWS EC2, using Terraform and PowerShell.
  • I single-handedly wrote the refactor for the SEO Team's Aggregator Tool, using TDD and Clean Code techniques and went on to add a module to automate the collection and entry of data for their Keyword Ranking Report, using .NET in Visual Studio.

Working with Marketing IT also exposed me to Agile methodologies and working practices, participating with the Team in daily Stand Ups, Retrospectives, Ticket Refinement and Sprint Planning. Within the team we would often pair programme to improve the pace of ticket completion and peer review one another's work in Github as part of working practices before releasing code to the deployment pipeline and ultimately to the production servers. I often led releases as part of regular duties within the Team, working with GO CD to ensure code releases to the Production Environment ran smoothly and were thoroughly tested. These experiences have complemented my support skills developed in previous roles. I also helped the Team switch from using React to using AMP in Project Sparkles and have taken on board various requirement changes for the Aggregator Tool.

I was afforded numerous opportunities to provide solutions and help resolve a broad variety of programmatic and product issues during my time with CTM, such as providing the solution to a redirect issue in the AMP pages, writing the refactor to the SEO Tooling and helping navigate through to solutions for image compression in the CMS and asset storage in AWS. The refactor of the Aggregator Tool for the SEO Team, in particular, also involved a significant amount of design work as well as implemention, which I managed solo. I also helped my team restructure the inheritance architecture of the CMS page types to better implement AMP pages in the solution.

I've also adopted numerous additional duties during my time with CTM. I have been part of the Out of Hours On-Call Team for much of my time with the company, which has given me a lot of experience with different monitoring systems, including Pager Duty, Grafana, Prometheus, Splunk and Eggplant (formerly Site Confidence), and handling a variety of Alerting formats from those systems. I also adopted Fire Marshall and First Aider duties within the London Office.

Makers Academy, January - April 2016

This is the coding boot camp where I learned many of the techniques I went on to apply at Compare The Market, including but not limited to:

  • True passion for TDD
  • The principles of OO design, SOLID and DDD
  • How to break down problems and iterate solutions
  • Testing frameworks: Rspec, Jasmine, Mocha-Chai
  • Ruby, Javascript, Rails and MEAN stack
  • MVC and the journey of HTTP request-response cycles
  • RESTful APIs
  • The tools to continue learning
  • Helped design and build several projects using Ruby and Javascript, including Alibot and Markpad.
  • Pairing with fellow cohort members allowed me to exercise my support skills across many coding exercises, myself and my pair partner helping each other in turn to gain insights and experience into the design and construction process of software.

Personal Projects, April 2016 - Present

Automated Character Sheet

A Java based application, to automate a lot of the research that goes into designing and building characters for pen-and-paper RPGs.

Built using the Swing Graphics Library and implementing Java's built in Observer Interface, it is presently still quite bare bones, awaiting implementation of save and load features, before a rewrite to implement a Factory Pattern for the existing components will be embarked upon. Currently it's intended to work with the Pathfinder D20 Game System, but future development will include further abstraction and decoupling of the Sheet Configuration to allow other game systems to be implemented, e.g. White Wolf Game System.

The repo may be viewed here.

Formal Education

University of Essex (Oct 2001 - July 2004)

  • BA Hons. Psychology, 2.2
  • Studied many aspects of experimental, social, neurological, and biological psychology, and statistical analysis
  • Treasurer of the Role-playing Society for two years.

Varndean Sixth Form College (Sept 1998 - June 2000)

  • A-Levels: Psychology, English Literature, Philosophy (C, D, E)
  • AS-Levels: Science in the Environment (A)

Dorothy Stringer High School

  • 9 GCSEs, Including English, Maths and Sciences (A*-C)

Vocational Experience

Priority One IT (ThreatAware) (May 2019 - Present) Junior Backend Developer

Compare The Market (July 2016 - May 2019) Junior Software Engineer

King's College Hospital (Nov 2013 - Jan 2016) Procurement Systems and Services Administrator

Prospect Us (Dec 2012 - Nov 2013) Temporary Office Worker

Queen Mary's University of London (Oct - Nov 2012) Unit Administrator

Prospect Us (Feb 2008 - Sept 2012) Temporary Office Worker

Overseas Courier Services (OCS) Worldwide (Nov 2006 - Jan 2008) Media Desk Operator

Yunnan Tourism School (Aug 2005 - June 2006) Foreign Language Assistant

Prospect Us (Sept 2004 - July 2005) Temporary Office Worker

Hobbies & Interests

  • Engage in board games, computer games and pen-and-paper rpgs, promoting strategic thinking, conflict resolution and teamwork. Includes a weekly Pathfinder gaming group, and the Magic: The Gathering group at Makers Academy.

  • Rock climbing, solving full-body puzzles of planning, balance, flexibility and strength.

About

CV