Fulfillment Frontend / Backend to Fullstack Engineer Training
Overview
I'd like to start exploring training our Frontend and Backend Engineers in Fulfillment to become Fullstack Engineers.
A few reasons for this:
- Our Frontend Engineers are already having to understand parts of Rails in their day-to-day work. For example, using Rails Views (HAML/ERB), Rails Routing (we use server-side routing instead of client-side routing in single page application), Rails Asset Pipeline (Webpacker for CSS/JS).
- Our Backend Engineers occasionally dive in beyond our server-side Rails Views and APIs (GraphQL/REST) and into VueJS for development and debugging.
- The CustomersDot application is much smaller than the GitLab application and it likely doesn't require as much FE/BE specialization as the GitLab application does.
- This should increase the overall efficiency of our team since a single engineer can work on both the FE and BE.
Training Programs
Below are training programs we can consider:
Rails Training
VueJS Training
- ...
Quality Training
- Overview with Quality team on CDot testing framework architecture?
- ...
Fullstack Engineer Conversion Process
Below is a proposed process for converting Backend/Frontend Engineers to Fullstack. Note that this process is currently only a proposal and that we'll need to get input from the rest of Development before finalizing this.
- An engineer should complete a Rails or VueJS training program.
- After completing training, we should start providing the engineer with relevant starter issues similar to our current onboarding process.
- Once the engineer is comfortable, they can become a reviewer of the Backend/Frontend discipline they are missing.
- Once the engineer is comfortable, they can start taking on more complex issues such as implementation of full features.
- Once the engineer has done a few of these, they can nominate themselves to convert to a Fullstack Engineer. The nomination that we follow can look similar to our existing Maintainer nomination process. Note that the bar to convert to Fullstack should be lower than the bar to obtain a Maintainership -- we can possibly set this bar at being able to pass a FE or BE technical interview or at what would be expected of a Reviewer.
Edited by Laura Callahan