13 different things that you can learn today if you want to be a tech entrepreneur or a better engineer to make an application and ship it to your customers!
Read this if you are:
If you are a beginner, this blog is the right thing to follow to get a direction to go into.
Its 2020! 🤯
You should be knowing these 13 things, no matter what position you are working on. Even if you are a fresher or a VP of Engineering in some company or looking forward to start your own company, these 13 things should form a part of your skill-set, especially, if you are looking to launch something on the web and expecting some income out of it.
I learnt all these things from my personal experience while developing intervue.io 😎
intervue.io is an easier way to take tech interviews remotely with collaborative code editor and audio/video calling integrated in the browser itself. It supports 25+ programming languages and gives a curated question bank/home assignments that can be given to the candidate to test his knowledge in a practical way.
Ok! Enough of my marketing 😛
Let’s see “The Thirteen”!
What you will learn:
React, redux, node and typescript for writing frontend codeMaking a responsive UI
Tech Stack Used
Use React for renderingRedux for storing the Todos and managing a store to store data on the UITypescript for strict typing (optional)Node for server side rendering (will help in SEO as well)
What you should do:
The app should be able to:
Upcoming post (coming soon) ⌛:
How I used React, Redux, Typescript and Node to make intervue.io
Till then learn the basics & follow me for more updates!
What you will learn
Tech Stack Used
Google page speed insights now runs on Lighthouse V6:
Lighthousev6 scoring calculator
According to the updated calculator, you should:
Upcoming post (coming soon) ⌛:
How I used AWS Cloudfront and S3 for optimizing Frontend performance for intervue.io
Till then learn the basics & follow me for more updates!
What you will learn
Tech Stack Used
What you should do
Upcoming post (coming soon) ⌛:
How I used Node Express to make backend microservice for intervue.io
Till then learn the basics & follow me for more updates!
What you will learn
Tech Stack Used
What you should do
Upcoming post (coming soon) ⌛:
How I used Nginx to do routing of Frontend, Backend and other micro-services for intervue.io
Till then learn the basics & follow me for more updates!
Now your application is running on local. Time to bundle it so it can be shipped
What you will learn
What you should do
Upcoming post (coming soon) ⌛:
How I used Docker to package intervue.io
Till then learn the basics & follow me for more updates!
Now we are done with packaging our Todo application as well, let us now make a CI/CD pipeline to deploy our project to AWS.
What you will learn
Upcoming post (coming soon) ⌛:
How I used Jenkins CI/CD and Kubernetes to automate deployments for intervue.io
Till then learn the basics & follow me for more updates!
Let us bring in Kubernetes and understand pods, services and deployments and how docker images can be used for deployments here.
What you will learn
Kubernetes on AWS to make a cluster (master is managed by AWS K8s services only. Hence it comes at a cost)
Tech Stack Used
<span id="1324" class="cs ka kb bi sn b ca so sp r sq" data-selectable-paragraph="" style="box-sizing: inherit; font-weight: 400; display: block; font-style: normal; font-size: 16px; color: rgb(41, 41, 41); line-height: 1.18; letter-spacing: -0.022em; font-family: Menlo, Monaco, "Courier New", Courier, monospace; margin-top: -0.09em; margin-bottom: -0.09em; white-space: pre-wrap;"><strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">apiVersion</strong>: apps/v1<br style="box-sizing: inherit;"><strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">kind</strong>: Deployment<br style="box-sizing: inherit;"><strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">metadata</strong>:<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">name</strong>: nginx-deployment<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">labels</strong>:<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">app</strong>: nginx<br style="box-sizing: inherit;"><strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">spec</strong>:<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">replicas</strong>: 3<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">selector</strong>:<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">matchLabels</strong>:<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">app</strong>: nginx<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">template</strong>:<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">metadata</strong>:<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">labels</strong>:<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">app</strong>: nginx<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">spec</strong>:<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">containers</strong>:<br style="box-sizing: inherit;"> - <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">name</strong>: nginx<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">image</strong>: nginx:1.14.2<br style="box-sizing: inherit;"> <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">ports</strong>:<br style="box-sizing: inherit;"> - <strong class="sn mg" style="box-sizing: inherit; font-weight: 700; font-family: Menlo, Monaco, "Courier New", Courier, monospace;">containerPort</strong>: 80</span>
What you should do
Upcoming post (coming soon) ⌛:
How I used Jenkins CI/CD and Kubernetes to automate deployments for intervue.io
Till then learn the basics & follow me for more updates!
What you will learn
Tech Stack Used
What you should do
Upcoming post (coming soon) ⌛:
How I used Jenkins CI/CD and Kubernetes to automate deployments for intervue.io
Till then learn the basics & follow me for more updates!
What you will learn
Your Todo Application will now open on a domain, fetch assets from CDN and hit backend via nginx to get data from postgres
Tech Stack Used
What you should do
Upcoming post (coming soon) ⌛:
How I setup Route53 for intervue.io
Till then learn the basics & follow me for more updates!
Sentry is used to track run-time performance and tracking if your users encounter Javascript errors. He can open your application in different browsers/devices and may encounter errors that you might not have encountered.
What you will learn
Logging of runtime javascript error and debugging it
Tech Stack Used
What you should do
Upcoming post (coming soon) ⌛:
How I sentry for intervue.io
Till then learn the basics & follow me for more updates!
What you will learn
Tech Stack Used
What you should do
Upcoming post (coming soon) ⌛:
How I setup logging with Kibana for intervue.io
Till then learn the basics & follow me for more updates!
What you will learn
Tech Stack Used
What you should do
Upcoming post (coming soon) ⌛:
How I setup GA/GTM with Kibana for intervue.io
Till then learn the basics & follow me for more updates!
What you will learn
Tech Stack Used
What you should do
Active AWS Simple Email Service
Setup Sendy with AWS SES to send newletters to your subscribers
Setup mixmax with your gmail account (A particular plan of mixmax allows you to schedule follow-ups)
Upcoming post (coming soon) ⌛:
Setting up newsletter service and automated follow-ups for intervue.io
Till then learn the basics & follow me for more updates!
In this article I have discussed 13 things that you should know, each focusing on a different aspect of product development. Now the choice is all yours:
Do you want to focus on something you already know and go a little bit here and there to get your product out in the market?
Or, do you want to strengthen your skills by doing a project for a technology you already have some knowledge in?
Or, will you rely on your favourite framework/library and do all the projects in 2020 with it?
Feel free to leave a comment and don’t forget to follow me for more upcoming posts!