It’s often to take over a web product for frontend-side from colleagues during work. When you’re on-boarding a company for a web frontend engineer role, you may find you situated in a misted forest. You may not see people or cowork with them, because there have some reasons such as they just quit the job or switch to another poducts.
In modern frontend develop conventions, there are somethings you can catch during taking over.
Node
and NPM
. Find out whether there has .nvmrc
file in frontend repo or not. If it has .nvmrc
file, content in .nvmrc
means the version of Node
for this repo and environment at local development use Node Version Manager
to manage multiple versions of Node
execution.yarn.lock
file, it represents this repo use Yarn
, which is another kind of node package manager, to install and uninstall packages. It also means build/compile code for dev/staging/production environments with yarn
.package.json
file, you can find out two important parts: dependancies
and scripts
:dependancies
often indicates packages, library or frameworks are used in this repo such as typescript
, angular
, rxjs
, nebular
, ionic
, redux
, redux-observable
, jest
, testcafe
or cypress
. You can quickly understand packages environment for execution. devDependancies
also often companies with that, and devDependancies
shows packages only be used in a local development environment. It’s better to lock versions of packages for preventing or eliminating supply-chain attack in the future.scripts
lists scripts for many purposes such as exection at local development environment, building code, and testing code automatically for dev/staging/production environments. Please make sure:
scripts
do still in use?scripts
are broken and need to fix? Especially for e2e testing towards different environments such as dev
, staging
and prodution
.React
ecology, redux
, react-redux
, redux-observable
, redux-thunk
, redux-saga
are common packages used for centralized state management.Vue
, vuex
is a remarkable one.Angular
, ngrx
is the one.PWA
or not. If it is, you need to understand how to develop, and maintain the product with PWA
.service worker
, please figure out resource cache policies about image, video, and ajax requestpush notification
such as firebase cloud messaging
websocket
is involved in the product. If the product uses websocket
as its part of functions, it often means the product require high interactivity between network intercommunications so it uses websocket
for saving extra network construction overheads with respect to tradictional one-shot request-response behavior.websocket
in this product.google analytics
, amplitude
, and hotjar
.LCP
, FCP
, and mobile friendly
, …etc. Their importances depend on what kind or target audience of a company it wants. It’s common and continuous to pursuit better scores for a company of to-customer business.datadog
and sentry
.