Technical Challenge
Contents
Introduction
Hiya, I’m Oluwatoyosi, one of the new Software Developer’s to join the Legal Innovation Lab. This blog describes my experience during the technical challenge of the role.
My project consists of two sub-applications. A frontend application and a backend application all managed within the same repository.
The biggest challenge of the challenge (winks) was coming up with the kind of project to build. Given a very limited time, I was torn on what exactly to build, how complex/simple it should be as I believed in order to land the role, I need to demonstrate my skill sets as much as possible but on a project that wouldn’t take too long to execute.
The project ultimately came to the core ‘web’ functionality of Create, Read, Update, Delete (CRUD). Having this in mind, I set out to build a simple Blog Application.
Tech Stack
The decision on what technologies to use in building largely came down to my experience. My work experience as a developer over the last 4 years was largely using Javascript, hence it is easier as I am more familiar with that language.
For the backend api, it was built using
- Node js
- Express js
- Sequelize ORM
- Swagger (for documentation)
The frontend of the project was built on React js.
The core features of the project are as follows:
- User Authentication and Authorization
- View all blog posts
- View single blog post
- Edit and delete blog post
Debrief
After building the project, the next step was to walk the Dev panel through my thoughts and processes during development. This was quite easy to do as I explained the thought behind most of the decisions made during the process. The team was also very friendly and that brought about ease as I was a bit nervous prior. The panel was quite impressed with the project especially as it was properly documented (thanks swagger), I was asked to implement a quick and easy feature which I did, we discussed a few things which could have been improved and why certain things were handled the way they were. Finally, I was asked what feature could have been added if I had enough time
Conclusion
Overall It was a very interesting project to work on once I figured out what I wanted to do. I did not spend too much time on coding as I completed the project with a day to spare, that gave me enough time to go through the whole coding logic once more before submission. As complex as a Blog could get, I decided to stick with the most basic functionalities it should have.
Since my resumption, I have been enjoying my experience on the team so far as everyone is nice and welcoming. It took a while joining the team due to some unfortunate delays but the whole team was quite patient and understanding of the situation.
I would advise, if given a challenge just like this, choose a project which is not too complex but adequately demonstrates your skill as a developer.
Thanks for reading!