Now, the headline of this article is vague, and for a fresher, it is very important to get the job first. I can understand the state of mind in that position. By observing many freshers and through my own experience, I have learned a lot. I am not trying to demean any of the companies where I have worked in the past; however, I cannot deny the fact that I have learned more in "startups."
I have started my career more than a decade ago with a Tech support profile, where my responsibility was to handle basic technical queries or initial basic level of troubleshooting. I have spent lot of time there as I was not from a technical background or academics and there, is the journey begins learning in the hard way.
The Beginning
I was very happy when I got the job role of "Technical Support Associate" in a very good, big firm. But after that, I found the work I was doing was monotonous, and because it was repetitive, I became a pro at it and got a promotion. Then, the change in my work involved doing the same thing while helping junior colleagues. I found out who the people I was helping were, how they were associated with the company, and what role they had in the company. Sometimes I assisted developers and engineering teams as an admin, and whenever I took a screen share session, I saw code snippets that looked amazing. During lunch breaks, I talked to my coworkers about how the person I helped today was working on some code, and I had seen some bits of it, like a kid who had seen a spaceship and was telling his friends about it, even though he knew nothing about it.
By the time I used to get more responsibilities like understanding the overview of networking, servers, databases monitoring it was like overwhelming to me at that point, however I got to know these are the thing which actually make the real IT environment.
Decision
Till this time, I had no clue what I was doing. I was just fascinated with the advanced technology and terms that sounded so cool. With that, I decided to get out of the support role and be part of some core technical teams. I started dreaming and manifesting that I was in it. However, that is not enough; you actually have to go through the concepts and a lot of learning with complete focus. You need some guidance, a path, or someone who is actually in the place you dream of. I made a decision and started learning Cloud (AWS) with no goals; it was like just studying, but I didn't know why. Finally, I got a mentor who guided me in the right direction with some set goals, and trust me, during this learning session, I landed a good role in the existing company.
Journey
Till now, during these years, I got to know networking, servers, monitoring, and some parts of security. However, you must have noticed that it took me a good amount of years to become familiar, learn, and execute. If you start with any good startup in a software engineer or DevOps role, you will get exposure to learn almost everything.
Conclusion
Yet to discover the conclusion, I believe there is always a chance to do it better, for example, this article :)
An engineer should have the attitude of continuously learning and practicing. Explore the things you hear from your mentor and be part of someone's success, whether it is a business or an individual. Cheers!!