Journey to senior developer

Alamillo
3 min readFeb 28, 2022
Photo by Ian Schneider on Unsplash

I’m committed to become a senior developer this year. Although there are different routes to reach the level, I feel the best way at my stage is to take ownership of a big project. This will present many challenges and therefore it will end up in a massive upskilling.

There are some ideas that I would also like to include in some way on this venture. What levels.io targeted in 2014 of building 12 startups in 12 months has always been something fascinating for me. I also want to build a habit for the long run inspired in the book Atomic Habits by James Clear. It would also be great to share it with the community so my aim is to document in some way so others can also take advantage.

The main project will be to build an e-commerce. This will reduce a lot of time thinking about product maximising the time focusing on tech. The aim is to deliver in a lean startup way: Small and often releases to deliver value. As I don’t expect to have customers because my focus is mainly the tech (no marketing) choosing an e-commerce is an easier choice in terms of functionality.

Technologies

Regarding programming language, although there are many great alternatives out there I think Javascript is probably the best. Particularly because it is available for Frontend and Backend which is something that is going to be very useful. From my current point of view these are probably the areas of knowledge that I would be covering:

  • React
  • Firebase
  • Nestjs
  • Nextjs
  • Auth0
  • Stripe
  • Docker
  • GCP
  • GitHub actions
  • Material UI
  • Styled components

MVPs

As I’m just starting, this is only a draft but I visualize the iterations something like this:

  1. Initial MVP: initial layout with products at constants linking to Amazon products of existing suppliers using affiliate links. This also includes analytics and a third party chat service. Tech: React, firebase hosting, GitHub actions.
  2. Serverless: managing the products from a database. All the information related to the product will be stored in firestore and managed with firebase. The products can be updated and created directly from firestore. Tech: React, firebase, firestore, firebase hosting, GitHub actions.
  3. Authentication: setting up user functionality to sign-up and login using firebase auth. Tech: React, firebase, firestore, firebase auth, firebase hosting, GitHub actions.
  4. Admin dashboard: area to update the product information. Tech: React, firebase, firestore, firebase auth, firebase hosting, GitHub actions.
  5. Backend layer: adding a backend layer between firebase and front-end to interact. This will be a swift from using firebase directly in the front end to using it in nestjs. The front-end Tech: React, firebase, firestore, firebase hosting, Nestjs, GCP, GitHub actions.
  6. Authentication with Auth0: with an API in place it allows to add a different Auth service. Tech: React, firebase, firestore, firebase hosting, Auth0, Nestjs, GCP, GitHub actions.
  7. Transactional emails: based on certain transactions send emails. For example, making a product favourite. Tech: React, firebase, firestore, firebase hosting, Auth0, Nestjs, Postmark, GCP, GitHub actions.
  8. In house products: add products managed fully from the store. This includes adding a payment system (Stripe) and emails when order is successful. Tech: React, firebase, firestore, firebase hosting, Auth0, Nestjs, Postmark, Stripe, GCP, GitHub actions.
  9. Server Side Rendering (SSR): in order to improve the user experience and SEO in this step nextjs will be added. The hosting will be updated from firebase hosting to Google Cloud Run. Tech: React, Nextjs, firebase, firestore, firebase hosting, Auth0, Nestjs, Postmark, Stripe, GCP, GitHub actions.
  10. Internal Database: migrating from firebase to mongodb. Tech: React, Nextjs, firebase, firestore, firebase hosting, Auth0, Nestjs, Postmark, Stripe, GCP, GitHub actions.

This is the 10 step plan that I think will present lots of challenges and fun. If will probably change during the process as I will know things that currently are unknowns.

My aim is to post monthly updates with the progress.

Progress Journal:

  1. Setting up the foundations — Handstandclub [Step 1]
  2. Serverless — Handstandclub [Step 2]
  3. Auth — Handstandclub [Step 3]
  4. Dashboard — Handstandclub[Step 4]

If you have any ideas or suggestions please get in touch :)

That’s all folks!!

--

--

Alamillo

Fintech & Blockchain RocknRolla! If you want to go quickly, go alone. If you want to go far, go together. #entrepreneurship #fintech #blockchain