How to Apply to a Company
Job hunting can often feel overwhelming, especially if you're just starting out or trying to make a significant career move. Over the years, I’ve learned a lot about what works—and what doesn’t—when applying for jobs, both as an applicant and a recruiter.
In this post, I’ll share a step-by-step guide to help you navigate the process, from building a standout resume to preparing for interviews and handling job offers. Whether you’re a fresh graduate or someone looking to refine their approach, these tips are designed to make your journey smoother and more successful.
It’s a detailed post, but I promise it’s worth your time. Let’s dive in!
Step 0: Introductory Tasks
- Create a GitHub account if you don’t already have one (hopefully, everyone here does).
- Add a profile README like Tahmeed Vaiya’s GitHub.
- Upload your important projects to GitHub if you haven’t yet.
- Write a README for each repository. Most recruiters won’t run your code, so it’s better to include some kind of demo for your projects. This could be: Live websites, YouTube videos, Figma mockups, Screenshots
- Build a simple personal website if you have time.
Include details such as your achievements, education, experience, and other key information. The purpose of this website is to serve as an extension of your resume. Recruiters interested in knowing more about you might check out your website or GitHub.
- Create a LinkedIn account if you haven’t already.
Try to keep it updated for at least the first 1–2 years of your professional life—you’ll thank me later!
Step 1: Finding a company
If the company visits BUET for a recruitment, then this is done.
Otherwise, look for companies with open roles on LinkedIn. Almost all companies have a career page in their website. Go visit them time to time.
Networking is the key. It is better to keep communication with your seniors to know when they have open roles. Many companies fill their vacancy through internal referral.
Step 2: Finding the right role
Identify the role that best matches your skills and interests. Carefully review the job description and assess their requirements. If you meet most of the requirements, you’re good to go.
If you’re short on the minimum years of experience by 1–2 years, don’t worry—your time at BUET counts as relevant experience. It’s okay to miss a few of the preferred requirements as long as you meet the critical ones.
Step 3: Background check
Try to connect with someone from the company, ideally someone working in the role you’re applying for. Learn as much as you can about:
- The role
- The company culture
- The team you’ll potentially be working with.
Remember, knowing is half the battle—this will help you confirm if the role is truly the right fit for you.
Step 4: Resume preparation
If I recall correctly, I’ve shared tips on resume building before. Regardless, here’s a comprehensive guide:
Use a Template
Avoid creating a resume from scratch; instead, use a tested template to save time and ensure quality. You can find excellent LaTeX templates like this one: GitHub: arasgungore-CV. For writing tips, refer to Indeed’s Guide on Technical Resumes.
Keep It Concise
Your resume shouldn’t be too long or too short—ideally, stick to one page. Avoid adding unnecessary details, like images.
Key Sections to Include
A good resume typically includes:
- Personal Information (Name, contact info, GitHub/LinkedIn links)
- Experience
- Achievements
- Projects
- Skills
- Education
- Thesis (optional)
- Short Introduction (optional) Customize the order and skip sections if they aren’t relevant.
Write Quantifiable Job Experience
Highlight what you accomplished and its impact. Use a structure like: “Achieved X by doing Y, which resulted in Z% improvement.”
Tailor your experience to align with the job requirements for each application. Example: Modify unrelated experiences to better match the role's responsibilities.
Avoid adding irrelevant experiences unless you can frame them appropriately. For example: An experience in coaching can be presented positively if it demonstrates leadership or problem-solving skills.
Showcase Projects Effectively
Include at least three projects if you have no job experience. If you do have experience, include two significant projects to make room for your work history.
Focus on:
- Problems solved or functionalities provided by the project.
- Tech stacks used, written concisely next to the project name (e.g., Project Name [React, Spring Boot]).
- Link to GitHub repositories and ensure your projects have well-written READMEs.
Highlight Achievements
When listing achievements, add context: If you ranked 5th, specify: “Ranked 5th out of 200 teams.”
Percentiles are also impressive, e.g., “Ranked in the top 2% globally.”
Review and Validate Your Resume
Ask seniors or professionals (ideally someone from the company you’re applying to) to validate your resume. Remember, a great resume takes time to refine—it’s a process that evolves over a year or more.
Additional Tips
Avoid generic statements like:
“I use React for frontend and Spring Boot with Hibernate for backend.” Instead, concisely include the stack next to your project title.
Recruiters often spend less than a minute reviewing resumes, so focus on clarity and impact.
Step 5: Preparing for the interviews
The interview process often consists of several stages including automated psychometric test, coding round, technical test and live interviews which also has coding, technical and behavioral round.
To prepare for coding rounds practice in leetcode. Try to solve all of the leetcode 150 problems even if they seem easy. Also see how others solve those problems. To prepare for technical round revise topics like OOP, DSA, Database, OS, Networking. System design related topic are a bit rare for freshers.
Again, contact your seniors to learn more about the stages and question patterns.
I actually compiled questions that we faced during our placement for juniors. Later others started contributing too. I will highly recommend to go through the site. It is my final gift to you. You can find the site link at https://github.com/TamimEhsan/interview-questions-bangladesh.
Step 6: Final stage
If you’re fortunate enough to secure multiple job offers, consider the following factors to make an informed decision: Salary and benefits, Location and commute. For example, I personally prefer a lower-paying job with an easier commute over a higher-paying one with a stressful commute.
Most of the time you don’t need to negotiate your salary. However, it’s important to have realistic expectations and be prepared to justify them with valid reasons. Discuss your benefits, leaves, salary structure, bonuses, performace evaluation before you join any company. Remember, no company can force you to sign papers which prohibits you to stay for a x amount of time.
Step 7: What if Things Don’t Work Out
At first majority of you won’t get any placements right away. It will be even more frustrating when you will see that some of you are getting selected in multiple places. Do not create any conflicts for that. Avoid conflicts over this—it’s normal for candidates to choose what’s best for them. Once they make their choice, vacancies will open up for the next set of applicants.
Don’t lose hope if you don’t find a job immediately. No one in BUET CSE remains unemployed for more than 3 months.
If you’re still struggling reach out to your seniors for advice. Discuss areas where you might be lacking and identify ways to improve. Remember, you can always work on yourself and develop for the better.
Final Note
Best of luck to all of you! If you need help, don’t hesitate to reach out. Take care.