Growing As A Backend Developer: My HNG Internship Journey

Having been a backend developer for about 6 months, and being self-taught (learning on my own with resources online), the journey so far has been of mixed feelings, there are days when I feel so on top of the world with full boldness of the fact that I know what I am doing, while there are days a wrong parameter drops my shoulder pads, making me question if I have not chosen the wrong career path or days when a not-so-complex database schema gives me sleepless night.
But in all these, every challenge, and experience has bolstered my confidence and continues to foster my growth. And now I do realize why Jobs require years of experience, there are just some things you only get to experience with time.
As a backend developer, you get to work with so many tools, currently, I work with NodeJS, Typescript, PostgreSQL, knex.js, Prisma, and others and on different challenges. Of recent I had the opportunity to lead the backend section of a fintech (savings) app - It was a pet project though and not anything super crazy- although I had only worked extensively with SQL for databases, this project was using MongoDb which was not my strong suit, but of course that's the whole idea about Backend Engineering, you figure stuff out (problem-solving).
While I was used to Entity Relationships in SQL, MongoDB seemed quite different, but then I thought to myself, even though SQL uses relations, structures, and all, it's still the same idea as a NoSQL, there are entities within the application and these entities have relationships (one-to-one, one-to-many, many-to-many), just different ways of representation, although I had to shift my mind to the NoSQL way of relating things and I called it Document Relationships.
Once I had that idea, I knew it was just about breaking the whole flow down and looking at how the different entities (users, savings pools, user accounts in different savings pools). After all these were set, I just had to start building from the ground up that way, taking it one at a time:
- User document schema
- Pooled contribution schema
- User contribution schema
Whilst we are building on this and currently it seems like the way to go, there is always room for improvement.
It's all about breaking that big Idea down to its littlest of elements, finding where the relationships lie, and start building right back up.
I have always asked myself, how do I grow as a developer, how do I work on business-critical challenges (good kinda problems BTW), because of course you only have stories for your challenges, especially when you are able to surmount them, then I saw HNG on the streets of Twitter, it sounded very interesting, and quite challenging, judging from the stories of those who had successfully gone through all the stages.
Well here we are, a journey of a thousand miles begins with a step they say, this is my first step in the HNG journey, I know it's going to be tough and I might be discouraged along the way but apparently, I have got no choice, I want a great career as a Backend Engineer and I am ready to pay the price.
Watch this space, I will be updating my progress and writing on what I learn regularly (that's a new resolution BTW).
