To launch your career as a software engineer, you’ll need to approach your education with your job goals at the forefront. So where should you put focus in order to equip yourself to land your first software engineer role and excel in that role? Holberton School’s Student Success Manager, Michelle Lai, shares her tips for choosing the most marketable skills, spotting the right companies to apply for, and ensuring you deliver in your first developer job.
Learning the Right Skills
In addition to learning to code, what sort of soft skills should students master in order to launch a software engineering career?
To succeed as software engineers, it is critical that students learn to communicate their technical ideas, teach and learn from others, and operate from a place of integrity. Today’s companies often pivot business directions or change their plan for execution. Employees who have a high degree of empathy, a strong ability to communicate, and are intrinsically motivated towards self-improvement are able to easily support companies in these transitions. As a result, employees with advanced soft skills will multiply productivity, generate goodwill and be resilient in the face of challenge. A successful company is not the sum of successful individuals but successful teams, therefore, having the skills to be a great a team player, or even, a leader is just essential.
How to Develop these Skills:
- Get confident with public speaking – at Holberton, students practice by presenting at a daily school-wide stand-up.
- Take advantage of pair programming. From the first week at Holberton, students engage in paired exercises to communicate technical concepts. Teaching and learning from other students is practiced weekly at Peer Learning Days (PLDs) where students review project work in small groups and exchange different approaches to problem-solving.
- Students build a record of integrity by fulfilling assigned duties to maintain our office space, and further enforced by the format of our program which requires an innate sense of community, ownership and pride
What are employers looking for in software engineers who are new to the field?
Employers are widely varied in what they are looking for. The specific languages and technologies change over time. This is why learning more general concepts is important for a software engineer. It is critical to learn the fundamentals of software engineering and computer science which are constant and unchanging. Learning to learn gives an engineer the confidence and flexibility to pick up new languages as they become popular. Finally, soft skills are relevant no matter the company or position.
Engineers who have strong fundamentals, and learn quickly and collaboratively, are a safe bet for employers.
Choosing the Right First Job
What sort of jobs and roles should people apply for when they are looking for their first software engineering job?
The hardest job search is the first job search. Software Engineers just starting out need to be open-minded in considering opportunities and take an exploratory mindset in approaching the application process. The more open-minded an engineer can be around location, team size, company stage, role, and compensation, the more possibilities for an engineer to find a match.
Are there red flags (or green flags) students should look for in job interviews?
During the interview process, candidates tend to be nervous and focus only on their own performance, without fully understanding the company’s culture. Immediate red flags to watch out for at a company include disorganization during the onsite interview, or rudeness in written/verbal communications leading up to the onsite.
A good way to get a sense of the culture is to follow up after the onsite to meet team members in a more informal setting:
- Reach out to a potential colleague for a follow-up conversation. Often team members will be more relaxed and willing to openly share opinions about the team, work or business in a non-interview setting.
- Ask about balancing personal life with professional life, or learning what a typical work day looks like may reveal red/green culture flags.
- Get a feel of employee’s approval of the leadership. Disapproval or distrust in the leadership’s decisions are important to tune into as red flags.
- Ask employees how long they’ve been working for the company, it’s a great signal of whether the company is adequately creating career growth opportunities and investing in their employees. During regular mock interview exercises at Holberton, students are presented with specific companies so they are prepared for interviews.
Where do you suggest students start their job search?
There are two stages to the job search.
- Students should start by focusing on getting the most from the technical program before prioritizing a job search. Holberton’s technical program incorporates the development of skills that will benefit students in a job search, such as collaboration, public speaking opportunities and mock interviews between peers. However, the focus is on solidifying the technical concepts before materializing leads, interviews or offers.
- Next up, students should work on polishing their portfolios, mastering interviewing techniques, and creating accountability and community around their search. Ideally at this stage, the first technical screens and onsite interviews are generated from cold applications. Once students gain some confidence in their interviewing process, leaning on friendly referrals and networking through events is recommended.
Holberton approach: At Holberton, we create a number of networking events to give students access to industry leaders, our mentor network, and alumni. Additionally, there are tailored job search-related workshops and projects as students progress in the Holberton experience. Beyond applying directly, Holberton has developed, and continues to develop, hiring partnerships with companies who believe in our mission and are impressed with our world-class curriculum. We’ve connected our students with companies eager to hire engineers for internships, apprenticeships and full time opportunities at companies like Pinterest, LinkedIn, Tesla, NASA, and more.
Marketing Yourself as a New Developer
How can students with non-technical backgrounds (a poet, painter, etc), incorporate that into their job application?
For many non-technical roles, there are many transferable skills that make sense to highlight:
- Leadership experience is incredibly valuable to showcase, especially in situations where the pace was intense, resources were limited, or stakes were high. These circumstances can demonstrate highly valuable skills such as grit and sound judgment. We have students enrolled at Holberton who have served in the military, or managed teams in food service who consistently deliver projects on time and hold themselves to a higher standard when it comes to code quality and ensuring their teammates succeed.
- Experience in customer service in any industry will often translate to empathy for a user of a company’s software. Dora Korpar recently joined a startup after previously working at Trader Joe’s. The customer service experience can be valuable for engineering roles where design and intuitive interfaces are paramount to their success, and significantly reduce the need for customer support while accelerating adoption. Framing this skill-set appropriately on an engineer’s resume will distinguish someone with a non-technical background in the best possible way.
- Any analytical responsibilities will also be looked upon favorably. Experience in probability/statistics, finance and scientific research require a high level of attention-to-detail and rigor. These are favorable software engineering traits that many companies will appreciate. One of our former students, Justin Marsh, now Software Engineer at LinkedIn, previously played poker professionally and has even been featured in Ryan Craig’s book A New U!
There is no limit to the range of backgrounds and experiences that may translate well into being a successful software engineer. Mason Fish, a former guitar teacher, joined Holberton and is now a Fullstack Software Engineer at Docker. As a mother of 2 and artist, Anne Cognet dedicated herself to learning the art of coding and now applies her creativity daily as a software engineer at Tesla.
Short stints in irrelevant fields may make sense to remove from an application. For example, if someone were a poet for 2 months, it may signal a lack of dedication and would be better unmentioned. If there are a bounty of roles that span several pages, it would be advised to highlight and condense the most impressive and recognizable experience onto a single page.
There are now a lot of new graduates in the job pool. How can new software engineers set themselves apart from other candidates?
It is common for new engineers to look to those around them for mentorship and openly voice their desire to learn from more experienced teammates. From an employer’s point of view, it is far more impressive and unusual to see an inexperienced engineer demonstrate a sense of self-sufficiency and problem solve independently.
Holberton’s approach: We follow a framework for ensuring that every student practices a process of escalation beginning first with carefully reading the available materials, researching independently to understand the problem before slowly branching out to include others in their quest to address an issue or learn a concept. Our graduates reliably find answers for themselves and take care in respecting the time of others by presenting their challenges having already demonstrated initiative and focused effort.
What to expect in your first month
Delivering on the job requires that an engineer is fully dedicated to familiarizing themselves with the code base, and integrating themselves into the team’s coding processes as soon as possible. It’s usually a great sign if a new engineer is able to ship their first code to production within the first week or two.
I’ve landed my first job as a developer – how do I get a promotion?
A lot of knowledge is only available in people’s minds, so be sure to make time to chat with and learn from your co-workers over coffee or lunch
Increasing your seniority is about the technical level but also about soft-skills:
- Ability to share your knowledge by coaching/helping co-worker or documentation
- Ability to provide constructive feedback to empower co-workers to do a better job
- Organize cross-team collaboration projects
- Promote the reputation of the company by attending external events
What should a new grad expect in their first month on the job?
It all depends on the individual company. Some examples:
- A former Adobe intern gave a fireside chat at Holberton and explained that she followed a year-long training program before she could contribute to the product.
- On the other side of the spectrum, some startups will make sure that every developer will push their first commit on the first day of the job.
But there is no right answer. Some companies’ products are so sensitive that the ramp up might take a while. For instance building a website displaying a powerpoint might not require the same level of precaution as building software to facilitate an airplane landing.
Once a graduate is in their job, how do they stay relevant and up-to-date in the latest technology?
Mentorship should certainly be sought, and not only when you’re in a junior level job. There is always someone better than you, or someone who knows things that you don’t know. Staying curious and being able to learn from others is a key to any great software engineers.
My piece of advice to any software engineer, and actually any professional, is to develop the ability to retrain and retool. All the knowledge needed to do so is available for free at the click of a button. But it takes skills to be able to know how to phrase the right search engine quest, to find the right medium, to be able to see what information might be right, wrong or incomplete.
What is jQuery: An Intro for Beginners
Should you learn jQuery? We look at the debate around jQuery and what jobs need jQuery.
What is Express? A Guide for Beginners
Git and GitHub: A Guide for Beginners
Turing School instructor David explains Git, GitHub, version control, and repositories for beginners