How to Start Your First Job in the Software Industry?
Video: https://softuni.org/dev-talks/starting-your-first-job-in-the-software-industry
Blog: https://nakov.com/blog/2022/03/19/how-to-start-your-first-developer-job-guideline
In this video lesson, the speaker Dr. Svetlin Nakov explains following topics about preparing and starting your first developer job:
➡ Steps to Start a Developer Job
➡ Defining Your Career Goals
➡ Learn the Software Engineering Profession
➡ Prove Your Experience
➡ Your GitHub Portfolio: Tips and Tricks
➡ Find Junior Tech Job Positions
➡ Prepare to Apply for a Dev Job
➡ The Job Application
➡ The Job Interview
Starting Your First Job in the Software Industry: Tips and Tricks from Nakov
1. Dev Talks
Starting Your First
Job in the Software
Industry
Tips and Tricks
from Nakov
Svetlin Nakov, PhD
https://softuni.org
2. Svetlin Nakov, PhD
Co-founder of SoftUni
https://softuni.org
👉 Software engineer, tech trainer, entrepreneur,
inspirer, PhD, author of 15+ technical books
👉 3 successful tech educational
initiatives (300K students)
👉 Helped 100K beginner developers to learn
programming and start a tech job
3. ▪ Goals: decide what profession to learn
▪ Learn: learn coding and software technologies
▪ Portfolio: build a portfolio of projects in GitHub
▪ Positions: find junior job positions to apply
▪ Prepare: add skills to match the job requirements
▪ Apply: prepare and send job application (CV + cover letter)
▪ Interview: prepare for a technical job interview
▪ Survive: make your best to survive the trial period
Steps to Start a Developer Job
3
5. ▪ Learn about the most wanted tech professions
▪ Java dev, JS dev, Python dev, C# dev, QA, front-end dev, etc.
▪ Research the job market, talks with friends and experts
▪ Play with different languages and technologies
▪ Follow tutorials, run examples, watch videos
▪ What is exciting and motivational for you?
▪ Important: what the market needs?
▪ For example: Java is more in demand than PHP
Defining Your Career Goals
8. ▪ Learn coding, algorithmic thinking, development concepts,
software development, platforms, frameworks, tools
▪ How to learn software development?
▪ Many sources: tutorials, books, video courses, code camps
▪ Practice, practice, practice! Learn by doing!
▪ Hands-on exercises, live tutorials, hands-on projects
▪ How long does it take to learn software development?
▪ 2-3 years @ part-time (or 6-12 months @ 12 hours / day)
Educate Yourself: Develop Skills
9. ▪ To learn programming, you need to write code!
▪ Watching videos gives you only knowledge
▪ Solving hands-on exercises, following tutorials, developing
practical projects gives you experience and practical skills
Learn by Doing
2000-3000 hours of practice is
enough for a junior dev job
12. ▪ Job ads always require experience
▪ Typically, 1-2 years of experience for junior developer
▪ How to prove your developer experience?
▪ Project portfolio with commit history proves experience
▪ Example (starter): https://github.com/yavorhr
▪ Example (more advanced): https://github.com/kalintsenkov
Prove Your Experience!
Build your portfolio in GitHub!
13. ▪ Start building your GitHub profile as early as possible!
▪ Constantly commit and push your daily work
▪ Commit often → demonstrate that you write code
▪ Document well your projects
▪ Describe project goals, technologies, architecture, APIs, etc.
▪ Example: https://github.com/nakov/ContactBook
▪ Deploy your projects as 1-click showcase:
▪ Example: https://replit.com/@nakov/contactbook
GitHub Portfolio: Tips and Tricks
16. ▪ Find junior jobs, which match your skills
▪ Job portals: search for your skills + "junior" or "intern"
▪ Ask friends, colleagues, social networks
▪ Create a good LinkedIn profile
▪ Education, projects, certificates, etc.
▪ Ask for endorsements
▪ Check your university's career center
Finding Job Positions
18. ▪ Analyze the job market for junior positions
▪ What skills employers require, and you don't have them?
▪ What skills are required everywhere in junior dev job ads?
▪ Examples: coding, Git, OOP, databases, Web technologies, …
▪ Analyze each specific job position you want to apply for
▪ What is missing in your skillset?
▪ How can you add skills to match the requirements?
▪ Watch a video, follow a tutorial, create a project, etc.
Add Skills to Match the Market Needs
20. ▪ Java ➜ I have a solid coding portfolio:
https://github.com/kristian9577/Java-OOP
▪ Spring ➜ I have a solid practical project with Spring:
https://github.com/kristian9577/Spring-Project
▪ Mockito ➜ I don't know this ➜ learn and add it to the portfolio
▪ Learn it ➜ https://google.com/search?q=mockito+tutorial
▪ Play with it ➜ create a Mockito project in GitHub for your portfolio
▪ Docker ➜ I don't know it, but many companies want it
▪ Learn Docker and add it in your GitHub portfolio
Example: Matching the Requirements
22. ▪ A strong job application for a tech position should consist of:
▪ Email / application message
▪ Dear HR Manager, I would like to apply for [position] …
▪ Portfolio of projects
▪ My portfolio of projects are: [GitHub link]
▪ Resume (CV)
▪ My resume is attached / available online at …
▪ Cover letter (CL):
▪ I am the right candidate for this position, because …
Job Application
23. ▪ Job applications should be prepared carefully!
▪ Should be individual, for the specific position
▪ Never copy / paste your cover letter or application message!
▪ Slightly adjust your CV to match the target position
▪ Always write your cover letter from scratch for each position
▪ Writing a technical CV and cover letter guidelines:
▪ https://google.com/search?q=writing+a+technical+cv
▪ https://google.com/search?q=writing+tech+cover+letter
Apply for the Job Carefully!
25. ▪ 95% of the candidates are not invited to an interview!
▪ Focus on preparation: study hard, build an impressive
portfolio, select job positions and apply carefully!
▪ In case you are invited to an interview, prepare yourself:
▪ Research the company: learn as much as possible
▪ Research the technologies from the job advertisement
▪ Prepare for typical questions:
https://google.com/search?q=tech+interview+questions
The Job Interview
27. ▪ …
▪ …
▪ …
Next Steps
▪ Join the SoftUni "Learn To Code" Community
▪ Access the Free Dev Lessons
▪ Get help from the Mentors
▪ Meet the Other Learners
https://softuni.org