What is it like to program in a small company?
It seems that there are a lot of great people on Zhihu, and they have a happy development experience in large companies. . So, are there any ordinary programmers, working in ordinary small companies, sharing some ordinary stories? ?
Reply content:
Everyone is a full stack engineer The experience is that there is no process. In addition to writing code every day, I still write code, so it is not too late to get off work. The working atmosphere is relatively happy, everyone is about the same age, and there is no sense of hierarchy.Of course there are many disadvantages. Because there is no standardized process, task allocation is unclear and it is unclear which part each person is responsible for. When product changes are required, programmers change the code too casually and lack corresponding supervision. The project code lacks code review, and the technical level of the team is uneven, resulting in a spectacular mixture of good code and poor code. Manage your own code
Eat your own dog food
If the system is broken, fix it in the middle of the night
If you can’t fix it, you’ll be an asshole
,,,, very “standard” DevOpt! ! !
- Adjust the code on the production machine, and then enter SVN after the adjustment is completed.
- I had a nightmare that I accidentally deleted the database, and when I woke up I found it was true.
- Cut pictures, code, database, front-end, back-end, operation and maintenance, API, WeChat, Alipay... Look at the chip data sheet to check the signal timing, look at the schematic board diagram to find the pins..., go to the production factory to teach workers to write test codes Looking at the test results... until he teaches users how to enter the mobile phone verification code and selects the configuration list for the customer's store desktop computer, it is all done by one person.
- I often worry about what to do with these projects if I get sick
Say it first, Don’t go to a small company if you can, and don’t start a business if you lack experience. Life in a small company is a unique experience, really.
Overall, it’s been a rough ride.
Seven of our members are all undergraduates in their first and second years (soon to be their second and third years), all majoring in software engineering.
It was a struggle at the beginning. Before the company was founded, none of us had any experience in starting a business, leading a development team, or designing an architecture, so it was extremely difficult to get started.
My job title is called "iOS Development Manager". It's not so much a "manager" as I am the only one in the entire team who writes iOS, and I started working after only two weeks of study. (Thanks for that little bit of talent
In August 2015, that hot summer, I wrote VSpace (East Big Assistant) alone at home. At that time, the entire team had high expectations for VSpace, hoping that this product would be an instant success. Let everyone in Northeastern University know us. But we were defeated by ignorance. At first, we didn’t understand some technical details... Even HTTP POST will directly append the query string to the URL instead of putting it in HTTP. In Body, I think this is enough to make all technical colleagues laugh out loud... Moreover, we also know little about domain names and registration policies. Alibaba Cloud's domain names are blocked if they are not registered. At that time, the registration was delayed, and the result was "released" "At that time, the HTTP communication API used IP addresses. At that time, I was not even good at pure code layout. The UI was completed by dragging it into the Storyboard in Interface Builder and adding @IBAction everywhere... The release was even more impressive. It made me laugh, we couldn’t even pay for the Apple Development Program (this is a company, can you imagine), so we finally sent it to http://fir.im, but the certificate was The problem was not solved in the end. The first App was stranded like this
(If you are interested in our bad code, you can find all of us at http://github.com/Obisoft2017 After the program, I registered for admission. This year, my GPA was not ideal, but I learned a lot without a master to guide me. At the beginning of the semester, the most impressive thing was at Northeastern University in mid-November. The Center for Innovation and Entrepreneurship used a conference room to discuss product requirements with another team from Shenyang University for 7 hours. After this back-and-forth meeting, we finally figured out the routine of product requirements analysis
And we have had it for a while ( Until now), we do a lot of outsourcing to make a living. Although the leader has always told us that we are not an outsourcing company, we can’t survive without doing this because there is no income and we have to pay high accounting fees (300 per month, haha, You all won’t believe this is really high for us), some are obtained from outsourcing agencies, and some are obtained from teachers. It’s really full of tricks: with a lot of work, we can definitely earn more. Money,
but we were at the bottom
. Then the first winter vacation in college life came. At first, we cooperated with the SYU team, but because we were unwilling to take risks (the partners were short of funds like us), we had no choice. (can give us shares), the cooperation was terminated, and the short-term product development also ended.When the winter vacation was coming to an end, my leader and I met with an investor for the first time with an idea we had, but in the end the investment failed and we are still struggling to survive. Many people only see investment in listed companies, but there are more companies that no one invests in.
After the school started again, we won a prize (not valuable) in a school-level innovation and entrepreneurship competition at Northeastern University with this idea. After that, we developed and set up a flag saying that it would be released on the App Store in June 2016. However, because we were still undergraduates, our school’s software engineering training program had many courses for freshmen and sophomores, so the development has been stalled again and again, and it is still there now. In progress.
At this time, our development gradually broke away from the wild road. From demand analysis, prototype design, UI drawing (me) to development, the process was quite orderly. Later, we also adopted Scrum (agile), and the results were quite remarkable. The leader (backend, frontend) and I (iOS) both have basic design pattern application and architectural ideas, as well as my own understanding of things such as UI layout (now I am pure code + Auto Layout), network communication secondary encapsulation ( It facilitates flexibility), modularization and code reuse. Fortunately, it is completely self-study and finds its own path.
Small companies are still living a difficult life. I don’t know when we will come to the end. Leader said that 90% of startups in China failed in the first year. Are we lucky? But his death is probably not far away. Everyone is a product manager. 1. Project management is relatively chaotic. It is often done by one person in the early stage of development, and in the middle and later stages, it is all left to one or two of them to maintain (because other people have gone to work on other projects). The requirements changes in the middle may be strange, what a pitfall. You have to fill it in for others.
2. The level of team members is uneven, and so is the quality of the code. A large amount of untidy and 0-commented code will test your mind. Because of the first point, I am refactoring this part of the code every day, although I am not a great person.
3. The salary is low, and the boss is not very willing to spend money. After working for several years, the salary will only increase a little. The best person in the team holds n number of jobs, so there is no time for code review and technical seminars.
4. The atmosphere is relaxed and overtime is not too much. SVN code is often rejected and hidden It is just a support department company and it should be very similar to a small Internet company. Programmer = web front-end + web back-end + desktop application development + database design + product manager Plans can never keep up with changes

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics











PHP and Python each have their own advantages, and choose according to project requirements. 1.PHP is suitable for web development, especially for rapid development and maintenance of websites. 2. Python is suitable for data science, machine learning and artificial intelligence, with concise syntax and suitable for beginners.

In PHP, password_hash and password_verify functions should be used to implement secure password hashing, and MD5 or SHA1 should not be used. 1) password_hash generates a hash containing salt values to enhance security. 2) Password_verify verify password and ensure security by comparing hash values. 3) MD5 and SHA1 are vulnerable and lack salt values, and are not suitable for modern password security.

