I am not writing this article to show anyone the way, but to scout out the way for myself. I have only been fortunate enough to have worked in both large and small companies for some time, but have no right to advise others on whether to go to a large or small company. I think everyone has their own understanding and awareness of this issue, and also have different ideas at different stages. This article is just a simple and objective description of my real feelings from working in different places, without any emotion. I hope that through my experience, I can give you some inspiration, and I also hope that those who have passed through will give me some advice, I am also very confused about this.
I started my undergraduate degree in computer science and really got involved in the computer industry, and I was very lucky because I quickly fell in love with the field. It's not that I like to be immersed in the sea of technology and enjoy the joy of technical control. Just for the little sense of achievement and vanity when my achievements are enjoyed by others, I think that's enough for me. Because of this, I did not spend 4 years of undergraduate time with Internet cafes and games like my classmates, nor did I deal with books for 4 years like the cowboys. I chose to learn the technology, practice it, and implement my ideas in code. I enjoyed the process of designing products and the thrill of turning designs into reality. I enjoy the process of designing products and the thrill of making design a reality. I grew up gradually. I was not satisfied with my own hard thinking, because I knew that I could never make a breakthrough with my knowledge and experience.
Then, I started to work as an intern in various companies. Some were private companies, some were foreign companies, some were large Internet companies, and some were startup teams with a few people... I can say without exaggeration that apart from state-owned enterprises and public institutions, I did technical work in teams of various forms and styles. Some have done execution, some development, some design, some management. One thing I want to emphasize once again - I am very lucky. I have been to so many places and in so many positions at such a young age. This has also given me a better understanding and voice in this industry, especially the Internet.
Below I will talk about my most intuitive feelings for your reference, and I welcome your criticism and discussion. To avoid categorizing them too closely, I'll just briefly describe them as large and small companies.
Let's start with the large companies.
An imposing office building, a cool office environment in winter and summer, spacious and clean desks, free coffee and juice, high-mounted development machines, space-sufficient servers, powerful clusters, a reliable maintenance department, sound work systems and rewards and punishments....
A stronger technology than one, a concise document than one, a clear PowerPoint than one, a professional email than one, a piece of code than one, a line of detailed comments....
Excellent salary level, good benefits, decent work unit, huge space for growth, rare opportunity to exercise.......
The above list is common to many large companies, but there are pros and cons to everything, and there are some cons to large companies.
The tasks assigned to each person are often a part, sometimes fragmented, sometimes belonging to the periphery of the implementation of non-core functions, it is difficult to let you have a good understanding of the overall situation and grasp. In a large company, the division of labor is often more specialized, especially in the beginning, the part you are responsible for will not be very broad, which will lead to a long time, your growth is limited to your area of responsibility, it is difficult to grow in all aspects. Usually, when the whole department holds a meeting to report on the progress of work, you can only understand the part that you are reporting, but you know very little or nothing about what the other teams are doing. Of course, this will make you more in-depth and professional in a certain area. The pros and cons of this are up to you to decide.
Let's look at small companies in contrast.
Commercial and residential office, concrete floor room, internet cafe like office space, free plain water, one or two hosting servers, slow as hell windows....
Open-minded coworkers, simple documentation, a variety of code styles, optional comments, technical communication once a week, interviewing people n a week....
Stressful but happy working environment, decent salary, good opportunity to hone your skills, big room for growth....
Compared with large companies, small companies have many shortcomings, but there is one thing that I appreciate most - the spirit. Usually, small companies are in the early stage of their business, and all the people in the company have worked hard together to get here, and they are very eager to succeed. There's more trust and closer relationships. In addition, the company's performance is linked to individual performance in a very small proportion, so there is always a feeling that something is wrong at work. From the point of view of personal technical growth, small companies are more likely to train all-rounders, you need to complete everything, there are only a few officers in total, so everyone will grow quickly, and can do everything. But it also brings the disadvantage that it is wide but not fine, just enough. With this kind of thinking in mind, although there was growth, but to be honest, it was half-baked.
A brief introduction, I do not know if you have the same experience with my friends have the same experience, and now I am at such a crossroads. I am at such a crossroads now. I will graduate next year, and I am facing the difficult task of finding a job. Different companies have different styles, so I am not sure how I should choose. On the one hand, I can stay in a big company smoothly, but on the other hand, I have a lot of friends who ask me to help start my own business, and I also want to try some new jobs. From the perspective of technical growth, I think I can get a lot out of any place I go. After all, I am just starting out, I still have a lot of development potential and I am willing to create value. The key is to see where can provide me with such a platform. Startups may not be reliable, and some large companies may not have the courage to innovate, so I really don't know how to choose. Do you have similar experiences and doubts?
It's a lot of talk and straightforward language, and it says what I really think, regardless of what anyone else thinks. I hope that small companies will dare to try and big companies will dare to break through and not stick to their superior business. This is the only way to promote ourselves and even this industry, otherwise we will always lag behind abroad.