Vantaggi
There are some very special developers on the R&D team at Heliolytics. I learned a lot from working with them. Joining as a junior developer also allows you to gain some technical work experience.
Svantaggi
All developers, no matter their work or experience or responsibilities, report to one person, the C.T.O. He is controlling and only knows a micro-management style tactic to get work done. His inexperience as a manager and unwillingness to develop leadership skills results in a toxic work environment. There are lots of examples of why I do not recommend working at Heliolytics as a developer. There is an abysmal level of technical debt that results in the development team spending most of their time making emergency fixes to existing code bases, or attempting to force old functionality to work for new out-of-scope deliverables. If not this, then developers are working on hacking together a prototype for the latest half-baked idea from the C.T.O. There is no time spent on generating documentation, or refactoring for code readability, clarity, maintenance, etc. and each new development 'hack' just adds to the debt. Critical production code is run on Jupyter notebooks, and a lack of standardization of version control results in problematic team collaboration. The C.T.O. has a severe lack of understanding of pipeline development, product management, time/resource management, so there are no sprints/milestones, no workflow methodology, etc. There is no bug testing and no unit testing, a general lack of best practices for software development. There are senior developers in the department who push for these processes, but ultimately get shut down. In fact, senior developers will plan for project progression by coming up with ways to make the C.T.O. think their ideas are his so as to unblock projects. Career trajectory for developers is murky and most if not all are stagnant in their roles. The C.T.O. assigns people to projects depending on how he wants people to interact (or to not interact) in order to maintain control over every project. This leads to a lot of talent and time being completely wasted. Across the whole company, there is a general lack of career growth opportunity and terrible company morale. For developers, there is inconsistent or non-existent performance reviews, making it very difficult to advance. The C.T.O. also has poor communication skills, resulting in unwarranted passive aggressive to aggressive feedback. There are also no K.P.I.s or metrics for performance, so it is unclear how things like 'discretionary' bonuses are calculated. As you can imagine, with a completely flat team structure, there is no paths for advancement or promotion. I was grossly under-compensated for the work I performed. Pay is very low across all teams, but there is also evidence that it is even lower for women. Overtime is not tracked and it was frequently expected that developers would be dragged into all-night coding sessions to meet deadlines, sometimes multiple nights in a row. There are a lot of signs of immature company management, leading to burnout. The benefits package is also the lowest I have ever been offered, and it is widely discussed by employees how awful it is to need to choose between certain health procedures in a given year. As for the leadership team as a whole, including HR, there is zero accountability. A lot of missed deadlines and penalties would result in tough questions but no change. A lot of feedback and complaints about company operations, workload, pay, culture, etc. have gone no where. Furthermore, numerous complaints about sexism, nepotism, battery incidents would get swept under the rug. Very inappropriate behaviour by the C.T.O. at social gatherings continued up until the time I left, and I don't doubt it is almost certainly continuing.