Marc Ed. Raffalli

Lead UI Developer

I’m a UI developer creating web applications for over 8 years using frameworks like Angular or React. But also have experience as a full stack developer creating Express applications (Node).

Key Skills

  • Web Application development (Angular / React)
  • Unit / BIT tests (Jasmine / Jest / Mocha)
  • End to End tests (Protractor / Cypress)
  • Node Application development
  • Build pipeline (Webpack / Gulp)
  • Customer liaison, requirements analysis

Work Experience

  • Senior Software Engineer

    Galway
  • Team lead / UI developer

    Athlone

    Projects

      • Angular , MobX , NgRx , Bootstrap-like lib
      • Jest , TS-Mockito
      • TypeScript , SASS , TSLint , Prettier
      Responsibilities
      • Collaborating with with PO, UX and backend teams to gather business and technical requirements.

      • Implement and test (unit, BIT) real time modern and responsive applications UI.

      • Ensure the correct migration of the features implemented with Flash (deprecated) to modern Angular.

      • Lead UI developer, mentoring team members via programming sessions and code reviews.

      Achievements
      • Played a key role implementing required post trade features and securing the release to the end customers while the team was reduced by half

        • Daily collaboration with the backend to resolve API misalignments and missing features

        • Daily status report with the management for risk and impediment analysis

      FX Click
      • Angular , Material Angular
      • Jasmine , Protactor
      • TypeScript , SASS , TSLint , Circle CI
      • Docker , docker-compose , Nginx , Kafka
      Responsibilities
      • Liaising with customer, gathering business requirements, fostering global vision, proposing UI designs.

      • Coordinating team, feature planning, prioritizations and development.

      • Design, implementation and testing (unit, BIT, e2e) modern and responsive UI.

      • Configure and maintain CI configuration.

      • Present solutions to end users and redact clear and concise user manuals.

      • Lead UI developer, mentoring team members via programming sessions and code reviews.

      Achievements
      • Created a mono-repo infrastructure combining backend services and UI applications.

        • Optimised CI build based on git commit

        • Angular project structure with applications and libraries (component/services/models/etc).

        • Static code analysis (TSLint / Prettier)

      • Dockerized all applications and set up docker-compose shared configurations with Nginx reverse proxy.

        • Optimized Docker build time by half using a shared image as base

        • Generic configuration extended to fit multiple environments

      • Conducted over 5 training sessions with the customer's teams about Angular best practices and security.

        • Covered Angular reusability concepts (components, services, etc), testing basic/advanced and available code quality tooling

        • Covered the OWASP Top 10 vulnerabilities and how to avoid introducing vulnerabilities

      • Implemented 30+ e2e tests to cover all business use cases and validate message payload exchanged with Kafka.

        • Tests written using Protractor and the Page Object Model pattern

        • Integrated with a Node Kafka client to receive and validate published messages

      • React , Redux , D3.js , Bootstrap , Express
      • Jest , React Testing Library , Puppeteer , Cypress
      • Webpack , TypeScript , SASS , Yarn , TSLint , Circle CI
      Responsibilities
      • Liaising with customer, gathering business requirements, fostering global vision, proposing UI designs.

      • Design, implementation and testing (unit / BIT, e2e) modern and responsive UI.

      • Lead UI developer, mentoring team members via programming sessions and code reviews.

      Achievements
      • Migrated multiple Create React App silos into a new mono-repo structure with shared libraries.

        • Yarn workspace based infrastructure with shared Webpack and Jest configurations

        • Configured Webpack + Babel + TypeScript enabling path aliases, watch mode, lazy loading, tree shaking.

        • Configured TSLint Static code analysis to ensure consistency and good practices

      • Collaborated directly with the client to promote and implement an innovative UX.

        • Implemented a graph request editor with forms using D3 and Redux

        • Conducted demo sessions and gathered feedback from end users

  • UI developer

    Dublin

    Projects

      • AngularJS , MomentJS
      • Karma , Jasmine
      • Babel , SASS , TSLint , NPM , Gulp
      Responsibilities
      • Implementation and testing of new and existing features on 20+ localised (ltr, rtl) e-commerce sites.

      • Implementation of new and existing responsive layouts using mobile first approach.

      • Performance analysis and tuning of existing solution

      Achievements
      • Refactored a complex form layout used in 20+ languages (ltr, rtl) to solve a recurring issue.

        • Implemented a responsive layout detection (counting columns) based on CSS selectors to reliably adapt to the displayed form and device.

  • UI developer

    Dublin

    Projects

      • AngularJS , AmCharts , D3.js , Bootstrap , Jasmine
      • Webpack , TypeScript , SASS , TSLint , Babel , Karma , NPM
      Responsibilities
      • Assist in leading the implementation of the product rebranding

      • Presentation of complex data using charts and data visualisation (AmCharts, D3)

      • Provide advice refactoring current solution to a responsive design

      • Provide UX guidance to achieve simple and coherent design across pages

      • Advise on client side design and architecture

      • Design, implementation and testing of new UI components

  • Team lead / UI developer

    Athlone

    Projects

      • Require JS , D3.js , Leaflet , MomentJS
      • Mocha , Sinon , Chai , PhantomJS
      • Webpack , Babel , NPM
      • GitLab , Jenkins , Confluence
      Responsibilities
      • Lead UI developer, mentoring team members via programming sessions and code reviews.

      • Implementation and testing of Ericsson branded UI components / map / charts / i18n / … (25+ repositories)

      • Conducting online trainings (20+) and on-site workshops (Ireland / Spain / India)

      • Worldwide team and developer support via internal forums (~2k msgs) / email / IM

      Achievements
      • Lead a 2 days worldwide workshop to ensure the delivery of i18n ready ENM UIs

        • Coordinated support for 10+ teams to implement required translation mechanism

      • Implemented the ENM program delivery statistics portal

        • Rewarded for hard work facing tight deadlines

        • Responsive UI presenting realtime delivery KPIs in charts, visualisations

        • Implemented UI services consuming data from ElasticSearch

      • Installed and configured Jenkins and GitLab to improve team workflow

        • Configured the pull-request build to deploy to a dedicated environment for review

        • Configured hooks between CI and the repositories

      • Java , JSoup , JUnit 4 , Powermock
      • Elasticsearch
      Responsibilities
      • Architecture, implementation and testing of extensible document crawler leveraging Java SPI

      • Implement plugins to parse specific content (DITA XML / HTML / API docs)

      • Support team to index their content after CI build

      Achievements
      • Solution used for ENM UI documentation

      • Solution used for internal documentation and API docs published on Nexus

      • Require JS , D3.js , Leaflet , MomentJS , Socket.io
      • Mocha , Sinon , Chai
      Responsibilities
      • Lead UI developer for the application frontend

      • Implement realtime maps, charts and visualization using D3 and Leaflet

      • Require JS , D3.js , Leaflet , MomentJS , Node , IBM Loopback , Express , PHP , MySQL
      • Mocha , Sinon , Chai
      • Elasticsearch , JUnit 4 , Confluence , GitLab , Piwik
      Responsibilities
      • Design, implement, test and deploy full stack solution, initially in PHP, then refactored using Node LoopBack

      • Design and implement UI dashboard presenting daily activity reports, trends and rankings

      • Liaising with PO and managers, gathering requirements and proposing innovative features

      • Implement and maintain statistics engine extracting KPI about code, bugs, views and messages

      Achievements
      • Portal used internally world-wide as a one stop shop for all existing solutions

        • Editable user role and access management to allow each team to edit the details of their solutions

        • Integrated with LDAP authentication

      • Promoted and developed the concept of statistics engine collecting activity KPIs

        • Code activity KPI collected from Gerrit and GitLab

        • Bugs throuput KPI collected from Jira

        • Forums activity KPI collected from Confluence

        • Page views KPI collected from Piwik

        • Analysis report of team vs/ inner-community code contributions