Tech stack explanation
Front end developers
FlagshipLLC has 2 types of front end development:
- Theme development
- Apps front end development
Apps front end development:
Overall, front end developers need to develop bulletproof code against the different actions the customers can take, think about the performance, and provide a good interface to make the user experience nice and clean. Japan is a fast market, so we need to be continuously improving our techniques.
Back end developers
Our tech stack in back end development is broader than front end, a bit more complex but also interesting, it includes batch scripts, AWS services development, AWS services configuration and Shopify apps development.
Flagship’s older tech stack was based on Ruby and RoR, but currently we are focusing more on NodeJS. Why are we changing the main backend language? So it is easier for people to be “full stack developers”, meaning, we can use the same language for front end development and back end development.
Between the NodeJS web development frameworks, we chose NestJS, really loved the architecture NestJS provides along with the full Typescript support. So far it has proved us that we can create complex Shopify apps with no problems.
Our back end developers have been working a lot with AWS services in the last couple of years. Using services like Lambda and Cloudfront, we could improve the development speed and reduce the maintenance needed for our Shopify services. Another example, even though Heroku is our main PaaS to host web apps, when we need more complex infrastructure or lower latency (speed is critical), we prefer AWS Elastic Beanstalk or EC2, as these services have regions in Tokyo and they provide a better flexibility. So it’s important that our developers know in which cases they should use each service and why?