Pros
I had a great direct manager / tech lead for most of my time at HelloSelf. The socially positive mission and mental health domain attracts lovely, caring individuals, more so than other industries. I've made long lasting friendships throughout my time here. The pay is not bad if you are able to negotiate. However, this is definitely not the same for everyone. Remote working 4 days a week, although this seems to be changing as there is a drive to go into the office more. This is also not the same for everyone. Private health insurance including dental care. Although HelloSelf is an online therapy provider, therapy is not free if you consider the excess payment.
Cons
Avoid HelloSelf if you want to grow as a Scala developer especially if you want to work with a functional typelevel stack. I joined with expectations of developing my functional Scala skills but the reality is that I spent a lot of time working on legacy code that I felt was poorly written, designed and structured. A lot of intelligent, experienced developers I respected and learnt from were made redundant or resigned. I learnt more about what not to do if you want to build a scalable backend platform. Personally, I did not learn much or developed my skills beyond my first few months at HelloSelf. Moreover, day to day work as a developer was extremely unfulfilling. I felt like the current code base and architecture was horrible to work with. In my opinion, there was way too much inefficiencies in the codebase; extremely poor solution design made it unnecessarily complex and almost impossible for me to build on top of. In my experience, developers were encouraged to use hacky solutions to fix bugs and build features as there was pressure to deliver things quickly over designing proper long lasting solutions. Best practices, or even good practices weren't really a thing here. Even tech leads were making changes that I found would be considered unacceptable in most other companies. Releasing even simple changes often felt like walking through a minefield because of how unreliable and fragile the platform was. Projects developed over months were often shelved or rolled back, which made day to day work feel even more pointless. I found the messy state of the codebase particularly frustrating. After experimental features or iterations, code was often left in place - unused, duplicated, or poorly structured. This made it incredibly difficult for me to navigate. On several occasions, I would spend hours just trying to decipher old, unreadable code before even being able to make my own changes. In my experience, attempts to clean up the codebase were actively discouraged, and it was clear to me that management prioritised feature development over addressing tech debt. This was especially frustrating because, from my experience, the constant need to wade through this mess actually slowed down feature development, making it feel like I was working around a broken system rather than improving it. I don’t believe that the Leadership Team have the competence, skills, knowledge or vision to lead HelloSelf. The direction of the company was constantly changing, and as a result, months spent on planning and developing features were often wasted. When things didn't go as planned, it was always the people lower down the hierarchy who took the biggest hit, whether it be redundancies, drastic changes to team structure, or changes to the way we were managed and the way we worked. The messaging from LT was that those of us lower down were not building things fast enough, we needed to change the way we work, “work smarter not harder” and deliver more value. There was no admission or acknowledgement that there needed to be improvements in the way decisions were made from the top. Job security is at an all time low. With layoffs happening frequently, the mood is down and those who are “safe” still wonder whether they are the next to go. There seems to be a continuous cycle of layoffs, resignations, hiring to backfill roles. The redundancies did not seem to be based on merit since we didn't have performance reviews and direct managers did not seem to be involved in the process. Messaging from LT about redundancies was weirdly positive and secretive, which in my opinion was very out of touch. It is not a stable environment to be in, let alone build a career. There are little to no opportunities for growth, regardless of seniority. There was barely any attention to performance, personal growth and individual career goals in my time there. Even when many developers left and roles were backfilled, there was never a conversation for existing developers to be promoted into those roles. The fact that there were no performance reviews, pay reviews or open conversations around promotions shows how little they cared about rewarding people who contributed to the company. When I tried to start a conversation about being evaluated for a promotion, it was met with awkwardness and then ignored, which made me feel very demotivated and unappreciated.