Are you a recent graduate or about to graduate? How can you apply for a job or training in programming companies?

  1. Get to know and confirm your abilities and find out what subject interests you the most and aligns with your personality in your studies and specialization. Programming, system analysis, project management, server and network management, software quality assurance, or customer communication, or in the education and training sector.
  2. Search in search engines for lists of programming companies in your country or the countries where you want to work.
  3. Browse the websites of reputable programming companies. All reputable programming companies have an online presence.
  4. Go to the job opportunities page (Hiring, Jobs, Careers, Internship) for reputable companies (this is a manual task that you must do on your own or with assistance) that catch your attention and look for the link that allows you to view the available positions or training opportunities. For example, Vardot Careers and Employment Opportunities.
  5. Send a message to the HR department of the companies containing your resume and explain that you are ready to learn in the field they have advertised.
  6. Do not go to the company in person and submit a printed resume. This is an outdated practice. Programming companies look for people with current interests and modern approaches to work. Companies that accept printed resumes and hire you are not likely to be experienced in the field of software. Or the company owners themselves may be recent graduates without experience or expertise in software. So, your programming career will start with beginners who don't have experience or high-level skills in handling and managing projects or an interest in employee development.
  7. Contact the companies that have advertised for employees or trainees at the moment, just like you are looking for a job at a job fair. Do not bother them with job requests; just deal with the exhibitions and companies that have announced that they need a junior developer or trainee. It's not advisable, but when you've exhausted all the job opportunities, you can ask companies that don't have openings to keep your resume for future reference.
  8. Don't call or visit the company and ask if they've accepted you or not. Usually, if they are interested in you, they will get in touch with you. But don't insist on frequent communication; it can discourage companies.
  9. You can post your resume on job websites like:
  10. Create an account on LinkedIn (, which is like Facebook for professionals and companies. Through it, you can find all programming companies and the programming languages they require. Add your information, resume, a profile picture, and any relevant experiences or extracurricular activities in your field of study that you worked on during your university years. Microsoft has acquired LinkedIn.
  11. Create an account on GitHub ( and similar websites to learn how to use Git for professional software development. It's like Facebook for professional developers. Register on development and open-source project platforms and collaborate with others in debugging or adding features. Some useful websites include Git, GitHub, GitLab, Bitbucket, and GitBook.
  12. Develop personal software or websites during your job search and waiting period. These could be extensions of projects you started in university. Upload them to GitHub or similar platforms. These projects can be simple games, small company software, or mobile apps that showcase your skills and passion for a specific area.
  13. Take specialized courses in topics you love during your job search and waiting period. Focus on subjects with demand in the job market. If you're unsure about a specific field, consider improving your English language skills, learning an additional language, or developing skills in project management (PMO), operations management (MBA), or communication skills.
  14. Look for advertisements for conferences and seminars hosted by companies or groups of companies on technology solutions. Attend these events and get yourself noticed as an engaged participant.
  15. I don't recommend starting your own company right after graduation or freelancing immediately, as you may encounter various challenges that can last for many years. It's better to join reputable companies with a good reputation, high experience, and a long history to connect with professionals and clients. After 5, 10, or 15 years of working with these companies, you can consider starting your own business or freelancing, or exploring other career paths. For example, some people continue their studies in different fields or start profitable projects and use the experience they gained to help them.
  16. I don't recommend leaving the company that trained you until at least two or three years have passed. The first year is usually for training, the second year is for refining your skills, and the third year is when you can excel in specific positions that match your skills. Changing jobs after just a few months is not advisable. Companies consider it a loss of experience because they calculate months rather than years. However, staying for one year, nine months here, and one year, two months there does not show stability or the ability to handle project tasks or challenges that developers face in delivering high-quality work on time. Also, it may indicate that you are running away from work, dealing with colleagues, or neglecting your responsibilities.
  17. Keep searching for a job or training, even if it's unpaid or low-paid, and don't be lazy. Fill your time and gaps by reviewing topics you love or watching videos related to your field. Reading books is always beneficial, and learning new programming languages, or how to use well-known or new libraries, can make a difference in interviews and tasks. Work hard during your free time and when you feel lazy and want to relax.
  18. A piece of advice: work on something you love because it won't feel like work. If you love playing soccer and play for a club, you can play more, try more, enjoy more, earn more, and have more fun.
  19. Show that you are diligent, even if you are a beginner or don't know as much as experienced programmers. We are in a time when new programming languages emerge every day, as do software libraries and open-source projects. Continuous learning and staying updated are crucial.
The way to get a Job in software