Software impacts nearly all aspects of our lives today. If you woke up to an alarm on your mobile phone, ordered lunch via an app, or used technology to get your work done today, you can thank software developers. If you’re interested in improving your problem-solving and analytical skills to help solve challenges (whether that’s how lunch gets ordered or something bigger, like climate change), software engineering could be the next career for you.
If you are wondering how to land a software engineering job with no experience, you’ve come to the right place. At General Assembly, we help thousands of people change careers and get entry-level jobs in software engineering in months. No four-year computer science degree required. This quick start guide outlines five steps to take to launch your new career in software engineering, regardless of your background.
Why software engineering?
Software engineers are highly paid, enjoy strong job security and work-life balance, and have the opportunity to solve interesting challenges and do meaningful work. As businesses increasingly digitize their operations, sales, and products, software engineers will remain critical to success, ensuring the role remains in high demand far into the future. Nearly every company must think like a software company to compete, and growth for software engineers will be seen across industries including healthcare, retail, finance, government and manufacturing. In fact, the global software market is expected to grow 11% by 2025 from its 2020 value.
As software engineering jobs grow, demand is still outpacing supply and employers are struggling to fill vacant roles. For example, in the US there are thousands of vacant tech jobs across state and federal governments, and in the UK, there are more than 30,000 positions open. Because of this, employers are increasingly willing to hire for skills vs. formal degrees, meaning there’s more opportunity in software engineering than ever before, even if you have zero experience.
Ready to get started? There are five key steps to launching your career in software development with no experience. Let’s dive in.
#1: Figure out what kind of software developer you want to be
There are many different types of software engineers, and throughout your career, you’re likely to dip your toes into several disciplines. While you don’t want to specialize too much in the early days (a well-rounded education is important), knowing where you want to start can help you learn the right technical skills and build a relevant portfolio to help you land your first tech role.
Different software engineering paths you might explore include…
- Front-end developer, developing the experiences that people have when they use an app or website
- Back-end developer, designing systems and technical infrastructure.
- Full-stack developer, who does it all (front-end and back-end work) and has the skills to create entire apps and websites.
- DevOps engineer, who works with operations and development teams to improve how products are developed, such as by optimizing cloud storage applications.
- Quality assurance engineer, who writes programs that test the functionality and quality of applications and tools to make sure they’re working correctly.
If you aren’t sure which role is right for you, that’s okay. Spend time talking to professionals in the field to understand what they do on a day-to-day basis, and read up on the various types of developers to get a feel for what skills you should be honing.
#2: Learn to code and to use common developer tools
To land your first software engineering role, you should have a strong technical foundation and be relatively fluent in at least one programming language, if not several. If you don’t have these things yet, that’s totally fine—you can learn to code and understand technical ways of working by taking a bootcamp course.
For example, our Software Engineering Immersive covers programming languages like HTML, CSS, JavaScript and Python in addition to tools developers use everyday, like GitHub. If you’re not quite ready to make that leap, there are also plenty of free resources online where you can start learning coding skills before investing in a full course.
Software engineering technologies move faster than people can, so by enrolling in a bootcamp or taking a free online class, you’ll just be getting started. Technology is always evolving, meaning developers must continuously refine their skills, adapt how they work and learn how to use new tools. Therefore, in addition to learning to code, it’s also important to learn basic project management and collaboration skills that will carry you throughout your career.
#3 Work on projects that will build your portfolio
If you don’t have any job experience in software development, your portfolio will be key in showing potential employers what you can do. Therefore, you should invest as much time as you can into building your portfolio, whether that’s through projects you complete during a bootcamp, personal passion projects, unpaid internships or volunteer/pro-bono work.
At General Assembly, students in our software engineering bootcamp build a professional-grade portfolio through projects they work on (both solo and in groups) throughout the course. The course includes a capstone project where students collaborate to build a full-stack application and integrate functionality from a third-party API. For example, one student built an app to raise awareness of ocean pollution, and enable users to share their own tips for reducing plastic use, while another created a web-based adaptation of Settlers of Catan, a popular board game.
#4 Network to establish industry connections
As you take the steps to become a software engineer, networking will be key. Take the time to get to know your peers, course instructors and professionals who are already established in the field. After all, knowing the right people can be key to landing a job—one study found that 82% of employers ranked employee recommendations as the best candidate sourcing option.
If you attend a bootcamp class at General Assembly, we offer networking opportunities to introduce you to hiring managers at top companies. However, there’s plenty of networking that you can do on your own, too. Try reaching out to professionals you admire on LinkedIn to have a virtual or in-person coffee, join Slack groups to meet other software engineers, and attend events like industry meetups and hackathons. Even if these meetups don’t lead to job opportunities immediately, they might lead to other portfolio building opportunities through peer collaboration.
#5 Prepare for your interviews
You’ve learned to code, established a great portfolio and leveraged your industry connections to land those first interviews. Now, you might be wondering: how hard are entry-level software engineering interviews?
Technical interviews can be tough, but if you prepare appropriately, you should make a great impression and land on top of the candidate list. Here’s how to prep:
- Build confidence through mock interviews. When it comes to interviewing, practice really does make perfect. At General Assembly, our career coaches help students sharpen their interview skills through mock interviews that cover technical skills, how you approach problem solving, your portfolio, why you’re changing careers, and more. You can also find sample interview questions on sites like Glassdoor, and practice with a family member, friend or career coach.
- Practice whiteboard challenges and coding exercises. Technical interviews often have a “show don’t tell” component that includes solving a problem in real-time on a whiteboard and/or testing your technical know-how. Even if you ultimately don’t know how to solve the actual problem presented, the whiteboard challenge is a chance to demonstrate your process and how you would approach challenges at work. Coding tests are often taken outside of the interview, and may be specific to the language or framework you will be using on the job. You’ll gain experience with whiteboard challenges and coding in a bootcamp course, and can also find practice coding problems online to further your skills.
- Develop your career story. Technical skills are only one part of the equation. To stand out from other candidates, make sure your passion for the role, company or challenge at hand shines through. You might even lean on your non-technical experience to explain why you’re uniquely positioned to solve certain problems (e.g., your experience in customer service turned into a passion for solving customer pain points).
If you’re ready to learn more, our career coaches at General Assembly are here to help you land your first job as a software engineer. Reach out to us today to learn more about making your career dream a reality.