Many data engineering problems are impeded by strong typing, particularly type transduction applications (translating between a database type system and a transport such as Avro, for example). While in many cases that is somebody else's problem -- it is solved in a library -- when it isn't the strengths and facility of a dynamic language can save you considerable code complexity and maintenance. Type control is often…
Koheesio: Nike's Python-based framework to build advanced data-pipelines
61–70 of 75 posts
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#62Earlier quoted context omitted.
Nike's data engineering is very bad. It's hundreds of temporary contractors, mostly offshore, all with 6-18 month tenures, and everyone reinvents their own square wheel. Thousand upon thousands of abandoned confluence pages of documentation. The most convoluted SQL and data architecture you'll ever find. Getting answers to simple questions like "How many shoes did we sell in-store vs ecommerce last week?" is a nearly…
> How many shoes did we sell in-store vs ecommerce last week? That is perhaps not a great example. My brother is a business analyst at Nike (has been for 15 years or more). I just asked him how hard it would be to answer that question and he said it would be pretty easy. Granted, this is the kind of data he works with routinely, so it may be more difficult for other teams that do not.
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#63Earlier quoted context omitted.
> I find this type of thing scary as an outsider looking in. How a company so large has such immature engineering continues to astonish me. It's management that doesn't want to risk their positions by doing the very difficult business of either starting over or properly simplifying their stack. It's not easy, it's not quick, but if they can't even answer that basic question then they need to do the work.
To defend management a little bit, these massive companies have existed through many eras of technology with many different managers. They work with many external companies in many different ways. They have an exceptionally complex, but functioning tech stack, that allows all of these many dependencies to function together. Lastly, they are successful as they are! It's not usually an issue of immaturity, it's just re…
I don't understand this perspective. Simplifying the tech stack might mean taking multiple services in multiple languages, and deprecating some in favor of migrating that functionality to the most maintainable codebase. This shouldn't mean "simplifying their business operations", or affecting their business operations in any way.
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#64Earlier quoted context omitted.
> I find this type of thing scary as an outsider looking in. How a company so large has such immature engineering continues to astonish me. It's management that doesn't want to risk their positions by doing the very difficult business of either starting over or properly simplifying their stack. It's not easy, it's not quick, but if they can't even answer that basic question then they need to do the work.
To defend management a little bit, these massive companies have existed through many eras of technology with many different managers. They work with many external companies in many different ways. They have an exceptionally complex, but functioning tech stack, that allows all of these many dependencies to function together. Lastly, they are successful as they are! It's not usually an issue of immaturity, it's just re…
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#65Check out CloudQuery - Arrow powered ELT framework (Author here :) )
I’m not against proprietary software, but your website still advertises this product as an open source ELT.
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#66Earlier quoted context omitted.
While I generally tend to agree with your basic criticism, I think you need to keep in mind our perspectives might be biased due to limited data. Flyte went OSS what, 4 years ago? I'm not super familiar with it, but a) could have been that it was too unpolished at the time or b) requiring K8s to be a non-starter for some teams/ orgs. Same for Kubeflow. We also don't know for how long Koheesio existed within Nike. In…
This project is two weeks old!
Doesn’t mean the project originated two weeks ago.
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#67Earlier quoted context omitted.
> How many shoes did we sell in-store vs ecommerce last week? That is perhaps not a great example. My brother is a business analyst at Nike (has been for 15 years or more). I just asked him how hard it would be to answer that question and he said it would be pretty easy. Granted, this is the kind of data he works with routinely, so it may be more difficult for other teams that do not.
Is he the person running the query or is he reading a blood spattered report pulled from the dead hands of some data engineer who perished battling the system to retrieve said data?
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#68Many data engineering problems are impeded by strong typing, particularly type transduction applications (translating between a database type system and a transport such as Avro, for example). While in many cases that is somebody else's problem -- it is solved in a library -- when it isn't the strengths and facility of a dynamic language can save you considerable code complexity and maintenance. Type control is often…
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#69Earlier quoted context omitted.
Nike's data engineering is very bad. It's hundreds of temporary contractors, mostly offshore, all with 6-18 month tenures, and everyone reinvents their own square wheel. Thousand upon thousands of abandoned confluence pages of documentation. The most convoluted SQL and data architecture you'll ever find. Getting answers to simple questions like "How many shoes did we sell in-store vs ecommerce last week?" is a nearly…
> Getting answers to simple questions like "How many shoes did we sell in-store vs ecommerce last week?" is a nearly impossible task. I find this type of thing scary as an outsider looking in. How a company so large has such immature engineering continues to astonish me.
Re: Koheesio: Nike's Python-based framework to build advanced data-pipelines
#70Earlier quoted context omitted.
To defend management a little bit, these massive companies have existed through many eras of technology with many different managers. They work with many external companies in many different ways. They have an exceptionally complex, but functioning tech stack, that allows all of these many dependencies to function together. Lastly, they are successful as they are! It's not usually an issue of immaturity, it's just re…
> Simplifying the tech stack would probably require simplifying their business operations, which probably means less revenue. I don't understand this perspective. Simplifying the tech stack might mean taking multiple services in multiple languages, and deprecating some in favor of migrating that functionality to the most maintainable codebase. This shouldn't mean "simplifying their business operations", or affecting…
But I would imagine there are a lot of pieces of apparent cruft hanging around that is actually there because if you remove it things break.
Maybe a large retailer that you rely on requires an integration with an old version of SAP, and then a logistics partner only provides files over FTP, and you need to use OCR to retrieve any data from the files they're sending.
Management can't just mandate that you will 'simplify the tech stack'. Even refactoring smaller parts of the tech stack is often a pretty massive job.