Being a front-end developer at hiveonline comes with immense responsibility and flexibility. This ideally means choosing a working location sometimes, thinking about design decisions, more coding, more testing, and more documentation to be done. Ask your average person what they believe a developer or software Engineer does in a day, and they will tell you; they write codes. Well, we mostly write codes, but there are so many other exciting (yes, exciting) things we also do during a typical day.
What exactly IS a Front-End Developer?
Building a web application inculcates many factors; with new ideas and tools evolving rapidly, different tech roles come into play to create any website/web app. Fundamentally, two teams (front-end and back-end) join forces to develop a site/app. The back-end comprises the site’s structure, system, data, and logic and is mainly abstracted from users (users cannot directly see or have access to it).
The front-end is what we all see, the colours and pictures…(okay, enough drama); this is what users see and interact with. To meet our users’ expectations, we need to be as precise and ensure our products provide the required functionalities in an efficient and easy-to-use/navigate manner (smoothest of user experiences), including considering different device orientations.
An excellent front-end design compliments the vast and complex back-end logic; hence there is always constant communication between the two teams to ensure we keep our users and product managers happy.
What skills does a Front-End Developer need?
To succeed as a skilled front-end developer, you need a combination of soft skills and technical abilities. Usually, this comes with constant dedication, hard work, and growth. You need to be keen on problem-solving (essentially what the codes do), be a great communicator, have an excellent eye for detail, be open-minded, and be patient.
Aside from the already mentioned, your creative abilities should always be apt; before you write any code or solve any problem, you need to consider different use cases and constantly communicate with required stakeholders to ensure this is what users need. Most of the time, you must think ethnographically to ensure your solution fits.
What does your day look like?
06:00: Being a Christian, I take my faith seriously; hence I wake up, find time to meditate, listen to some songs and have some quiet time to reflect. This helps me to set the pace of the day and get ready for work
07:00: Decision time!!! One of my favourite parts of the morning is to decide where I will work from, either home, at the office, or anywhere else that fits the day (I mostly end up staying home…haha). I also try to grab an early breakfast by making it myself or getting it from my awesome housemate, a great cook. I mostly get emails around this time and try my best to read the subjects.
08:00: Time to work!!! During this time, I quickly go through all my emails and check our group texts to ensure I’m missing no critical information. Then I look at our Jira board – the team’s project management board to visualise workflows whiles focusing on managing and constraining work-in-progress. I pay attention to the sprint’s tasks per priority, and if there are any pending tasks, I have not completed having an idea of which ones to accomplish for the day.
9:30: During this hour, there are crucial blocker checks (Daily standups) for all team members to go through their tasks and highlight any tasks that are blocked and what’s being done to unblock them. Also, if there is any crucial information, it is communicated to the team during this period.
10:00: Time to Code!!! I usually like to set the mood before I code, so I start playing music and get to work. Today I’m working on the delete member feature on one of our products. This is a critical piece since when a member is deleted, there is no way of undoing this action on the front end, so I need to review the process on an end-to-end basis. Luckily the UI/UX design for this feature is given, so I can solely focus on converting it into codes. Sometimes you must ask questions about the design; sometimes, you don’t get any designs, so you must be imaginative and rely on your visual intuition.
10:30: By now, there is usually a text or a ping from the product manager. Since active users on the ground use the products differently, issues may arise. These issues are dealt with according to their priority.
11:30: I casually take breaks to check my phone, walk around, drink water, and get back to work. It is always “Game time mood” for me during this time.
12:30: Lunchtime!!! I enjoy my meals, so I break from work and get something to eat. Usually, I like high-protein meals, so there are eggs, meat, and whatnot. I pour a glass of juice and take my time to finish my meal.
13:30: Work continues; more coding is also being done. One thing about programming is you can always get stuck at any time. Sometimes the mind gets a bit tired, and you don’t see things well or think through things clearly, but in that case, my fantastic team of full-stack developers is always ready to help. This could be in the form of quick calls, screen shares, and peer-2-peer debugging sessions. These sessions are always beneficial and contribute to the team’s growth as a unit.
15:30: Code Review!!! This gets me excited since, for me, it is the climax of my work. The code I have written gets to be reviewed by the team to check the quality and syntax and ensure it is up to the standards set by the dev team. I also get to review other codes too. Essentially this helps us to grow as a team and work together towards achieving the same standards.
16:45: The day is about to end; I am almost calling it a day. If I am working remotely, I will shut my laptop and monitor off and start thinking about getting dinner. If I am at the workspace, I start saying goodbye and heading home. I usually like to end the day with about 30 minutes walk.