Skip to content

Commit

Permalink
blog post about DE cv
Browse files Browse the repository at this point in the history
  • Loading branch information
Adrian authored and Adrian committed Sep 20, 2023
1 parent 08d4a2a commit e81739d
Show file tree
Hide file tree
Showing 2 changed files with 102 additions and 0 deletions.
102 changes: 102 additions & 0 deletions docs/website/blog/2023-09-20-data-engineering-cv.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
---
slug: data-engineering-cv
title: "How to write a data engineering CV for Europe and America - A hiring manager’s perspective"
image: /img/dall-e-de-cv.jpg
authors:
name: Adrian Brudaru
title: Open source data engineer
url: https://github.com/adrianbr
image_url: https://avatars.githubusercontent.com/u/5762770?v=4
tags: [data engineer, cv]
---

I recently reviewed someone’s anonymised 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 before.

Why the location? because in my experience, other parts of the world work more in enterprises with different tool sets. They often do “outsourcing” work which is often on technologies that were used 5-20 years ago and less modern techs. And 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 - so 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 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 and 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 bad signals, so if you cannot review the company and mention why you like it, then the reviewer might feel the same way abut you.

### The CV

Rules of thumb

- Space is your friend, it drives focus to what matters. Don’t fill it with junk.
- “Soft skills” - Show the human behind the role, 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 2 pager if you can. First page - everything else. Second page: your experience. If you do not have experience, stick to a 1 pager. If you are in US, you might be required to use a 1-pager in which case make your job descriptions shorter and more focused, drop the non relevant.

### The parts

1. 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](https://en.wikipedia.org/wiki/Values_(Western_philosophy)) are a large predictor of your “direction” - behaviour and interactions. List top 3, not more. No BS.
- “Motivation” 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 2 sentences max.

2. Skills: Programming and tools: The easiest thing to filter on, so make sure you list the relevant skills for the role you are applying. Do not list the entire list of things you 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 personalise the list based on the job you apply for. If skills are not listed in 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 our and do not have the skills, make them happen. Take a course, learn them and list them.

3. Job experience. Format:

<aside>
💡 Time-Time Company, Role.
At Company, I had Role which focused on delivering XYZ in a context. I worked with A, B, C technologies.
- I achieved X
- I also built Y
- I am particularly happy about having done Z

</aside>

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 not relevant to the role we are applying for, or to 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.

4. Education: Studies, self studies. Some groups care about the school. I find it less important, as school does not teach real life data engineering but it will help understand where you come from.
5. Projects, courses, volunteering. I care more about 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 “doer”. Link to your github with nice code would be a nice bonus.

### The skills you need

This depends on the role, but most DE roles building standard platforms need the following:

- python
- orchestrator (Airflow usually)
- dimensional modelling 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 3 levers are

- Better communication
- Better skills
- More applications

The rest is a matter of opportunities, so it depends on your location and the job market. If the opportunities are not available to you, consider entering the field via an adjacent role like analytics engineer

Screening CVs is a very quick 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 minimise 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 encourane you to ask for feedback from the community if you get stuck.
Binary file added docs/website/static/img/dall-e-de-cv.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit e81739d

Please sign in to comment.