Frontend web development: A senior's take.

Frontend web development: A senior's take.

ยท

13 min read

Every day, thousands of people around the world write their first line of code. But before those giddy hands hit the keyboard, a choice is made--or maybe later on. No pressure ๐Ÿ˜!!

What path should I take?

path.jpg

Somehow you might get led to the web and ultimately the front. You might think, surely, this is an easy way to start but it might be harder than you think. Might even give you quite a shock when the reality of it finally dawns on you.

Now just like you, I am still learning, but I want you to be more informed than I was when I first started. No better way to do that than to ask someone with more experience than you have.

This is why I decided to ask a Senior Web Developer, Jesutomiwa Salam (prismatic), a few questions that would give you real insights into the world of frontend development. Here's how it went:

Maryam: People describe frontend developers as devs responsible for the look and feel of a site. Do you think this is correct? If not, why?

Jesutomiwa: Errr well, on the face value, they are not so wrong; but then that description would not be entirely accurate and would probably seem to demean the work of a frontend developer. So I think it's important to look at it this way: The frontend developer is responsible for every single experience the end-user has on the application; and that goes way beyond just the look and feel, it goes into things like screen flows, keeping the user engaged while backend processes are running etc. And frankly, if frontend was just all about the look and feel of sites, then having so many frameworks for just that task would seem to be redundant and inefficient since we can all just use HTML and CSS to achieve that.

Maryam: Wow!! I agree with you. Ready for the next one?

Jesutomiwa: Yup ๐Ÿ™‚

Maryam: What is one thing you have done which you never thought you would have to do as a frontend web developer?

Jesutomiwa: Storing and analyzing application data. ๐Ÿ˜‚ The mindset I had starting was basic: Just design something, anything that has to do with logic should be handled from the backend. How wrong was I?! Now you have to be thinking about not hitting the API too much, handling as much as possible on the frontend and approaching the backend when it's necessary.

Maryam: That's a lot. When I started I thought even responsiveness was backend ๐Ÿ˜‚. I found out what it was in HNG Internship. It was a shocker.

Jesutomiwa: Exactly. ๐Ÿ˜‚๐Ÿ˜‚

Maryam: OK so on to the next one. In your opinion what part of frontend development is the most tasking?

Jesutomiwa: Well I would say it all boils down to the aspect of design. What makes it so logic-driven is the fact that you have to mentally map every single thing you have in a design to an HTML tag or a CSS class, and that can be quite difficult especially when you're working on a design that was designed by a person who has no idea of what it is to do that. ๐Ÿ˜… So yeah, being able to single-handedly convert a design to a functional application is quite tasking.

Maryam: Yesss. Something as simple as a small curve somewhere can take hours. But when I finally get it I am fulfilled. One of the things I like about it.

Jesutomiwa: Very true! There are several times I've had to go back to something I previously worked on to copy the code and paste it into something I'm currently working on simply because I forgot.

Maryam: Yes, this is something I started doing. It saves a lot of time.

Jesutomiwa: Yeah exactly. And sometimes one can feel really bad spending a lot of time on what would seem like a simple aspect of the design. But it's not like there's a javascript variable that can just whip up something for you because you want it done. You're constrained to the tools you have hence the difficulty.

Maryam: Yes and if you don't go deep into CSS you might as well forget it. The next one is about new tech.

Maryam: Frontend development is ever-changing. It is either there's brand new tech or yet another major version becomes deprecated. Most advancements are to solve problems but have they made development easier for you and how do you cope with it?

Jesutomiwa: Yeah I think one thing that has helped me is understanding the role of technology and computing at large-- to make complicated things super easy. A flip side to that would be that you're now tasked with the responsibility of learning that technology to simplify that complex task.

Say for example, before washing machines came around, people had to spend hours and hours washing their clothing, leaving them to dry etc. The reason washing machines came around was to make that go away, that way you don't have to expend your time and energy washing clothes when you could be doing other things. The flip side to this, however, is that you have to learn how a washing machine works to be able to use it to actually wash clothes; so while it is making a complex task easy for you, learning it in itself brings in another complication (which we could say is considerably less than that of having to wash the clothes yourself).

So the same goes for tech and web development in general. The problem shifts from something being super complex for you to do, to having to learn a technology that makes the task less complex. And because change is in itself constant, you are driven to learn; not willing to do so would simply slow you down in a fast-paced world. Personally, this is what I do, when a new technology is released, I give it time; I'm not one to jump into things quickly. ๐Ÿ˜… I only resort to learning it if I reach a point where I discover that the technology can solve something that would otherwise be time-consuming for me, and I consider that somewhat of good practice; I believe it also aids stability in a sense.

Maryam: Wow. I didn't think of it like this at all. Very good analogy. I think the way you handle it is good. Using whatever you need so you don't get overwhelmed.

Maryam: OK we have two more. Some people say modern web development is a nightmare. I think going into it you should understand what it takes. So what qualities do you think are a must-have for you to survive?

Jesutomiwa: Yeah this reminds me of a joke I read on social media where someone said in those days all you needed to know to enter frontend development was HTML and CSS, now you need to know Vue, React, Angular etc. ๐Ÿ˜‚ So yeah, I think a notable quality that is needed is the willingness to learn and also the willingness to try out new things. Just like any other task/vocation, a lot of work has to go into learning well. You have to always be able to come to terms with yourself and your growth and realize the new leaps you need to take.

An issue that sometimes pops up and forces people to sometimes abandon web development is how overwhelming it can get for you as a beginner. You just started learning "A" yesterday, and today you're hearing people talking about "B", tomorrow it's "C" etc. You need to be patient with yourself, recognize that you can't know everything at once, and seek to know more of what you already know; the need to know some things just comes to you with time. Sometimes you just realize that you need to know something and you work towards it. Trying to force yourself into it prematurely doesn't do you any good.

So basically, learn to be patient with yourself, be willing to try out new things (someone said the way to know you're good at something is to try out many things ๐Ÿ˜…) and also be willing to use resources available to you to seek advice. ๐Ÿ™‚

Maryam: Yes but all this is easier said than done. Beginners find it hard to reach out for help. I did. But I hope others can learn from this.

Jesutomiwa: Very true. But the more you learn, the more you discover that having others to guide you through help.

Maryam: Ok, so the last one is also about newbies.

Maryam: There's a general perception that frontend is easy and it is where most web developers start their journey. Do you think it is easy and would you advise a newbie to start there?

Jesutomiwa: Well yeah, I would most definitely recommend anyone who wants to start with web development to start with the frontend. My reason for that won't be because it's easier, but rather because everything revolves around the end-user, and the frontend is what the end-user interacts with; so anyone who wants to build things with the end-user in mind has to understand the frontend and how it works.

Well, that was an interesting ride. After reading through, I hope you now have a better understanding of what it takes to be a frontend engineer. If you do decide to take this path I wish you the very best of luck on your journey.