I come from a computer science background. The classes I enjoyed the most in college were all revolving around programming in C/C++ and C#, algorithms, data structures and databases. That being said, my affinities towards backend development grew. However, it has come to my attention that none of these classes really tackled the topic of frontend development nor its fundamental technologies, a few of them barely scratched the surface (we’ll get back to this one later on). Yet, at that point I didn’t care much, I fell in love with backend development, I fell in love with the stuff that ‘works under the hood’ and that was everything I wanted to do. The snowball kept rolling and later I even gained professional experience with the .NET framework. Still, I wanted to expand my skillset, so I started learning another server-side framework, Ruby on Rails. My curiosity and passion towards development did not go unnoticed, and as a result, after my first month of the ABH Internship, I joined Atlantbh as a software developer. I recall that during my internship, the Rails code I wrote was pretty clean and efficient and that I solved all backend tasks with ease. However, my frontend code was a mess. It was very sloppy and unorganised. Even the trivial problems were frustrating, and I couldn’t wait to get the ‘unworthy, annoying frontend stuff’ out of the way and get back to the magical land of backend. One particular gif comes to mind when talking about this, and I believe that a lot of us developers can relate to it at some point of our careers. Yes, you know exactly the one I’m talking about, sometimes it strikes too close to home.
We’ve all been there Peter, we’ve all been there …
Identifying the issue
After the ABH internship, my skills were put to the test on a real project; full-stack development of a web app with more than 3 million active users worldwide. Frontend tasks were coming in and neglecting them was never an option. I knew that the only way to survive the upcoming storm of those tasks was to step my frontend game up – a lot. Now, this part is very important, in order to make progress in any area, you must first admit to yourself that you are lacking in that area. False sense of competence is one of the worst things that can happen to your career, and not just in software engineering. If you think you know everything about anything (and of course you don’t, nobody does), you’ll never put in the effort to improve yourself. Why bother changing something perfect, right? You must put your ego aside. It’s not embarrassing to not know something. What is embarrassing is acting like you know something when you actually have no idea and letting your team down in the process. Please, don’t be that person. Personally, I’ve always been hard on myself in order to drive myself to get better day-by-day. I think that’s the right mindset and it will make you constantly strive towards improvement. However, before moving on to how to improve, I’d like to take a moment and address some potential reasons why people are lacking in frontend skills in the first place.
Misconceptions about frontend development, and side-effects that follow
This prejudice towards frontend needs to stop because of two simple reasons: Firstly, the frontend is the part of the application with which users interact and plays a vital role in the product’s road to success. That alone should be reason enough to put in the extra-effort in frontend development. Secondly, there are lots of challenges in making a good UI, both design and engineering-wise, so you actually have to bring out the best of both worlds.
Making the necessary improvements
Now, how exactly can you step your frontend game up? First, let’s try to answer the question that often comes to mind when you’re inexperienced with frontend development.
Made using imgflip.com
The second tip for breaking out of this enchanted circle is the mental-shift you have to make. You must stop ‘hating’ and start enjoying frontend development. Now I don’t want this to sound like one of those ‘life-coaching’ or ‘the key to happiness’ knock-off blogs, so trust me, this one really is true and it’s very important. It shouldn’t be something you just ‘get out of the way’, it should be something that intrigues and motivates you, maybe even relaxes you. It’s pretty simple, when you like doing something you’re guaranteed to perform better. The first tip about starting from the fundamentals helps here. This dislike for frontend development most likely comes from superficial knowledge of it. If you start from the bottom and patiently work your way upwards, you’ll get more comfortable with work on the UI and get things done faster.
Next few Blog posts
I hope you found this content useful. In the following blog posts of this series, I’ll go over, in more technical-depth, some of the key principles that a frontend developer should master in order to be proficient in his/her work as well as some tips and tricks that may make your life with the frontend world easier. Stay tuned 🙂