Top 5 Tips to Kickstart a Successful Software Engineering Career
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 and excel in your first software engineer role?
If you are pursuing a career in software engineer, here are some tips for choosing the most marketable skills, spotting the right companies to apply for, and ensuring you deliver in your first developer job.
Learn the Right Skills
To succeed as a software engineer, it's critical that students not only learn coding skills, but also 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 challenges. 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 leader is essential.
So, when it comes to developing these skills:
- Be confident with public speaking.
- Embrace pair programming.
- Build a record of integrity by fulfilling assigned duties. Your diligence will give you and your colleagues innate sense of community, ownership, and pride.
Programming languages and technologies change over time, which is why learning more general concepts is important when training to become 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 engineers the confidence and flexibility they need to pick up new languages as they become popular.
Holberton is working with industry professionals to create and update its curriculum so that the soft and hards skills that students acquire are always the ones employers are looking for. The project-based and peer-learning education at Holberton School ensures that students learn how to learn, and become great team players.
Choosing the Right First 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 on an exploratory mindset when approaching the application process. The more open-minded an engineer can be when it comes to location, team size, company stage, role, and compensation, the more possibilities for an engineer to find a match.
The following tips can help you land attractive offers:
- Focus on getting the most from the technical program before prioritizing a job search. Develop the skills that will benefit your job search by focusing on collaboration, public speaking opportunities and mock interviews between peers. Your focus should be on solidifying technical concepts before materializing leads, interviews or offers.
- Work on polishing your portfolio, mastering interviewing techniques, and creating accountability and community around your search. Ideally, you'll be able to land technical screens and onsite interviews by submitting cold applications. Once you gain some confidence in your interviewing process, leaning on friendly referrals and networking through events is recommended.
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 it.
A good way to get a sense of the culture is to follow up after the onsite interview to meet team members in a more informal setting:
- Reach out to potential colleagues 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. Learning what a typical work day looks like may reveal red/green culture flags.
- Get a feel for the employees' approval of leadership. It's important to understand if employees view company leadership with disapproval or distrust in decision making.
- Ask employees how long they've been working for the company. This is a great sign of whether the company is adequately creating career growth opportunities and investing in their employees.
There is no limit to the range of backgrounds that may translate well into being a brilliant software engineer. However, short stints in irrelevant fields may make sense to remove from an application. For example, if someone working in marketing for 2 months, it may signal a lack of dedication and would be better left unmentioned. If you find that your previous roles span several pages on you resume, you may want to highlight and condense the most impressive and recognizable experience onto a single page. And, for those 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.
- Experience in customer service in any industry will often translate to empathy for a user of a company's software. 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 requires a high level of attention-to-detail and rigor. These are favorable software engineering traits that many companies will appreciate.
- 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.
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?
- Learn from your teammates. 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, both in terms of your technical level and your soft skills. These skills include the ability to share your knowledge by coaching/helping co-workers or documentation, and the ability to provide constructive feedback to empower co-workers to do a better job. You'll also need to be proficient in organizing cross-team collaboration projects, and promoting 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 companies' products are so sensitive that the ramp up might take a while. In some cases new engineers may be required to follow a year-long training program before contributing 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.
Stay Up To Date
Once you land your dream job, it is important that you 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 trait of any great software engineer.
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 query, find the right medium, to be able to see what information might be right, wrong or incomplete.
This post was sponsored by Holberton School.