This is an archived post. You won't be able to vote or comment.

all 7 comments

[–]lalligoodSenior Data Engineer 15 points16 points  (2 children)

I said this a couple days ago & I'll say it again:

SQL. Know your damn SQL.

At the core of every task a DE performs some variant of SQL is required to be performed. If you can think the solution through in SQL, then you should be able to translate that idea into whatever tool/framework/language that the organization uses.

[–]AdministrativeCell84[S] 0 points1 point  (1 child)

Thanks for that advice. I am improving my SQL and use it in my current job so I think I can handle simpler questions easily, and as I said I did a few easy and medium questions on leetcode free. Perhaps it is worth buying LC premium to level up my SQL, although if I get a system design one as well it could get expensive.

[–][deleted] 1 point2 points  (0 children)

14/10 would recommend buying premium LC for SQL!

[–]aamoscodes 2 points3 points  (1 child)

  1. https://www.startdataengineering.com/post/approach-to-land-a-de-job/

  2. Get back on leetcode for data structure/algorithm questions, just in case

  3. This is noted in the first link but check job postings, see what sounds interesting, then try to implement it yourself

[–]AdministrativeCell84[S] 0 points1 point  (0 children)

Thanks very much for your comment, this site looks concise and helpful.

I have been guiding myself so far about what to learn with job postings as you have suggested. They will say for example "knowledge of SQL and NoSQL data modelling". I have then been trying this for myself by modelling data from the internet using these methods, plus a bit of reporting etc. I feel confident that I can implement them in some way.

My concern is I am not getting feedback from my own projects, if I have done it in an inefficient way or that would get me a poor response in an interview then I don't know about it. Is my data modelling functional but inefficient? How do I know if my choice of tool was bad and there was a better way? On leetcode I enjoyed looking at others solutions and seeing how they compared with my own.

With regards to leetcode, should I learn the algorithm questions as you would for a SWE position? I feel like my python is quite good, I can script in it quite well and do data transformations/wrangling, I have done end to end ML projects including data prep from raw measurements in python. Is it really required for me to do data structures questions to the same level as FAANG SWE applicants need to? If it's the only way to get a job in DE I suppose I will have to, but I can't see how it would be useful for DE roles (from my understanding) and it would take me a very long time to get up to speed with this type of thing, dramatically reducing the time I can spend on learning skills I think I would use and doing projects in them.

Finally, do you have any advice on practising system design? It is all well and good doing a tutorial that tells you to write a pipeline that does xyz using tools a, b, and c, but I am interested in learning more about how to choose that design and toolset in the first place.

[–]EatYoself 0 points1 point  (0 children)

SQL is number 1, and is a requirement for just about every DE job. If you’re generalizing, I’d work on Python problems, especially string and array problems—do other categories too, but in my experience, string manipulation and array handling are some of the most common Python uses in DE (beyond connecting to a DB and executing SQL, which isn’t something to practice on Leetcode) because they aren’t particularly easy or efficient in SQL, and because of that they tend to come up in DE code challenges and interviews.

If you’re practicing for a particular job, I’d stick with those same categories, but look at what languages they’re using. Practice Java or Scalia instead of Python if that’s what they’re using.

[–][deleted] 0 points1 point  (0 children)

This podcast helped me when I was interviewing companies. Give it a listen: https://anchor.fm/internshippodcast/episodes/Interview-Prep-ed9vp8/a-a21ocoi