So you put enough effort to learn a tech stack, did enough leetcode, cleared interviews, and finally got your first job as a software engineer. Now, what?
Well, I am gonna tell you, from my own experience what you should be prepared to do for the first month on the job.
Code like you have not seen before.
If you are a beginner, who just got started then, the production-ready code is going to blow your mind away. It is given. No matter how much you have coded on interviews or what type of projects you have worked on personally.
The thing is the Initial code structure, like how the server will be created, how modules, will be written, how errors will be handled, and how validations will be done. Things like this are decided by a senior software engineer.
Who usually have a lot of experience than you. Their code is going to be precise, well-structured, a lot cleaner, and a little complex for you to grasp right away. Maybe some parts of the code would even be too complex to understand as a beginner. Believe me, as a beginner you’ll spend weeks to either understand the code flow or learn the code structure.
Learning everything from beginning
If you are a beginner in Coding, the chances are that you learned the MERN stack. Simple, MongoDB, React, express, and Node.js and you used javascript as your base language.
The very first thing that you’ll do in this scenario is learning typescript. Javascript is a dynamically typed language, when writing production code it’s better to do type-checking before running the code.
Most of the developers that I Know, who learned Mern Stack, had to learn typescript within the first week of their job.
The same is for react, although it’s pretty powerful and fast, at the end of the day it’s just a library dedicated only to rendering UI. When you are building a Real-world app, there could be a lot of things that react won’t solve for you. that’s why frameworks, such as Angular or Next.js exists.
For the Backend, You’ll have to learn Postgres or Sequelize, cause if it’s an MNC, they won’t really be using MongoDB. you know cause the code for that project could be years old. Even if you are working in a startup, simple express.js won’t cut it.
When I got my first job, I had to pretty much learn a new tech stack, which includes things like TypeScript, Nestjs, PostgreSQL, Sequelize, and Swagger and I am still learning new things pretty much every day.
Be prepared to feel dumb
As a beginner you are going to see errors, you have not encountered before. you’ll search for the solutions. Which won’t work every time.
You’ll spend hours fixing that broken code. Then you give up and ask someone senior. He’ll take a look at the error and tell you to go to this directory, change this promise to null, or void, and the code will work.
You’ll do this and the code will work. At times like this, you’ll feel dumb. Believe me, there’s no way around it.
Reading More than you Code
When you start your job, most of your time goes into reading the code. And understanding how things work. This includes reading a lot of documentation.
There are many packages that your package is using, you need to be familiar with them, so reading documentation and watching youtube videos for that package is very important.
When I first started working on a project, I had to go through a lot of documentation. that included documentation on how to do documentation.
Getting used to systems you have not worked with before.
As far as I remember, I have only worked with windows laptops. But on the job, when your company gives you a work laptop, they could have operating systems like Mac or Linux.
Getting used to it right away is not easy. I got a laptop with Ubuntu 22.04. It took me over a day just to install all the necessary things to get started working. The second time when I did all this, it took me only 1 hour.
Be ready to do things that make you uncomfortable
Good managers and companies try to give you much exposure as possible when you are a beginner.
This includes doing things, which you are not so comfortable doing. Like writing an entire module, Or making Er-diagrams for the latest project. It could be anything like writing or running a migration file or seeder files. Writing HTML-CSS code as a backend developer or writing good commit messages. For some, it’s attending meetings.
The point is it could be a major thing or a minor thing, that makes you uncomfortable. But you need to be ready to do it all while on the job.
Learning to use your free time efficiently.
If you are a fresher who just got his first job remote. Then there’s no easy way to say this but you’ll have a lot of free time.
Unless you are working on 2–3 projects simultaneously. But that’s not going to happen for you, especially if you are fresher.
The task that is assigned to software engineers is not as much time-consuming as the time given to complete them. All the software engineers that I know are working remotely has a lot of time on their hand.
I am working remotely, and after completing my tasks and attending all the meetings, I still have a lot of time. So unless you are maintaining the whole project by yourself. you’ll have free time on your hands, and you need to learn to use it better.
You can always watch reels ( If that’s what you want )
Conclusion
As a new engineer on the job, the first 30 days are going to teach you way more than you ever learned during your preparation for the job. It is truly the time to learn, which is a little overwhelming but a necessary evil.