Briefly describing the environment, culture, growth prospects, internal situation, etc. in 2016; this review focuses only on software engineers.
The company has a flat structure with no bureaucracy whatsoever, and you can communicate directly with anyone, including the boss. The product has potential, the market has prospects, and it is a niche market with relatively few competitors.
The team members are young, energetic, and friendly. The company is highly internationalized, and work-life balance is fairly good, with very little overtime.
There are free snacks and drinks and an open culture. For experienced people with ideas, it is a stage where they can fully demonstrate their abilities (provided they are not responsible for handling bugs). The company is willing to offer high salaries to capable talent.
The product’s software architecture is chaotic, with layers built on top of layers and a high degree of coupling. The frontend technology is outdated and non-mainstream, making maintenance and the addition of new features relatively difficult. You may spend most of your time and energy fixing bugs. There are relatively few development opportunities, which can leave you lacking a sense of purpose and accomplishment. Software development processes and quality are not given enough attention; there is a lack of frameworks and standards, as well as documentation explaining feature planning, so you often have to guess. It is difficult to improve your software skills and experience. This is not suitable for inexperienced beginners; ideally, you should have 3–4 or more years of software experience. Even experienced software engineers and architects may face significant difficulties with refactoring because they lack domain knowledge in telecommunications engineering, resulting in a relatively high turnover rate.
If you still feel that something is wrong after working here for one or two months, there is a very high chance that you will leave within a year if you continue, so it is better to leave early.
There are serious obstacles to cross-departmental communication. Experts in both telecommunications and software development are needed to integrate the two fields (and, of course, there are probably very few people with such expertise).
People with experience in both software engineering and telecommunications engineering, and who enjoy refactoring, are likely to be a better fit.