I’d consider my role at Pinpoint my first real “dev” job. Since pivoting to data science a few years ago I’ve moved deeper into the world of software, and my team has been instrumental in making me feel welcome to develop my coding skills in new ways.
There tends to be a stereotype that software engineering is an independent or even lonely endeavor, but I’ve found the opposite to be true. I find a ton of support within my team, who I work with to build tools and models that connect an even broader social community of engineers.
I’m still learning a lot about the engineering industry as a whole, acting like a sponge, trying to listen and take in as much as I can. Working in full-stack teams (meaning each team is staffed with reps from all the functional areas it needs – frontend, backend, data science, and infrastructure) has definitely helped with the learning curve. I get to interact more often with other developers that have different areas of expertise, and I’m exposed to a lot of different perspectives, tools, and strategies for success in the dev world. The data scientists have started what we call a “Code Rodeo,” where we share all the coding tricks we learn and bring back from our individual teams each week.
Right now, I’m working on a network graph model for Pulse, which is a personalized activity feed within our product. With data from developers’ issue tracking systems and code repos (eg. a specific repo, creator for a PR or project, who an issue is assigned to, etc.) my team is building NLP models to link similar PRs and Issues, ultimately making effective recommendations.
A cool aspect of my project links developers with similar profiles, based on their projects, repos, and other developers they’ve interacted with. We can draw a lot of insight from this, and will start to use the output from this model elsewhere in the product.
These network graph models have much broader use cases outside of the product I’m working on, especially in social media applications like Instagram and Facebook. It’s been challenging and interesting to apply this kind of network graph to software engineering teams – it makes you think about engineering as a social circle; developers, teams, communities, repos, and projects all work together.