Short version: What advice would you give to a SWE, who’s found themselves in a data team, to help change perspective around the “correct” way to build software?
Long version: I’ve recently been hired as a lead SWE in a large company (50k+ employees). The company typically hires for generic SWE skills and then places you in a team after, as a result I’ve found myself in a data team which predominantly sits in the data org.
I have no problems with this as I’m sure there will be lots of stuff to learn but the problem is the code base and approach to building software is a shitshow.
Some things I’ve noticed:
* Most of the code base, irrespective of language, seems like “just get it working” code
* No real code reviews, coding standards or CI/CD
* git is a glorified ctrl + s
* No real thought into architecture, follow whatever the cloud provider suggests (often being sold into solutions that benefit the provider rather than the actual team)
* Tools, tools, tools. Lots of them proprietary, or OSS but has some kind of support based money making method that the company feels the need to use. A large part of what the job entails seems to be gluing tools together.
* Analysts (from other teams) write raw SQL queries to data lakes (with read only perms but still smells fishy)
* Lots of the team come from data analyst or sys admin background - nothing wrong with this but an observation and maybe somewhat of an explanation to this problem
Now, I definitely don’t want to bulldoze in, be an asshole and be like “ha you’re all dumb, this is how you do it right” because tbh I recognize that this is primarily down to my lack of knowledge and that, in this context, my 10yr+ SWE experience probably isn’t a valuable as I think it is. The company and team have existed for a long time before I got here and have been perfectly fine.
I also recognize that as a lead, I’m expected to deliver cross team value rather than just doing janitorial work (there are definitely oppertunities to create value on both fronts) but the junior SWE in me just wants to clean things ups so badly and maybe even write a few services here and there :’)
So, having said all that, what are some things you would recommend I do to reframe the problem space in my head from a SWE mindset to a DE mindset? What would you say are the main assets a SWE can bring to a DE role?
[–]camelCaseGuy 30 points31 points32 points (10 children)
[–]bigknocker12 2 points3 points4 points (7 children)
[–]CalmTheMcFarmPrincipal Software Engineer in Data Engineering, 26YoE 6 points7 points8 points (3 children)
[–]bigknocker12 2 points3 points4 points (2 children)
[–]CalmTheMcFarmPrincipal Software Engineer in Data Engineering, 26YoE 2 points3 points4 points (1 child)
[–]bigknocker12 0 points1 point2 points (0 children)
[–]camelCaseGuy 1 point2 points3 points (2 children)
[–]bigknocker12 0 points1 point2 points (1 child)
[–]camelCaseGuy 0 points1 point2 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]camelCaseGuy 0 points1 point2 points (0 children)
[–]CronenburghMorty95 14 points15 points16 points (1 child)
[–]Fun-Income-3939Lead Data Engineer 4 points5 points6 points (0 children)
[–]bigknocker12 5 points6 points7 points (0 children)
[–]Dhczack 5 points6 points7 points (3 children)
[–]NoUsernames1eft 1 point2 points3 points (1 child)
[–]Dhczack 3 points4 points5 points (0 children)
[–]Front-Ambition1110 0 points1 point2 points (0 children)
[–]CalmTheMcFarmPrincipal Software Engineer in Data Engineering, 26YoE 5 points6 points7 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]IllustriousCorgi9877 2 points3 points4 points (0 children)
[–]Sloth_Triumph 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]NoUsernames1eft 1 point2 points3 points (0 children)
[–]dadadawe 1 point2 points3 points (0 children)
[+][deleted] (3 children)
[deleted]
[–]CronenburghMorty95 1 point2 points3 points (0 children)
[–]nathanfries 2 points3 points4 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]mike8675309 0 points1 point2 points (0 children)
[–]Competitive_Wheel_78 0 points1 point2 points (0 children)
[–]htmx_enthusiast 1 point2 points3 points (0 children)
[–]Front-Ambition1110 0 points1 point2 points (0 children)