Position: TechLead/Senior Software Engineer
Category: Node.js
Experience: 10 years | English: upper

As I was IOI/ACM/ICPC participant from my 5th grade I always was good with technical part of things. Because of this my advancements are mostly soft-skills, but this is core part of development in my opinion.

So, here they are:
* Being able to communicate and teach others.
As an IOI participant myself I helped my teacher with preparation of next-gen. kids for competition. This ability to tell others what you want is really handy in development. Correct and healthy communication is half of job.
* Not caring about time, sleepiness and other things when sh** needs to be done. Don't say that you never had overtime work. This world is full of hackers, emergencies and other natural causes of overtime.
Especially needed if you are core developer, or when deadline is close ... But it is more needed in emergency situations ( or at least I hope that one would use it for that ).
* Being able to do "boring"/repetitive every-day tasks. I'm more of designer-kind of human. Doing boring tasks is really boring for me, and for years I wasn't able to do them continuously. Now I can ;-)
1. Full-stack Node.js/React.js developer/TL
Here I continued doing what I do best: improving legacy codebase, doing backend and frontend ( full E2E user journey ) optimizations, planning future architecture improvements, helping with interviews, managing incidents, proposing refactors, prioritizing technical dept.  
I didn't do as much TL work as I would have liked to, but its nice to be in such "hybrid" mode.

2. Full-stack Node.js/React.js developer
Maintainer of legacy code ecosystem, improving it and rewriting with stability and style. Architect of many core systems ( Comms protocol, auth, logging, etc ). Nothing special on the stack ( typical JS ecosystem with SQL ).

* Creating new creative tools for easier maintenance & development, utilising existing infrastructure
* Development with stability/full backwards compatibility in mind.
* Found memory leaks in popular public libraries while investigating memory&CPU load


3. Full stack engineer for game network
Maintained big multi-language codebase ( JS, PHP, Java, a bit of C++). Backend fully written in PHP, website in pure JS/jQuery ( Legacy ), Svelte for new/replacement modules. Java/C++ for desktop application.

Java was also used for inside cluster communications to update server status. Internal healthcheck/etc monitoring tools are also Java-based.

This was big scalable project, but is kind-of dead now. Had more than around 8000 simultaneous players, but due to bad partnerships, me not being able to convince directors to scale up before huge load. Was at least fun 5 years of my life =(


4. Frontend architect/"team" lead
One of my latest projects. Written entirely in React.js/SASS/etc from scratch by me. While it is weird to call myself team lead at this moment of time, but I did lead team of 3[2] people for some time. This is year long side project where we decided to rewrite from group-up as before me it had really inexperienced developer and his friend as entire team ( I came after them ) - and we had new design anyways.

Nothing special, besides having SSR that is entirely written in React.js - It uses ReactRouter for routing instead of "weird" Next.js, supports WebPack and it's hot reloading of modules on the server side. And, obviously, it supports chunking. I hope someone can prove me wrong, but I think no one have done it before.

I hope you are still here. Also, I hope that it was interesting to you.
I mostly don't care about my work conditions. I worked with bad, worse and worst projects. Everything that I would want is some respect to me, my work, and just world in general ;-)

(And a bit of nicety is plus. I also don't mind austere/brutal management as long as they are reasonable with what they want )