I recently reviewed someone’s anonymized CV on Reddit as they complained they applied to dozens of jobs but never heard back. Shortly after, my inbox blew up with review requests.
My experience comes from 10+ years in the industry, and having reviewed thousands of CVs myself, having hired for multiple companies. I also asked the opinion of other hiring managers who have hired data engineers.
Why European and US companies? Because, in my experience, other parts of the world work more in enterprises than startups or SMEs, and as a consequence they work with different tool sets. They often do “outsourcing” work, often on technologies used 5-20 years ago and less modern techs. Even when the tech used is new, the role is usually very limited in an enterprise and generally lacks the end-to-end capabilities requirement. For example, it might mean doing drag and drop tools + SQL stored procedures, or it might mean doing only data loading without architecture and generally without an orchestrator, etc.
So, let’s cut to the chase - what is a hiring manager looking for in an application?
Cover letter
Let’s start with the shortest bit - cover letter. Definitely write one. If you apply by email, put it in the email body. If not, attach it to the application.
What should it contain? A couple of paragraphs about
- why this company you are applying for is interesting to you
- your motivation for applying and what you hope to achieve here
- why you would be a good fit for the role.
Keep it honest. Write about the role and your intent, do not make it about you.
A definite don’t is a generic letter that talks about you, but doesn’t mention the role or company. This shows a lack of investment in the application and gives wrong signals. So if you cannot review the company and say why you like it, then the reviewer might feel the same way about you.
The CV
Rules of thumb:
- Space is your friend. It drives focus to what matters. Don’t fill it with junk.
- “Soft skills” are important. Show the human behind the role, and have a bio section that should contain info about you.
- Focus shows consideration to the reviewer. Tell me what’s relevant.
- If you are junior, demonstrate potential. List your initiatives, learning, etc.
- If you are senior, demonstrate results. Focus less on techs and more on outcomes.
- Use a two-pager if you can. First page - everything else. Second page: your experience. If you do not have experience, stick to a one-pager. If you are in the US, you might be required to use a one-pager, in which case make your job descriptions shorter and more focused, dropping the non-relevant.
The parts
Bio: name, where you come from, your values.
- Image. You are a human talking to a human, don’t make it less, it doesn’t help. Be confident, friendly, smile.
- “Values”. Your values are a significant predictor of your “direction”, behavior and interactions. List the top 3, not more. No BS.
- “Motivation”. It indicates what is the fuel to your fire so the company knows if they can do that for you. One sentence.
- “Mission” or what you are looking to do, indicates if your goals may align with role goals. One or two sentences max.
Skills: The easiest thing to filter on, so list the relevant skills for the role you are applying. Do not list the entire list of something you have ever used or tried. This only creates noise and the impression that you don’t have any practiced skills. Mention the skills that are relevant first, and consider skipping the rest. For example: “Python, SQL, orchestrator, GitHub, others.” instead of “Java, Javascript, Ruby, Go, R, C++, SQL, Python, Tableau, Excel, Looker, BigQuery, Bash, Basic, Assembly, MsWord, Google Sheets, PowerBI, ” Make sure those skills are clearly displayed and optionally also mentioned in the listed jobs so people can judge how much you used them.
You can personalize the list based on the job you apply for. If skills are listed outside the job description, look at who else works or worked there, they might list the tools or skills on their LinkedIn.
If you are starting and need to gain the skills, make them happen. Take a course, learn them, and list them.
Job experience. Format:
What are we presenting? The context (company, team), the achievements (X, Y, Z), the takeaways (A, B, C, X, Y, Z experience)
What are we not presenting? Things are irrelevant to the role we are applying for or our values. Less is more as it shifts focus to the important. Also, no vanity achievements or internal company awards, which are often offered in consultancies. These are just tools to motivate you, and nobody cares externally.
Education, studies, self-studies: Some groups care about the school. It is less critical, as the school does not teach real-life data engineering, but it will help you understand where you come from.
Projects, courses, volunteering: I care more about the demonstrated learning experience. I want to see that you keep learning. If not on the job, then I want to see courses or projects here. Volunteering also paints a picture of a “doer”.
The skills you need
This depends on the role, but most DE roles building standard platforms need the following:
- Python
- orchestrator (Airflow usually)
- dimensional modeling and other data architectures
- SQL
- software best practices - versioning, cicd, testing, etc.
And the magic sauce…
… goes into the food, keep it out of the CV :) There’s no magic here, just clear communication.
Your three levers are
- better communication
- better skills
- more applications
The rest is a matter of opportunities, depending on your location and the job market. If the opportunities are not available, consider entering the field via an adjacent role like an analytics engineer.
Screening CVs is a rapid process, so you need to ensure you check off the requirements while removing (not adding) any doubts. Any hire is a risk, so the screener wants to minimize that - help them do it by showing a good understanding of your role and what is expected of you. Don’t add info that isn’t needed, as that might add doubts.
I wish you good luck on your application process and encourage you to ask for feedback from the community if you get stuck.