Its been a while since I have written a post. Wow its actually almost 2 years without posts. What was I doing all the time? Well, I was becoming a front end developer.
It’s been a very tough endeavor to decide where to move with my developer career. I considered mainly these options: front end developer, back end developer, full stack developer, data engineer and finally machine learning.
The front end is actually programming. After trying a few machine learning projects although it was fun I decided to not specialize in it as predominantly it was statistics, data manipulation, and fuzzy results while I like coding and very concrete results. Either thing works or not. Front end apps development just gives me an opportunity to continue coding, most of the time.
The front end is less about data manipulation. I dismissed the data engineer as I always least enjoyed playing with databases. I can do it but all these ETLs and DBs and pipelines just seemed boring to me. And again it’s less about coding and more about setting up different database technologies
The front end is actually a specialty. And a very good one. I dismissed full stack. I’ve been there, I did full-stack .NET but I just don’t believe in a full stack. This is too hard to do both front and back well, some very talanted devs can do it but it is more an exception imho. I did shitty back end as I have always lacked DB skills. Being a front-end developer I see code written by full stacks and it’s often just a pain and potential maintenance troubles.
The front end made me more marketable. This may be good or bad depending on the perspective. A backend developer is very much into business logic and when he/she moves to the different company all that business logic knowledge is pretty much useless. However, with the front end, you can easily transition wherever you like because every company needs UI and UI has similar problems and components across the industry. So if you are good at it you can immediately deliver value at the new place.
The front end gives me freedom. As everyone needs UI and as UI more prone to change and evolve there is a lot of opportunities to join to whatever company I like. I can work from home if I prefer there are more than enough remote offers. If I want to work on a greenfield project and not to dig old legacy code – no problem. There are a lot of projects which either rewrite old projects or start from scratch.
The front end is easier on my brain. This is personal because I am a very visual person and my synthetic abilities are much better developed than analytical ones. Therefore I feel more comfortable to design and develop visual components than very abstract algorithm (although I like doing that as well). Also, I am very detailed oriented and have perfectionism inclinations which makes me enjoying polishing front ends.
The front end made me a better developer. This might be very subjective but after being enterprise and .NET developer when I started to dig into the front end I had to learn a lot. Only after coming to a front end I started using building tools, command line interfaces, async programming, reactive programming, functional programming, declarative programming, event-driven programming. I had to dig much more into profilers, networks, browsers, caches, security, and many other good things.
To conclude, the front end has now become real engineering discipline with its own community, tools and best practices. And someone who like creating things, coding and visualizing can have a very good career in it.