- Data roles heavily focus on particular enterprise products (Kafka, Redshift, Snowflake) at the expense of engineering fundamentals.
- Data roles are typically support roles, not the value center of an org (which would be the analysts and decision-makers who consume the dashboards).
- I personally find these roles more rote, less engaging, and less creative than SWE roles.
What are some good reasons to move into a data-focused role, other than incidental details like better pay or promotion opportunities?
In SWE roles I've had occasional deep dives into tech, but a lot of it is about knowing the business logic and delivering simple things quickly. It's like write SQL query, maybe change a model, write some simple business logic in a hairy codebase. Since it's simple, there is more pressure to deliver quickly as well. Sometimes doing things the “right” way would have been more interesting but also more time consuming, so we decide to just put a bandaid over it. It feels like there is less agency as well, just implementing whatever features/roadmap the PMs hand down.
But I see other people on this thread have had the exact opposite experience.. so I guess it really just comes down the particular role, company and your interests.
We wanted to move from reporting on a daily granularity, with a 24 hour lag, to being able to support a minute granularity, with a 5 minute lag.
It was challenging, fun, and there was plenty of engineering fundamentals involved, just a different kind.
Unless you are working on greenfield projects I'd say the only reason is 1) It interests you 2) It pays more
I'm dying to find a non data engineering job but they all come with 30-50% pay cut.
(2) Industry still feels nascent; mission of self-service still hasn't yet been proven
(3) Your users are other software engineers, analysts, and data scientists. So opinionated power-users.
Happy to go more in-depth about this, I've helped several folks make the transition: beta.senpai.so/ataki12
I switched from a fullstack role to data engineering because I wanted to dig deeper into how to process streams (as an example) and build something that other engineers, and through the use of dashboards rest of the company, rely upon and in that way 10x myself. But also because I wanted to see if I can create the need for a machine learning engineer role at my company since that is what I would like to try out next.
In search, for example, I’ve seen teams turn Elasticsearch reindexing from a task that takes weeks down to hours. So many teams can build on that and it unlocks tremendous abilities for them to even care about improving search.
> Data roles heavily focus on particular enterprise products (Kafka, Redshift, Snowflake) at the expense of engineering fundamentals.
I’ve heard the opposite, ha! That “App dev roles rely on just prebuilt web frameworks and canned RDMSs, not the breadth of the full menu of fundamental problems out there” :-p.
In reality there’s a huge menu of databases and data processing systems that backend/data roles play with from spark, flink, Kafka, analytical systems and so on…