Hungarian software company transitioning from a startup to an enterprise
Pros
- Almost every team has its own office, meaning that the offices are not big "open floor" plans. There are no cubicles. Do not expect more than 15 people in an office. - People and teams have great freedom. Nobody will force some tool on you, that you do not want to use (as long as you can meet the requirements). - The work hours are really flexible. If you feel like it, you can come for 6 AM, but 11 AM is also fine. Have an appointment in the middle of day at the other part of town? That's fine, as long as you work 40 hours a week. - The buildings are very nice with some exceptions. The view from your office can be magnificent (well, if you like Budapest). - You can have a lot of responsibility even in a junior position. - Navigation can be a really interesting fields: it requires a unique HMI, it is a truly global field, so be prepared to tackle issues with Thai, Korean or Chinese, etc. - You can work with major automotive companies. - If you "just want to write some code", than this is the company for you. You can create prototypes, and worry about the details later. You do not have to deal with documentation, or some overly restricting coding standard, there are no sign-offs, etc. Many ways it still feels like a startup. - The company has been profitable for years, and the profit grows year after year. - Hundreds of thousands of cars run the developed software. - Overtime (if ordered) is always paid. In most cases, you can say no to overtime. - Although the owners are foreign, the headquarters is in Budapest, so the big decisions are made in Hungary. It's not like a multinational company, where the decisions are made by the higher ups in the home country. - People are generally friendly, and as a developer you do not have to worry about backstabbing, office politics, etc.
Cons
- The company has a single product, making it very dependent on it. - There is little to none documentation, no processes for most of the technical operations. Even if there are some formal process descriptions, they are not enforced. This is the company that does not have a coding standard for C++. There is a comprehensive coding guide, but that only applies to new code, and it is not really enforced. Be prepared that every source file will have different coding style and indentations style. - For other things, like procurement, there are strict procedures, that can be very slow. - Changes from the management sometimes feel like they weren't really planned properly. - "Home office" / "work from home" is only allowed in exceptional circumstances. - Freedom is great, but currently we use three completely different chat solution. Good luck figuring out who uses which platform! I think there are some decisions that need to be made at the company level. - Technical leadership is often missing, or ineffective: tech debt is still accumulating instead of shrinking. - Severe lack of test automation, which makes code refactoring almost impossible or crazy risky. It would be needed, since some parts were written by people who had narrow understanding of software design (objects, encapsulation, etc.) at the time. - The quality requirements have dramatically increased, since the company started to have clients from the automotive industry, but the code quality hasn't really improved, "only" the bugs were fixed. For the record, there is an ongoing project to do some level of redesign, but it should be just the first step. - There is quality control, but true quality assurance is sorely missing. If quality is important to you, this is not the company for you. - The morale is generally low. People generally don't believe in themselves, don't think that they can improve things. - A big part of the company is currently undergoing an agile transformation, but we're only focusing on the management aspects, not the technical ones (test automation for fast iteration and quality, documentation for knowledge sharing, etc.). Getting the management right is important, but without the technical improvements, this will not have a big impact. - Problem solving is rarely systematic. System level thinking is often missing. - I think this company has the potential to become a very good place to work, but at the moment, it is very chaotic with a lot of technical debt, that needs to be fixed.