Starting as a tech support associate to becoming a full-stack web developer, this is my journey into tech. I currently work with technologies/frameworks like Angular, NodeJs & TypeScript.
Learning to code has changed my life. I'm really proud of myself and the state I'm in right now. I feel empowered. And being a self-taught developer, I can say that it can change your life too.
Studies
Photo by Philippe Bout
Timeline: 2012 - 2016
I did my Engineering in Electronics and Communications. It was in my 3rd year, I really got interested in robotics. There was a workshop on building things with Arduino which triggered something in me.
I got myself an Arduino and started learning to code. I created multiple small projects like Smartphone controlled robocar, and a full home automation system with the support of gestures and voice control. Went on to win a few prizes at the college and national levels.
The thing I noticed is that, even while I was working on all these projects, it was the software side of it that excited me and I knew that I would be better off working with code.
I along with a few of my friends applied for startup incubation at our University to create a company called MakeLabs. We used to build projects for other students and also did R&D on so many interesting ideas.
Change of Plans
Timeline: 2016
After I did my bachelor's, I decided to go for my master's. It was not my plan, my family persuaded me into making this decision. So when I say family, it's not always my mom and dad, but other relatives because mom and dad had always been supportive.
I had two small offers as part of the Campus placements which I rejected because of the Master's plan.
Things went wrong just before a week of my Master's classes started. A bunch of us (Roll numbers 1 to 14) got a back paper in the 7th semester. I still wonder why all 14 of us failed at the same time.
But since I had grace marks as part of the entrepreneurship program. But luckily, my Master's admission got canceled due to the back-paper even though I cleared it thanks to the grace marks.
It was a relief for me to know that I won't be doing something I didn't like. And I think one of the best things happened to me because I really love what I do now.
Getting into tech support
Photo by Petr Macháček
Timeline: 2017
So now since life took a different turn, I was put in a situation with no job and not knowing what to do next.
I struggled for nearly a year to get a job in the software domain. It was very hard during that time to get calls for interviews and most of them really didn't hire freshers. For most of the jobs that I interviewed for I got a really low package.
I came to Bangalore and started looking for a software developer role. I also wanted to do something till I could find a job. That is when one day, one of my friends was going for an interview for a tech support role. I just tagged along. I who went with him just for giving him company ended up giving an interview and getting the job as well.
The job wasn't exciting and I knew that its not for me. But I had to work so that I can pay my bills without having to trouble my parents.
Blogging about computers and smartphones
The one thing that I did during that time is writing blogs, mainly about computer tips and tricks.
You can see that latest iteration of the blog here at sreyaj.com. Before that I use to own other domains.
I wrote a lot of detailed articles about things related to computers that I encountered or I found will be useful to others. I even had AdSense enabled after some time and used to get very small amounts as ad revenue.
I used WordPress for the blogs and also learned a little bit of PhP, just enough to be able to tweak themes and create small applications at that time.
I could really use some money to pay for rent and food. I ended up working there for almost 6 months. I used to work on my blog and also learn HTML, and CSS to make the blog look good. WordPress had limitations in what can be done.
We are limited by the design of the theme that we use. I am really picky about the design of the blog and that's what pushed me to learn HTML, CSS, and JavaScript.
While working in the Tech support role, I spent a lot of time doing UI changes to my blog. I spent more time learning how HTML, CSS, and JavaScript, all to make my blog look better.
I also did some logo designing and website development for my friends and family at that time. I really enjoyed creating designs.
I later started creating small web applications using PhP like Instagram Photo and Video downloader and a few others which could be a nice addition to the blog.
I was pretty successful in creating a blog that generated a good amount of views and so made a few dollars from it. But the interest in writing articles related to computer tips and tricks slowly faded as I got my first job as a Software Developer.
First job as a Software Engineer
Photo by John Schnobrich
Timeline: Nov 2018
While being in the tech support role, I was pulled into the job completely and I thought I'll be stuck there If I don't do something. That's when I started to apply for software jobs, mainly web development. Got a couple of offers, but the pay was way lesser than what I got from the tech support job.
I was pretty confident that once I get a chance, I can prove myself and go from there. But getting that initial break was a real struggle for me.
One fine afternoon, I got a call from an HR who asked me If I could go in for an interview. I was having an off that day and so I decided to go. Went there and gave the interview. I was able to show my blogs and a few smaller projects that I built during that time.
The company asked me to go to their office for 2 days where they would evaluate me and then offer a job. I was given the task of redoing the company website using Angular. That is the first time I came to know about Angular and what Single Page Applications are.
I was able to complete the task given by the company before the given time and was offered a job with less salary than what I was getting in my tech support role. I decided to just take the job eventually. The pay was just around 12,000 INR or ~150 USD per month.
I undervalued myself because my confidence level went down because of all that happened after college and I was jobless for more than a year.
Angular and Me
Angular version 7 just got released at the time I joined for my first-ever software role.
Angular opened up a whole lot of opportunities for me. I never knew frameworks like these existed and you can build impactful products with them. I realized how powerful the whole web ecosystem was. I was just working with WordPress and had a narrow vision of the web before. But that got changed when I was introduced to Angular.
I started reading the docs and also started going through the Udemy course by Max. I started off with the Udemy course at first, but the pace didn't work well for me. I switched to the official documentation and relied more on blogs.
If someone has told me about Angular or the exciting world of web applications before, I would've been in a far better place by now.
I started out with Angular 7 in the company and I was the only front-end developer. I learned everything on my own. Self-learning helped me in many ways. Whenever I come across a new pattern or feature, I try to read more about it and also practice it in a sandbox. I believe in learning by doing.
I was able to pick up things faster and I started working on NodeJS as well after a short while. Since it's a startup and when you don't have a lot of people, you do a lot of things. I really liked having that flexibility and control.
Also having a manager who really knows all the best practices when it comes to architecting software really came as a blessing. I was able to learn a lot from him. I'm grateful for having a mentor like him during the start itself.
Learn to say NO
Worked really hard for almost 2 years. I spent a lot of time at the office working really hard and learning as much as I can. Even spent almost 12 hours in the office for a month straight. I didn't complain as I was learning something every day. I realize it's a mistake that I did because I didn't know to say "No".
Saying NO was and is very hard for me. I am still trying to do this. It's really important for someone to say no to things at times. Otherwise, you'll just end up doing more work without much to gain.
I really am grateful to my first company for believing in me and giving me that opportunity. I was able to work on multiple projects and also lay the foundation for many projects which really helped me learn a lot.
From there I focused on getting more and more knowledge in Angular and NodeJs. I started feeling more confident about what I can do. I started experimenting and working on small side projects to further solidify my learnings.
Another thing that I loved doing is sharing my knowledge with my peers as well. Whenever I come across something interesting, I ping them and let them know about it.
Being part of the community
Photo by John Cameron
The one thing that I really enjoyed is sharing knowledge and that is what brought me into a lot of communities. Twitter was really one of the best places for sharing and networking with a lot of developers.
Twitter had a lot of awesome Angular developers who share good stuff all the time. I followed any Angular developer I could on Twitter at that time. Once I really got a good grasp of Angular and Web development in general, I shifted to writing blogs focusing on web development mainly using Angular.
I got a chance to sync with a lot of great people on Twitter like Santosh, Chau, Trung, Bram, and many more.
Another community that I wanted to give a shout-out to is Angular Nation which is a really nice community of people who loves Angular. I didn't know that such a community existed before I got an invitation from Connie to join Angular Nation.
I met a lot of cool folks there and also had a chance to interact with Bonnie Brennan. She gave me a lot of support and motivation. I went on to give multiple talks on different channels in Angular Nation. There are a lot of people that I interacted with in Angular Nation like Sander, Stephen, Rob, Ankita, Valentine, Oyemade, Debmallya, etc.
I am also thankful to all of my supporters on Buymeacoffee for their support.
Blogs on web development
Covid really changed a lot of things for me. Working from home gave me a lot of time that I can use to invest in learning more advanced topics and also blog about my learnings. This definitely has been a turning point for me.
I put my old blog into maintenance mode and started writing blogs related to web development.
You can find my blogs here:
I realized that I learned and researched more while I write blog posts. I was not just helping others by sharing these articles but was helping myself by researching a lot about topics I write about. So If you are someone who likes to learn and if you want to learn better, I would suggest documenting them as blog posts.
I mostly consider my blogs as documentation that I can go back and refer to just in case. I became a contributor to the Official Angular Org on dev.to as well, Thanks to Wassim Chegham.
Projects & Wins
Photo by Sean Lim
I also worked on a bunch of side projects, most of them built using Angular and a few with React. When it comes to the back-end frameworks, I started out with ExpressJS and then shifted to NestJs for its similarities with Angular.
Being able to write the back-end and front-end means, I don't want to rely on others If I had an idea in mind. I can execute it on my own.
I've participated in multiple hackathons during Covid times and won two of them.
Hackathons came with cash prizes and swags and on top of that people started recognizing my work which gave a confidence boost and motivation to do more.
I've also built up my portfolio during this time. You can check it out here: adi.so
If you want to have a look at the code, here is the link to the repo:
https://github.com/adisreyaj/portfolio
Check out some of my projects:
Fast forward to 2022
I have started my Angular journey from v7 and now we are at v13. It's been a really good journey so far. The amount of learnings that I accumulated is so much and I'm still learning. That's a really interesting thing about the software domain, you need to be up to date with what's happening. And that is something that I really like about the whole software development field.
Fast forward to 2022, I now work as a Software Engineer at Traceable. I work with a really good team of experienced engineers whom I can learn from. I really got to know how culture makes a really big difference. It's not always about the money. Finding a job where you have peace of mind is really important.
Tech Stack
I primarily work with Angular in my day-to-day job. Since I am working as a UI developer, I don't have to work with back-end technologies or databases in general. But since I do work on side projects and do like having control over both front-end and back-end, I keep myself up to date with back-end and database technologies as well.
I really like TypeScript and use it in every project that I start. So whether it's back-end or front-end, TS is my go-to.
Front-end technologies
Apart from Angular, I've learned React. Haven't really gotten a chance to learn Vue or other newer frameworks. I like Angular more because it's opinionated and is more comfortable working with it.
I'm not saying React is bad, I enjoy working in React as well. Especially when working on smaller projects, React makes it really easy to get-go. One thing I didn't like much in React was how we have to set up routing. But with Next.js, I don't have any complaints about routing anymore.
I really like working with Next.js because it has a really good Dx.
For styling, I used SCSS a lot, and lately, it's Tailwind CSS all the way. I just love it so much. I can write styes and iterate over them very fast.
For state management in Angular, I use NGXS and Ngrx Component store.
Back-end technologies
Since I only know JavaScript, Node.js is the way to go. I started off with Express.js and then later started using Nest.js because of its similarities with Angular. There is no context switching required when writing the back-end as both Angular and Nest.js shares a lot of concepts.
I am leaning towards learning Fastify these days for its simplicity.
The majority of my back-ends are all Restful APIs, but recently started using GraphQL and really love how good it is. I'll probably stick with GQL for my future projects.
When it comes to databases, I prefer MongoDB, Postgres, or MySQL. Since I am not that well versed with SQL, I always use an ORM like Prisma which has served me well so far. For Mongo, the obvious choice is mongoose for me. It just works.
For deployments, I use a simple Ubuntu based instance from OVH and run a container in it, connect to domains using Nginx and Let's Encrypt for SSL and that's pretty much it.
I use Nx for all of my projects as it makes it so easier to work on both the front-end and back-end with ease. They take care of all the tooling while we can concentrate on getting the things done.
Going forward
I aspire of being a GDE in Angular at some point in time. I want to continue writing more blogs and sharing my knowledge.
I am also thankful to a whole bunch of people from the Angular community that helped me reach where I am today.
Finally special thanks to all who have supported me on buymeacoffee:
- Saurabh Gangamwar
- Amal GTA
- Haroon Ansari
- Santosh Yadav
- Sampson Orson Jackson
- Joseph Raj
- Bram Borggreve
- Hashnode
Feel free to reach out to me if you want to chat about something or if you just want to say hi.
Top comments (0)