Consider your preferred company size and type. A large tech firm will have multiple managers and teams. A startup may offer the opportunity to work on a wider range of projects than a large company, where you're more likely to specialize.
If you're concerned with earning a certain salary or maintaining work/life balance, consider the industry. Some industries — such as video game development — are notorious for their fast pace and requiring overtime. Others are typically more laid-back.
2. Look in the right places for a remote software engineering job.
Software engineers find job listings on organizations' websites and on employment sites like Glassdoor, Indeed, and SimplyHired. LinkedIn is another resource for job seekers and offers online networking opportunities.
If you know which company or companies you want to work for, it makes sense to go straight to the company's job board. While you're on the site, read up on the company, its histories, and its latest projects. A downside is that you may miss great jobs at other companies.
Job sites (Glassdoor, Indeed, etc.)
Job search sites like Glassdoor, Indeed, Monster, SimplyHired, and ZipRecuiter offer vast numbers of job listings. They also allow you to store your resume for easy application. The vast numbers of applicants for each job may make it hard to stand out.
Job seekers post their profiles and can apply for positions through LinkedIn. They can also follow companies, join alumni and industry groups, set up job alerts, and ask for endorsements from their contacts. Relying solely on LinkedIn can be limiting because not all companies recruit through the platform.
Leveraging and expanding your network
Building a network using social media and LinkedIn, taking advantage of internships and mentoring opportunities, and asking for referrals from co-workers, classmates, and instructors can help launch your career. This takes time and effort but knowing the right person can give you an edge in the job market. Check out our networking tips for further advice.
Attending industry conferences, talks by leaders of companies you admire, alumni events, career fairs, and even coworker parties can lead to meeting people who can help you get hired. Practice a short "elevator pitch" about the job you're seeking and your applicable skills.
3. Maximize the quality of your application and portfolio.
Finding a remote software engineering job requires an attention-grabbing cover letter, resume, and portfolio.
If you're just starting down the road to becoming a software engineer, your bootcamp or software engineering degree program will include portfolio development. Portfolios feature your work on a website or other electronic platform. Include a description of each project, its objective, and how you built and tested the application.
Experienced software engineers can showcase work projects, emphasize problem-solving abilities, and include a professional bio in their portfolios.
Tailor your cover letter for each position to demonstrate you've researched the company. Your software engineer resume should highlight education, relevant work history, certifications earned, programming languages, software proficiencies, and technical skills.
4. Apply to remote software engineering jobs that check your boxes.
When you're ready to start applying, create a checklist of job characteristics that are important to you. Use it to avoid applying for positions that don't meet your needs.
Does the job strike you as interesting and fulfilling?
Does it offer the level of challenge you want?
Do the salary and benefits fall within your desired range?
Will the position allow you to achieve your desired work-life balance?
At the company level, examine:
Does the organization value work-life balance?
Is the organization's mission something you can get on board with?
Is the company culture a good fit?
Other important considerations include opportunities for training, professional development, and career advancement.
Bottom line: Trust your gut. If the job doesn't excite you, look for one that does.
5. Show your expertise, self-awareness, and passion throughout the interview process.
The interview process for a remote software engineering job takes time.
First up may be a screening call from a recruiter, who will ask basic questions about your interest in and qualifications for the job. A second call may come from the hiring manager, who will ask for more details about your skills and allow you to ask questions.
Next, you may interview in person or via video conferencing with your potential supervisors, managers, or even coworkers. Prepare for behavioral interview questions about what you would do in certain situations and culture-fit questions about your desired workplace environment.
You will likely also take a skills assessment test.
One negotiation technique we recommend is using the "Five Ws" popularized by journalists:
Research who you will be negotiating with, e.g., recruiter, hiring manager, or supervisor.
Know what the typical market pay is for your position.
Understand where you will be discussing salary, e.g., face-to-face, on the phone, or via video conference.
When do you start negotiations? After the employer offers a specific number on salary.
Be ready to explain why you deserve the salary you're requesting.
This article was reviewed by Sierra Gawlowski, PE
Sierra Gawlowski, PE, earned her BS in civil engineering and is a licensed professional engineer in the state of Washington. She has worked for a private engineering consulting firm as well as for public agencies. Sierra enjoys mentoring engineering students and junior staff. She also leads a project team for Engineers Without Borders and currently sits on the board of directors for Kilowatts for Humanity.
Gawlowski is a paid member of the Red Ventures Education Integrity Network.