Frontend Developer - 2014/2015
Associate Software Engineer as title but worked as a frontend developer with design as my niche.
I started working on a legacy e-commerce product and then transitioning to documenting the details of the of the legacy product to form a new modern one.
Developed ecommerce modules in a modern frontend stack consisting of javascript frameworks.
Worked on preparing for customer demos for pilot customers and potential ones as well.
I worked in multiple Scrum teams focusing on different parts of the product.
Collaborated designers from a design agency
Challenges
The Rhythm for Commerce product itself was large and complex due to serving both B2B and B2C customers.
The product was complex due to its many configurations from user permissions to the customization on the frontend or per customer.
As mentioned Rhythm for Commerce was large and complex but also had several levels of integration, which often required external knowledge of those integrations such as different ERPs such as M3 or Product Enrichment, Information or Configuration Management.
There were many people involved in the development of Infor Rhythm in different roles, organizations, cultures and across several time zones.
Infor Rhythm overview
Scrum Master and UI Developer - 2015/2017
Started UI Development team with two other frontend developers, focusing on developing and maintaining an in-house design system based on SASS, HTML5 and Javascript with jQuery.
Developed UI components that were dynamically styled by a SASS based theme.
Customizable multi-layered style and theme management. Base theme for design and development, then product and customer specific styles add or override mostly visual styles.
Developed Accessible UI components and themes based on WCAG 2.0 AA and Section508.
Scrum Master for a team of 6 - 8 developers across multiple time zones and different cultures.
Communicating agile values and driving UI related questions and problems in team and management forums.
What did we do?
Visual audit
We went through the product implementation and the designs and identified components. We structuring and identifying UI components, we followed the principles of Atomic Design.
Communicating design requirements
After identifying all the different components, we communicated to product management and the design agency that there was a need for requirements to help us in our definition of done and less interpretation of UI behavior.
Implement visual design language system
The platform had a generic theme as a design language for design mockups of the products. The UI component team designed a way to add customizations for products and branding.
Developed a UI library and documentation
We continued or work going on the visual audit and theming system to develop a UI library and a living documentation component that was developed in the same environment as the products.
Visual consistency and unified language
We set standards for product teams to follow and references that could be replicated for a swift workflow when implementing the UI.
Centralized code base, one source.
We were able to create a centralized code base through SCSS files and templating through Handlebars.js. This reduced unique implementations based on individuals preferences.
Assisted product teams with UI work
Code Reviewing
At times we developed skeletons of the UI that was to be implemented within an increment. That was later passed on to the developers just place in their code so they could focus on functions and features.
When implementing UI related code, the UI team were assigned as code reviewers in pull requests. This led to an increased quality of the UI related code that was added to the increment and reduced unnecessary code.
Challenges
Its difficult to match technical, designer, and product management requirements at the same time. It was a much more tangible problem working on the UI team.
The biggest challenge we faced was developing the Design System and Themes to be technically maintainable and also allow for customization for Customers. Design and management always wanted unique designs and styles that would often be hard to manage when trying to manage technical requirements such as managing versions or bugs.
The UI team developed platform specific UI components, and not those would be specific or Rhythm for Commerce or Rhythm for Civics. We had to start developing these components due to different organizations requiring it, it added further complexity and work load.
Many times the agile workflow was interrupted, mid sprints or backlogs would suddenly be filled with new stories, not from the product owner directly but from other teams across design, development and development or product management pushing their own requirements.
Rhythm Themes Inheritance
Some of the technology used
Summary
I worked at Infor for almost 5 years, it was an incredible experience.
During my time at Infor, I was naturally swapped around in teams and projects, performing different tasks and in different roles.
I worked with a legacy product and helped develop a more modern version through different roles as a frontend developer working with javascript frameworks, UI development and as a Scrum Master.
I worked with different people, from different cultures and backgrounds. It is important to take note to those differences to be able to function better as team and colleagues.