47 Days at 47 Degrees
I recently finished my 47th day at 47 Degrees, and I figured it would be a good opportunity for reflections on my initial impressions of the company. A reflection was definitely overdue: after five years at my previous company, there were a lot of new things that I have been processing, and it’s more fun to do a 47-day review than the usual 30-day process. The specific number of days notwithstanding, I’m grateful for taking the time to reflect because now that I’ve had the chance to think back on my first 47 days here, I’m coming to realize how special of a place 47 Degrees is. Below, you’ll find my best effort to consolidate my thoughts on some of the things that have stood out to me in my first 47 Days.
Passionate, Motivated, and Helpful Coworkers
First and foremost (and yes, I know it’s cliche, but hear me out!): the most impressive thing about 47 Degrees so far is the people. And it’s not just that my coworkers are experienced and passionate software engineers1 – my favorite part about 47’s people is that they have cultivated the most positive question-asking environment I’ve ever encountered. The language-specific Slack channels are like a better StackOverflow in both the specificity of the collective knowledge (for example, I posted a question about the most efficient way to decode a list of JSON objects into a list of case classes with Circe and received helpful responses from 3 separate people within 30 seconds), and the friendliness of the people providing the advice (heart emojis, thumbs up, and general encouragement abound).
My coworkers haven’t made me feel shy about asking questions either; rather than feeling like I’m wasting time with my questions everyone is happy to puzzle through problems with me. At my past company, there was a tendency to immediately shunt question-askers to the appropriate Slack channel, which I imagine was more of a product of our large engineering organization than it was an unwillingness to help. Still, it didn’t make the person asking the question feel very welcome. As a result, I feel like I’ve learned more about functional programming, responsible open-source maintenance, and managing client projects & expectations in the last 30 days than I did in my prior three years of work (and I previously worked on client engineering, open-source, and FP Scala, so it’s not just that I’m learning a new domain).
In composing my coworker’s approachability, expertise, and breadth of knowledge together, I can see why 47 Degrees has a significant impact on the functional programming community that belies its size. As someone who is intrinsically motivated to improve the open-source community in this space, and my initial impression is that I’d be hard-pressed to find better comrades in this mission than the employees of 47 Degrees.
Asynchronous Global Operations
In addition to the people, I’ve been initially impressed with the operations of 47 Degrees. Considering we’re a small but relatively globally distributed company, I’m not surprised that 47 Degrees doesn’t have many of the synchronous processes that seem to plague larger organizations. Still, I’m impressed to the degree to which this company executes asynchronously.
Everything needing review goes through Github. Weekly status updates are done via individual write-ups and summarized and published across the organization globally every week. This process allows every employee to stay up-to-date on what’s happening across the company without needing to all do it at the same time, which is a problem that plagues daily stand-ups or weekly all-hands meetings. Finally, HR processes are all handled through self-directed software, so things like requesting vacation or sick days are simple and red tape-free. Coming from a company where our smooth operational process and focus on transparency were things that I really valued, it’s cool to see those values not only done well but done well asynchronously. In my opinion, the best part is that through finely tuning these efficient and asynchronous operations, 47 Degrees frees up a ton of space for its employees to simply get stuff done. As an engineer, I can’t ask for much more than the time and space to do creative problem-solving.
In fact, this combination of experienced, helpful, and passionate coworkers with rock-solid distributed operations are foundational components to what is my final major takeaway about 47 Degrees: the company places an incredibly high level of trust, responsibility, and autonomy on each employee in everything from onboarding, to working on billable and open-source projects, to proposing talks. In practice, what this means is that the company creates a lot of space for its employees – for example: unless I’m engaged on client projects that require face-to-face meetings to discuss future milestones, I expect that my whole week is not booked. Granted, there’s always work to do (and it’s rarely trivial work). Still, without any of the process overhead that I experienced in my prior corporate role, there’s plenty of room to chew on ideas, work through problems, and take breaks as necessary. While it’s possible to trip yourself up with all of this freedom (and the expectation that you’ll need to unblock yourself, rather than be saved by a process), I’ve so far found that it’s been an excellent environment to learn, experiment, and grow as an engineer.
That said, despite having many positive reflections to look back on, one of the things that I’ve really struggled with since joining has been a major onset of impostor syndrome. It manifested across all of my work – I was terrified to submit PRs (which is ironic, considering that my first ever PR to the company had a typo, so it’s not like I had some impossibly high bar to reach), and I felt nervous about speaking up, even on subjects that I ostensibly understood. In hindsight, though, this impostor syndrome made sense: I was coming into a role where I was one of the younger and least-experienced engineers, I was now working on open-source that I loved (and deeply admired the maintainers thereof), and I wanted to make a good first impression. I wish I could say that after 47 days of working with these great folks and contributing to projects that I never imagined I’d get to work on that my impostor syndrome has gone away, but it’s not that simple. In my experience, these feelings of inadequacy rarely just vanish apropos of nothing, but they have gotten a lot more mellow for me recently, and I imagine that they’ll continue to improve as I become more comfortable with the work. Another contributing factor to the decline of my impostor syndrome has to be how positive, encouraging, and accessible my coworkers have been: it’s a lot less intimidating making your full big pull request on a large open-source project when you know that the people reviewing it have your back.
All of this is to say that, despite impostor syndrome and the usual firehose of onboarding, my excitement since joining 47 Degrees has grown in the month that I’ve been here, and I’m more convinced than ever that this place will continue to innovate when it comes to engineering the future of enterprise and open-source. As the first 47 days at a new company go, it’s hard to imagine them going better.
Stats don’t tell the whole story, but here are some fun ones that demonstrate what kinds of engineers we tend to hire:
- 8% of engineers have a Ph.D. in CS, and 38% hold a Masters degree
- The average experience level across all software engineers is 9.5 years
- 72% are contributors, maintainers, or lead authors of open source software with a combined star count of over 12k
- That’s not to say that engineers new to the game are neglected or undervalued – the company has taken on many mentees, new open-source contributors, interns, and others that they’ve invested in training and subsequently hired.
- Bonus stat: The company has invested over 22,000 hours in open-source work in the last year alone