It’s kind of the same question as to why do companies like meta have their own data engineering and analytics org. Can’t software engineers do that?
In my experience they can but not well. They could acquire the skills but it would take time and more importantly time away from what they are doing. Also, the software engineers working on applications don’t want to create and manage pipelines, manage access controls, data governance, create dashboards etc.
Some observations from first hand experience working as a data engineer at meta and working closely with software engineers - client and s ever side.
- their sql is not great. I was surprised by many engineers not knowing about grouping sets etc.
- very limited understanding of how to build analytical data marts and warehouses
- no experience with concepts of master data management etc. and data governance best practices as a whole
- not good ad visuallybrwpresenting information via charts. So poor dashboarding skills and often have to learn the technology.
- have no experience with etl patterns so end up with pipelines that don’t scale.
- they don’t have any interest in learning data engineering for analytics type of work.
- have no experience with building growth accounting and retention datasets.
So for mature organizations where data is an asset you want to do it well so you either need a specialized team in house or outsource it to a consulting company in your question.
I am in very similiar position right now, and I have decided to bite the bullet and drop all non individual contributor responsibilities. I'm not yet sure how it will go but it's my #1 priority to arrange it with Cxx. I know this was supposed to feel like "step up" but it's not who I am. I don't aspire to great managers, I respect people like Carmack. I want to be the best and most productive engineer, that's where I have most fun. If the money is similiar, that's what it's about.
It doesn't as long as you handle the HTTP->HTTPS redirect on your proxy (NGINX, Apache, Caddy or similar) and don't pass any of these requests to your backend.
In my experience they can but not well. They could acquire the skills but it would take time and more importantly time away from what they are doing. Also, the software engineers working on applications don’t want to create and manage pipelines, manage access controls, data governance, create dashboards etc.
Some observations from first hand experience working as a data engineer at meta and working closely with software engineers - client and s ever side.
- their sql is not great. I was surprised by many engineers not knowing about grouping sets etc.
- very limited understanding of how to build analytical data marts and warehouses
- no experience with concepts of master data management etc. and data governance best practices as a whole
- not good ad visuallybrwpresenting information via charts. So poor dashboarding skills and often have to learn the technology.
- have no experience with etl patterns so end up with pipelines that don’t scale.
- they don’t have any interest in learning data engineering for analytics type of work.
- have no experience with building growth accounting and retention datasets.
So for mature organizations where data is an asset you want to do it well so you either need a specialized team in house or outsource it to a consulting company in your question.