Front-end development #

I first started programming when I was 16 (so 18 years ago) and have only ever really touched Python seriously. I have been writing Python for a living (alongside SQL and a bunch of other backend-y and data-y things) for 7 years, and did quite a bit of other hacky programming during the 4 years of my PhD thesis. So I have quite a bit of experience writing code. But until very recently I had never touched anything close to the front-end.

Learning front-end development as an experienced developer is strange. I learnt React, a Javascript web application framework, and wrote Typescript, which was also new to me and which I quite like. Because I already know how to program, and picking up a new programming language comes fairly easily to me, all the difficulty is conceptual, and you do really have to think differently when programming front-end. Performance is crucial, since users feel it as lag between their mouse clicks. Separating state from flow becomes imperative, since without it there is no way to keep track of everything and to manage the abstractions.