PHP is widely used in e-commerce, content management systems and API development. 1) E-commerce: used for shopping cart function and payment processing. 2) Content management system: used for dynamic content generation and user management. 3) API development: used for RESTful API development and API security. Through performance optimization and best practices, the efficiency and maintainability of PHP applications are improved.

PHP is a scripting language widely used on the server side, especially suitable for web development. 1.PHP can embed HTML, process HTTP requests and responses, and supports a variety of databases. 2.PHP is used to generate dynamic web content, process form data, access databases, etc., with strong community support and open source resources. 3. PHP is an interpreted language, and the execution process includes lexical analysis, grammatical analysis, compilation and execution. 4.PHP can be combined with MySQL for advanced applications such as user registration systems. 5. When debugging PHP, you can use functions such as error_reporting() and var_dump(). 6. Optimize PHP code to use caching mechanisms, optimize database queries and use built-in functions. 7

PHP type prompts to improve code quality and readability. 1) Scalar type tips: Since PHP7.0, basic data types are allowed to be specified in function parameters, such as int, float, etc. 2) Return type prompt: Ensure the consistency of the function return value type. 3) Union type prompt: Since PHP8.0, multiple types are allowed to be specified in function parameters or return values. 4) Nullable type prompt: Allows to include null values and handle functions that may return null values.

PHP is still dynamic and still occupies an important position in the field of modern programming. 1) PHP's simplicity and powerful community support make it widely used in web development; 2) Its flexibility and stability make it outstanding in handling web forms, database operations and file processing; 3) PHP is constantly evolving and optimizing, suitable for beginners and experienced developers.

PHP and Python each have their own advantages, and the choice should be based on project requirements. 1.PHP is suitable for web development, with simple syntax and high execution efficiency. 2. Python is suitable for data science and machine learning, with concise syntax and rich libraries.

PHP and Python have their own advantages and disadvantages, and the choice depends on project needs and personal preferences. 1.PHP is suitable for rapid development and maintenance of large-scale web applications. 2. Python dominates the field of data science and machine learning.
