Speaking about small teams/companies, we hit this stage where we might be discussing with a product manager or a back-end experienced team lead about targets on front end performance optimization. And it is not a week/month's task to improve UI performance. It is a consistent effort and it also needs a parallel work of re-structuring the existing code. It's not that straight forward to negotiate on this with the team.
These are the ways to communicate in a quite successful way.
- Explain that JavaScript engine runs only single thread -- Most of the back-end team leads or managers don't think about it as they usually run multiple threads whenever needed in back-end servers. And in JavaScript the usage of Web-workers is not that common.
- DOM engine and JavaScript engine don't run in parallel -- unless specified. Though many frameworks might be handling this internally, there is a need to revisit and see wherever we can induce async tasks between these engines.
- It's end-user device and performance -- unlike back-end code where the number of servers can be increased for a drop in performance, UI code has this limitation to run in each and every device with the minimal resources available. So there is a huge more work in here.
Saying these, it doesn't mean there is small performance work that needs to be done in back-end. There should be a lot. But the front end performance optimization is a lot different than that of back-end. And to communicate the same holds a higher importance.
Once the team understands this, we can get resources to work on it and there on it helps in breaking down into tasks, learning about the performance, creating reports, A-B testing and a lot more similar plans. Otherwise, the team as a whole will always have a complain on the performance glitch. The performance neither gets addressed nor be ignored. This communication is a step to get rid of that situation.
Thanks for your time in reading this. Humbled! Please say a word in comments if anything needs to be considered or corrected.
Top comments (0)