15 minutes 1:1 session with a facebooker
My concern and mixed thoughts
I’m interested in Machine Learning / Deep Learning and their various use cases like computer vision, NLP, etc.. During the summer last year, I took part in a 3-month long AI bootcamp that covers wide range of AI theories. This summer, I could intern at investment bank as a Data Analyst.
However, as I get deeper and deeper into this area, I feel like that software engineering skill has to be preceded before learning those Data engineering topics. Although, I might be good at some data analysis and people say that Data Engineer will be one of the most demanding job in the near future, I still see lots and lots of SW developer job postings, and I think that even if the future calls for lots of Data scientist, after all, the final products are for end-users like us, which means that SW developers will never lose their status.
I see tons of things to learn to be a Data Scientist/Engineer, but it’s the same for CS core subjects. During undergraduate period, should I weigh CS core subjects more than the analytics/ML/DL subjects? or should I care both? If I apply for intern for next summer period, should I apply for Data Engineering intern rather than the SWE intern? I’m choosing modules these days, and considering between DB, Network, ML and AI. Should I fully focus on DB and Network for my 3rd year?
Advice from facebookers
Should I focus on CS core modules before learning Data related subjects?
Sort of Agree, but in data engineering team there are lots of employees who does not have background not in CS, like physics or math. It is true that you don’t need to know how SW works professionally to work as a data engineer. However, I do agree that if you have SWE background, it will definitely help you do better in DE field as well. No data engineer can work without a cooperation with sw engineers and vice versa. They all work closely together, which in turn means that those two roles are interchangeable to some degree. Therefore, one who has strong foundation of CS concept can ‘co-work’ better than ones who do not have CS background.
If I could work as an intern next summer, which role do you recommend between SWE and DE?
If your goal is to become a Data Engineer, there is no single reason to work as a SWE intern before working as a DE. It is still true that CS knowledge and SWE experience is important whichever role you undertake, but in terms of doing intern, where you can get real-world experience, it would be better for you to work as a DE intern to be a full-time DE. Plus, SW engineers have possibility to be allocated into iOS or android development, which you might not really interested in. However, when employing a SW engineer, employers consider the possibility and your potential to be allocated in different SW engineering field, which means that you will have higher chance to get offer as a Data Engineer.
Data Engineer (DE) Vs. Data Scientist (DS)
First of all, of course, both DS and DE make contribution to the development of a product. The term DE and DS both falls under the umbrella of Data Analytics. What makes DS and DE different is how they contribute to the analytics mission. DS performs analyses that inform the decisions and strategies, while DE builds infrastructure to automate common workflows + democratise insights.
They set Ideation and Minimum Viable Product, followed by Product market Fit and Optimisation and growth / maturity of the product. The objective of Product Market Fit and Optimisation is to identify who the product is working for and optimise their experience. Here, DS questions ‘who are the power users of this product’ and ‘what makes a user come back to the product’. DE questions for foundational datasets and deep-dive dashboards for explanation. Next, the objective of Growth and Maturity is to scale the product to millions of users and look for new opportunities to further its success. Here, DS questions ‘how does use of the product affect the ecosystem’ and ‘what is causing people to have bad experiences’. DE then performs ‘Anomaly detection’, ‘Root cause analysis’ and makes automated metric reporting system.
To be successful in either role, you will need some baseline hard and soft skills. When it comes to hard skills, you need to have Data manipulation (SQL) and visualisation skills and basic programming skills. Here, for Data Scientists, you need to have probability and statistics analysis abilities. For Data Engineers, you need to know how to do data modelling, and more advanced SQL and Query performance optimisation skills.
Regarding soft skills, they both should have Autonomy (identifying white space and driving a project forward), Scope (taking ownership of an area, being the data expert) and Communication skill (explaining complex concepts to non-technical people). Here, DS are required to have Product sense and influence (understanding what makes a great product and developing concrete recommendations from his analysis), while DE are expected to have Engineering Mindset (applying engineering thinking to building data infrastructure).
Extra tips on CV
Make it short and light as much as possible. Don’t exceed a single page. The most important point is a coherence of your CV and relevance to your position. For example, SW Engineering recruiter won’t be too interested in your Data Engineering skills, so do not include all that you’ve done. Just include what’s relevant to your future position.