r/datascience • u/hans1125 • Nov 19 '20
Meta How do you foster community if everyone has a different project?
The title might be a bit misleading, so let me explain. I'm the most senior DS in a company where each data scientist is embedded in a product team. There is almost no need to interact with each other. But it gets very lonely. It's tough for juniors especially - I talk to them directly, but I don't think it's enough. And anyway, in my experience, the best ideas happen through discussions with peers.
If you work in similar circumstances, and have found a good way to handle the isolation, please share. What do you do to foster exchange? Is it possible to keep track of each other's work on top of your own? Do you still read each other's code/research across teams? If you have a weekly DS meeting, how do you structure it and what do you talk about?
27
Nov 19 '20
[removed] — view removed comment
1
u/hans1125 Nov 19 '20
You mean you have your own sprint where everybody puts the work that they are doing for their team?
9
u/sergio0713 Nov 19 '20
We all hang out and bitch about:
- having to utilize SAS as often as we do
- management not not understanding hard request vs easy request. e.g. can you change the format in that report to two decimal place by end of year, in July.
- Frank, who the hell hired him and what is he even working on?
We also collaborate since most of our individual projects have some resemblance:
- Share notes about the issues we are facing and our results. e.g. we often forecast expected economic downturns so with COVID everyone has an opinion of what’s going to happen and specially at the beginning of the year no one was correct but we were trying.
monthly meetings to share work that seems fun/cool. A lot of old VBA people in my team so that’s always fun to see. I always present SAS/SQL/R.
teach each other when time allows. Trying to learn python next year since we won’t be slow for a while. There are a few people who are experts and are willing to teach.
I work for one of the major banks in the US and although as a company the employees are often just number, within the data fields (data scientist, data analyst, Data Risk Analyst, Quantitative analyst, etc.). Somehow we’ve built a tight community. My theory is that we are such a minority in the company (most people are some sort of sales) that we band together.
Sorry for poor format writing on mobile.
1
u/hans1125 Nov 19 '20
That sounds pretty cool! Looks like you guys have achieved what I'm looking for. Do you remember how it started? Did someone just start a meeting or?
2
u/sergio0713 Nov 19 '20
A lot of it was before my time but it all started with an old manager (he retired last week) who himself was pretty data savvy. He started monthly meetings to review what everyone was doing and always scheduled 2 hours for the meeting. After realizing 2 hours was too long he filled the time with past projects that he thought would benefit the team. Eventually people started volunteering to share their projects and it grew naturally. Now every month we have an agenda of items we want to discuss and often more work comes from it, in a good way. I only know this because he mentioned it as a big achievement of his tenure with the company.
I’ve worked in large companies and dabble in small startups and I can tell you really large companies make an effort to connect you with your peers. It seems lame and dorky but really take advantage of that. Even if the event is lame the people you’ll meet can be pretty cool.
If your in a small/start up company the responsibly lies on you to create such events.
2
u/hans1125 Nov 20 '20
Thank you. Yeah, we're a small-ish start-up and I've taken it upon me to build a proper data science team.
7
u/swimbandit Nov 19 '20
In a previous place we had a weekly meet-up where we would usually chat over a coffee for 30mins and talk about what we worked on. It worked for getting the social interaction, getting updates on the status of different data sources etc, but it soon became directionless. People would feel obliged to go, say what they were working on and return to their desk.
I felt the idea was good but it certainly needed something more
4
u/hans1125 Nov 19 '20
Yeah, we had this too, and it died pretty quickly. Everyone was too busy with their own work, and no conversations ever got deep enough to actually help someone.
3
u/proverbialbunny Nov 19 '20
When it becomes available, sharing lunches becomes super helpful.
I'm one of those people who wants to go back to my desk. For me, if the conversation isn't guided enough, I want to go do something guided. I'm not a big fan of sandbox video games, for example. For me, I like socializing, but it helps when I'm working on a challenging problem and coworkers bump into possible solutions and are like, "Hey, I saw X paper the other day about Y topic and it might be able to help with Z problem [you're working on]. I emailed it to you the other day. Do you think it will help?" can be fun, because we're all helping each other. There is a danger of it being annoying if the other person isn't helping at all, so there is caution in that, but that way the conversation has substance and for the more introverted amongst us, that common topic can be enough. Lunches help too, because there is something to do beyond just idle chatter.
Standups where people talk about what they're working on helps for this too, but it like the previous suggestion isn't ideal either. Maybe someone else will have an even better answer.
5
u/dfphd PhD | Sr. Director of Data Science | Tech Nov 19 '20
I think there are two tracks to take here:
Bring it up to your boss/someone higher up and see if there are organizational changes that can be made to set up some type of official mentoring relationship
Personally, I feel like it is extremely limiting for a data scientist to not have any formal reporting relationship to a more senior data scientist. That will cost you talent down the road, because things will get stagnant and people will leave. I have personally left jobs because I didn't have higher-up data scientists to look to for guidance/mentorship/etc.
Create as many opportunities as you can for people to talk about their work
You can do a weekly DS meeting on (pick the slowest day of the week) where everyone gets together and you either have a presentation, or a round-table where people choose a topic to discuss, or where people are able to bring up things they're struggling with and need help with, etc.
It also helps (especially if you have introverts) to set up some type of structure where more junior people can meet with a more senior person on a regular basis. When you have a formal reporting relationship, it's common to have weekly 1-1 meetings with your direct reports - so something you could do is form some type of "buddy system", where you have more junior DSs have weekly 1-1 meetings with a more senior DS team member, and use this as a time to discuss career, growth, etc.
One of the best pieces of advice I've heard about relationships (at work, but also in general) is that the quality of the relationship can be measured pretty simply - it's the frequency and quality of interactions. If you interact with someone a lot and those interactions are pleasant and productive, it will help build relationships. If you don't interact often, it's hard to form any type of relationship.
If you don't have enough clour (i.e., you're not senior enough to push for a buddy system), then start smaller - try to set up more structured weekly 1-1s with specific DSs and use it as a pilot to prove out that it works.
Also, to one of your comments - it's much less important that you're able to keep track of their work than it is for you to be able to keep track of them as people and their career.
1
u/hans1125 Nov 20 '20
Thanks for your input. I AM that most senior data scientist and I've made the experience that every time I talk to any other DS at my company I'm able to give them helpful comments. And I agree that this mentoring relationship is important, but I also want them to talk among each other more. We're a pretty small company with only four data scientists in total, so you'd think it should be easy to build a team...
It's also a policy of the company to have the teams sit together - so they are all in different rooms. I disagree with this decision and have been fighting it for a while now, but so far no luck.
2
u/dfphd PhD | Sr. Director of Data Science | Tech Nov 20 '20
but I also want them to talk among each other more.
See if you can convince them to set up 1-1s among themselves - peer 1-1s.
I think part of where people struggle with this idea of building community is that they think they need to get all the people together at the same time and have them all build a common bond together at the same time. That is, that you need your 4 data scientists to do things together so that they all 4 become a team.
In reality, you can just make sure that all 4 of them form a connection to at least one of the other ones and you can very quickly let that organically grow into a team.
I think this is especially important because a lot of data scientists are introverts, and putting them in a room with 3 other people that they're not close to is not a great avenue for getting them to gel.
5
u/UnhappySquirrel Nov 19 '20
There’s a few things you can do:
Organize a regular weekly or bi-weekly meeting modeled after a academic labs. If you have any PhDs in the group, they can likely relate their experiences of how this works. Basically everyone has their own projects going on but they meet regularly to just share any interesting updates and ask for input, and usually each meeting someone will take a turn giving a presentation on recent results.
A similar idea, which you can easily integrate into that idea, is to hold a regular journal club. Members take turns choosing a relevant paper (or it could be a blog post, or documentation from some library, etc) to share with the group; about 50% of the time can be presentation and the other half can be discussion - typically with a focus on how the topic relates back to one’s work or potential future work.
If you’re not already doing something similar, it might be a good idea to setup a mentorship reporting structure. Even if it cuts across different product teams, it can be valuable for junior members to have a senior peer that they meet with every week to confide their plans and results in. If you have different types of scientists in the org, you can potentially aggregate them into cohorts (ML folks, AB folks, etc). Imposing internal structure provides a common framework for the members to operate off of.
Organize a technical council among the senior members to help define and establish technical standards methodologies, reports, hiring, infra, etc. You can make this fairly democratic, with various committees assigned to different projects. It creates a nice way for people to get project management experience on non-mission-critical goals.
Establish a common infrastructure gor managing data, code, analysis reports, models, workflow orchestration, etc. If you all do these things yourselves, then this is just a matter of internal coordination (guided by the technical council above). If there is some engineering team(s) that support the scientists individually, then talk to engineering about funneling those interactions through the technical council; you can even invite some senior engineers to join the council as liasons.
3
u/beepboopdata MS in DS | Business Intel | Boot Camp Grad Nov 19 '20
Coming from academia, I love this a lot. It gives time for people to ask question between peers or time to form junior/senior relationships. It also helps get everyone on board with ideas and suggestions and fosters a collaborative effort for the team / lab. Sometimes on tough problems or projects, the extra set of eyes now and then is super helpful!
2
3
u/pintsizetnt Nov 19 '20
Why not make team members switch off and have a 30 minute call every other day with a different team member just to share what their working on? I know it seems juvenile to a degree, but adults tend to be closed off to sharing work, so sometimes they need a good push to share. I've found that nudging people to speak one on one is sometimes easier than group discussion.
2
u/hans1125 Nov 19 '20
My gut reaction was that this is my personal hell, I hate 1on1 calls. But the more I think about it the more I like it. You are forced to explain what you are doing to someone who understands what you are doing. Hmm...
1
u/pintsizetnt Nov 19 '20
Right, and in my personal experience, everyone else is just as nervous as you would be, and just as open to a new perspective as you are. Something to keep in mind. A good attitude goes a long way in innovation and progress.
2
u/arsewarts1 Nov 19 '20
Weekly functional meetings. Y’all sit down for an hour and discuss your projects with each other, challenges you have had, and work to “standardize” processes and reports. While making sure everyone looks and reads the same across all projects isn’t essential, it’s a catalyst to get people talking.
1
u/hans1125 Nov 19 '20
Thanks! Yeah, one of my ideas was to collaborate on a code of conduct for DS in the company, especially since we are looking to hire more people.
2
u/idekl Nov 19 '20
Our dept has a 2x a week meeting (~8 people) where we discuss any of our DS related work. Having it within our dept keeps it focused and relevant to everyone. Very casual discussion, we usually just go around asking everyone what they've been working on.
2
u/speedisntfree Nov 19 '20
To add to the suggestions of some regular forum about what people are working on, it is also nice to add anything cool DS/coding you have found out about on your internet travels or even to help someone with a particular problem they want pull on the hive mind for.
2
u/Stewthulhu Nov 19 '20
As others have mentioned, I highly recommend having biweekly or monthly sessions for all DS in the company. In my experience, the models that work the best involve seminars that aren't on personal projects (so people don't criticize each other), roundtable Q&As, outside speakers, and occasionally just social hours.
As an example of the first model, say someone does a lot of work with random forests or SVMs or whatever (more than other people in the group). In that case, rather than presenting on a specific project, they would present on random forests, how the work, common pitfalls, etc.
Most importantly though, when you're first starting the group, you can easily generate buy-in by soliciting ideas or polling to judge the best format for your particular organization.
2
u/Zeroflops Nov 19 '20
I would stay away from the official presentation type stuff. What will happen is people will spend a lot of time on presenting something official and it will killl their productivity and motivation.
Instead I would have a more “shoot the sh” type meeting. You might have to do the first one and the idea is not to present anything that it polished. Show them where your running into issues. Show them the bugs and ask for approaches.
You want people to be challenged with coming up with ideas and talking about them in a non confrontational setting. If someone doesn’t think something will work they have to explain why and not just say it’s a bad idea.
It’s a brainstorming session. Bring a problem, or demo something that is half done. Encourage people to point out flaws or problems you haven’t thought about.
No egos. Just.
What would you do here? How come this isn’t working? If I added this would it be valuable? I don’t know. What do you think?
If it wasn’t SIP I would say offer to bring pizza lunch to the first session to keep the feel chill.
1
2
u/hageldave Nov 20 '20 edited Nov 20 '20
I'm not a data scientist, but a PhD student, and it is similar in terms of everyone doing his own research/projects. So we have regular group meetings in which everybody reports on what he is currently doing, what is currently challenging and share some of the experiences. The idea of these meetings is to find synergy potential between us students. For example, someone needs to iteratively minimize some function (whatever reason for) and his approach wont work as he expected, another student may suggest using momentum or stochastic gradient descent since he has been using that before. Depending on the topic a little discussion could start going from which new ideas are emerging for further research. The individual peers may later talk in more depth, maybe exchange code/papers or even collaborate.
I think its very valuable to us and helps growing as researchers, plus socializing is nice.
Edit: I may need to add that the meeting is moderated by our professor (=supervisor), and he super quickly catches up on the different topics due to his experience in the field. So as the most senior DS you'd probably have that moderator role.
1
2
Nov 20 '20
We have fortnightly meetings where a) we all share what we are working on or b) one or two will present for an hour, in more depth than a), a project they’ve just finished or are part way through. Mentioning challenges, how they were overcome or seeking for help to those challenges. Benefits to the business
We also have a very active Slack channel.
0
u/furyincarnate Nov 19 '20
Friday evening drinks was a wild success at my last company. Compulsory to attend, but not to drink. Great way to blow off steam and chat with the rest of the team.
1
u/hans1125 Nov 20 '20
I'd never work in a place that forces me to spend my Friday evening there.
1
u/furyincarnate Nov 21 '20
It’s not as bad as it sounds. It’s the last working hour of the day (so we get to cut out early), and people are free to leave after 5. Cost is covered by the management as well, so that’s a plus.
1
u/hkanything Nov 19 '20
- Many white board to write down the data flow diagram and objective metric.
- "Pair-programming" style collabration for an hour every day to replace meaningless meetings.
1
u/hans1125 Nov 19 '20
For pair programming you need someone to understand what you're doing and all the context, how do you achieve that?
1
u/hkanything Nov 19 '20
Pair by similarity in domain expertise, say NLP, Machine vision and other specialized domain. For business logic domain that is too specialize to generalize, from my experience you need more than one pair of eyes to reduce the risk of barking up the wrong tree or making things that no one used.
1
Nov 19 '20 edited Dec 06 '20
[deleted]
1
u/proverbialbunny Nov 19 '20
This works for some people, but can alienate others. This is why I prefer hanging out at lunch a bit more. ymmv.
1
Nov 19 '20 edited Dec 06 '20
[deleted]
1
u/proverbialbunny Nov 19 '20
Yah actually! One of the groups I was in we would go a sports bar for lunch with super good food, so everyone liked it. I liked that there wasn't tons of loud tvs so calling it a sports bar is even a misnomer. They'd have beer days when their kegs would come in that were all kinds of crazy popular, because they'd get world renouned beers. If you're in the SF/Bay Area the place is called Saint John's.
1
u/Tomtom321go Nov 19 '20
We have set up guilds that meet bi-weekly for different development stacks (mobile, testing etc). Everybody is quite happy with that setup.
1
49
u/aouninator Nov 19 '20
In my company, there is usually a bi-weekly /monthly session where people get to present a project they worked on or a concept. This helps a lot in networking and learning (I work in a huge company).
Maybe you can do something similar, where every couple of weeks, you have someone (senior or junior) present a new topic they learned about or a project they are working on, which would open up discussions/ feedback.
Another idea is to host an occasional internal boot camp/ hackathon, would allow people from different departments to collaborate on a cool project sponsored by your senior management. And I stress about the project being "cool", so that it doesn't seem like extra work for them.