December 17, 2018#front-end #product #web
Like many developers, I'm self-taught. I have no Computer Science background whatsoever (although I'm always working on improving this). I have a bachelor degree in Commerce & I wanted to become a professional football player (Soccer for American readers) and I actually played as a semi-professional in lower divisions in Egypt.
The transition kind of happened naturally. I was always considered the lead (officially and unofficially) in most of the places I worked at and the go-to person when someone had questions about front-end, quality, hiring, planning, etc...
But especially at Lightspeed, the transition happened naturally, when I joined the eCom team in Amsterdam I was the first dedicated front-end developer. Part of my job was to build a front-end team and more importantly a front-end culture within the office. Now I lead three other front-end developers in the Amsterdam office. Just to clarify, I'm not officially a manager, I do some managerial tasks (1-1s, planning, etc...) but it’s like 70% tech lead / 30% people management. I was offered to move to the managerial track but I declined, I didn’t feel like I wanted to give up coding just yet because I still have this hunger to learn more tech generally.
Every day is different. I usually have at least one meeting a day. So in the morning, I check my schedule and plan the rest of the day, especially because I'm still an IC and have tasks and things to do.
Generally, a day starts with a stand-up, every two weeks I have 1-1s with the rest of the front-end team and weekly we do have a global front-end meeting with all other front-enders in the company at our Montreal and Ghent offices. This is something I co-started with my colleague Guillaume in Montreal to bring teams together instead of working in silos.
I enjoy automating tedious tasks/grunt work to help my team's productivity and also to see them improving in their careers.
I'd say feeling productive since many of the leadership/managerial tasks can’t be seen or felt. Sometimes I end up perceiving myself as very unproductive. For instance, on some days I have 2-3 meetings and I don't write much code, so I go home and feel like that day was wasted. But eventually, I see that these meetings have unblocked my team or enabled them to be quicker, more productive and happier and I realize that my perception was wrong.
I would say dealing with people, especially non-technical. I'm an introvert and I had this naive idea that when I work with computers I can just avoid interacting with people, but I was so wrong. The more you gain experience and grow in your career the more you will have to deal with people. This is not easy because every human being is different and reacts to things differently. There is literally no one rule that fits all. My wife helped me a lot in this area as she is a psychologist, so her advice has a lot of value when it comes to dealing with people.
Unfortunately, I didn't have enough managerial/leadership training or mentorship. But 4 years ago I had a quick leadership training while I was working at dubizzle and one thing that stuck with me was that what you hear, is not necessarily what others hear too. So first, be a good listener and second, understand how to send a message in a way that the other person will understand it in the way that you want.
That highly depends on the company's definition of a manager, but generally, I would say: be prepared to give up coding either completely or a big chunk of it. This one of the main reasons I didn't move to management yet.
Also, learn how to communicate effectively, be honest, clear & straightforward.