Pros
Harmonia is a great place to work for a software developer because it is a smaller, software-focused company that allows anyone to have a voice and fulfill their potential. It is an old enough company to have well-defined processes in place that make moving between teams almost seamless, but is new enough that they are not set in their ways are very open to change. Given that it is a software company, there is a focus on best practices and doing things the right way. No one at the company is too junior to make suggestions and be heard. There is a need for capable team leads, so if you are a skilled developer, you will have the opportunity to become a team lead at some point. Furthermore, if you do exceptional work, you are likely to be recognized with a monthly or yearly award, and occasionally a performance bonus. All software teams in Blacksburg report to one manager. He is very capable, runs the teams well, and is the driver of best practices and empowering capable developers at the company, among his many other duties. Management in general is hands-off and allows developers/teams plenty of leeway to perform to their abilities. Management is accommodating to personal needs and work-related preferences. Overall, Harmonia is good at putting the most capable people in positions of (relative) power and influence so that they can drive the processes, policies, and best practices of the company. You will not be held back by politics or bureaucracy, and you will be allowed to reach your potential at the company.
Cons
Where Harmonia is struggling right now is getting and keeping talent, a culture in a period of transition, and lack of upward growth for developers. There has been a fair amount of turnover in my two years at the company. While there are some brilliant, experienced developers who aren’t likely to leave, experienced devs tend to leave after a few years. New hires are generally fresh grads, decreasing the average level of experience at the company. Experienced devs are having to spend more time supporting newer devs and less time innovating. The crux of the problem, in my opinion, is the lack of upward growth for developers. Essentially, once you become a team lead, there is no promotion to aspire to. Some developers don’t mind, but others look outside the company for their promotion. The company culture is in a period of transition right now. When I came aboard in late 2017, the culture felt really strong. There was a sense of kinship and a feeling that what we were doing was important. The company would throw a huge (Blacksburg) Christmas party, which everyone loved. Due in part to the turnover, and in another part to an apparent tightening of the belt, the culture feels like it has slowly dissipated. Our annual Christmas party was canceled, in favor of a party in DC that the majority of the Blacksburg office won’t attend. Small things like healthy office snacks are being replaced with cheaper alternatives. Developers, especially in Blacksburg, feel like less of a priority than they used to. Overall, most of these things have changed in the two years I was with the company, and so they may very well change again for the better.