I feel so sheltered! I've worked for the same SaaS product for about 8 years, and I don't live in a place like SF where it seems like everyone is "tech tech tech tech" all the time, so I really only have experience in this one place. I'm curious about culture, how legacy code is handled, team size, management style... Just anything/everything, really 🙂
I always find it a bit tricky to talk about my work TOO much because I always wonder where the line is when it comes to over-sharing the details of your employer? Are there unspoken rules about that kind of thing? I don't even know 😳 But here's a little snapshot of my work situation to get the conversation started.
My employer is remote-first at this point, although when I was first hired most people were local and worked out of the office. Over time things have changed, people have moved away but continued to work for us, and remote people have been hired. I quite like the remote lifestyle and I don't think I could go back to a regular 9-5 in office anymore!
We don't have set working hours but people tend to work anywhere between 8am and 5pm in their respective time zones. Sometimes people work weirder hours if it makes sense for them (a co-worker was in Japan for a month and decided to start their workday at 6am Japan time, for example) We chat online and use conference calls for when something face-to-face feels like a better fit. Sometimes we fly people into town for IRL team bonding.
The devs are really dedicated to building things properly and thinking a feature through holistically before writing any code, but it can sometimes be a struggle between development and product managers, trying to find the balance between doing something carefully/properly and shipping something by X date. I imagine this is fairly common in the industry. We have crunch times where things get hairy and we have downtimes where things feel a little smoother for the devs.
We are a small team, so during crunch times, juggling bug fixes, support requests, "can you quickly squeeze in this small quick feature" (lol) as well as working on whatever our current "big long-running feature" is, can sometimes be very daunting, and we're always trying to find ways to manage this workload better, but I don't think we've found the magic bullet yet. Has anyone???
Our dev process is also quite loose: We have a weekly planning meeting where we go around and each dev talks about their progress, how the week went, and what is up for the next week. We take notes each meeting and upload them to a "meeting minutes" repository on github. We also use a task manager to track assigned work. Sometimes I wonder how/if this could be improved. I like how simple it is but I don't think it works perfectly either. Does anything work perfectly??
Dev team is split by platform
- API (back end)/devops: Rails, Elixir, any devops-y infrastructure work needed.
- Front end: Single page web app so a lot of JS needed. Plus CSS of course. Front end team also manages an electron app.
- Mobile: iOS/Android devs.
Rarely do devs contribute "full stack" although it's not entirely unheard of. Recently we had a front end dev move to our API team because they wanted to grow their skillset, which is awesome and I'm so glad we were able to accommodate that.
I used to grow a lot technically due to the the people above me being excellent mentors, but more recently as I've become more senior I've found this to be harder. Now I find I need to go outside of work and read articles/try to do side projects to explore new technologies. I don't feel like I'm super great at this and I wish I was better! Since I am managing people I think it's partly my responsibility to research and bring things back to the team that I think could be good for us. An area for me to improve for sure.
I find the culture here to be very good. Management has historically cared deeply about employees and their lives and making sure people are supported, which is really nice.
Ok your turn! How is your job different, or the same??