search
HomeBackend DevelopmentPHP TutorialWhat 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! ! !
  1. Adjust the code on the production machine, and then enter SVN after the adjustment is completed.
  2. I had a nightmare that I accidentally deleted the database, and when I woke up I found it was true.
  3. 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.
  4. I often worry about what to do with these projects if I get sick
5. Hesitant to remain anonymous In August 2015 (the holiday after the college entrance examination), I joined my current company and was responsible for iOS Dev work.

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 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 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
Statement
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
What are some common problems that can cause PHP sessions to fail?What are some common problems that can cause PHP sessions to fail?Apr 25, 2025 am 12:16 AM

Reasons for PHPSession failure include configuration errors, cookie issues, and session expiration. 1. Configuration error: Check and set the correct session.save_path. 2.Cookie problem: Make sure the cookie is set correctly. 3.Session expires: Adjust session.gc_maxlifetime value to extend session time.

How do you debug session-related issues in PHP?How do you debug session-related issues in PHP?Apr 25, 2025 am 12:12 AM

Methods to debug session problems in PHP include: 1. Check whether the session is started correctly; 2. Verify the delivery of the session ID; 3. Check the storage and reading of session data; 4. Check the server configuration. By outputting session ID and data, viewing session file content, etc., you can effectively diagnose and solve session-related problems.

What happens if session_start() is called multiple times?What happens if session_start() is called multiple times?Apr 25, 2025 am 12:06 AM

Multiple calls to session_start() will result in warning messages and possible data overwrites. 1) PHP will issue a warning, prompting that the session has been started. 2) It may cause unexpected overwriting of session data. 3) Use session_status() to check the session status to avoid repeated calls.

How do you configure the session lifetime in PHP?How do you configure the session lifetime in PHP?Apr 25, 2025 am 12:05 AM

Configuring the session lifecycle in PHP can be achieved by setting session.gc_maxlifetime and session.cookie_lifetime. 1) session.gc_maxlifetime controls the survival time of server-side session data, 2) session.cookie_lifetime controls the life cycle of client cookies. When set to 0, the cookie expires when the browser is closed.

What are the advantages of using a database to store sessions?What are the advantages of using a database to store sessions?Apr 24, 2025 am 12:16 AM

The main advantages of using database storage sessions include persistence, scalability, and security. 1. Persistence: Even if the server restarts, the session data can remain unchanged. 2. Scalability: Applicable to distributed systems, ensuring that session data is synchronized between multiple servers. 3. Security: The database provides encrypted storage to protect sensitive information.

How do you implement custom session handling in PHP?How do you implement custom session handling in PHP?Apr 24, 2025 am 12:16 AM

Implementing custom session processing in PHP can be done by implementing the SessionHandlerInterface interface. The specific steps include: 1) Creating a class that implements SessionHandlerInterface, such as CustomSessionHandler; 2) Rewriting methods in the interface (such as open, close, read, write, destroy, gc) to define the life cycle and storage method of session data; 3) Register a custom session processor in a PHP script and start the session. This allows data to be stored in media such as MySQL and Redis to improve performance, security and scalability.

What is a session ID?What is a session ID?Apr 24, 2025 am 12:13 AM

SessionID is a mechanism used in web applications to track user session status. 1. It is a randomly generated string used to maintain user's identity information during multiple interactions between the user and the server. 2. The server generates and sends it to the client through cookies or URL parameters to help identify and associate these requests in multiple requests of the user. 3. Generation usually uses random algorithms to ensure uniqueness and unpredictability. 4. In actual development, in-memory databases such as Redis can be used to store session data to improve performance and security.

How do you handle sessions in a stateless environment (e.g., API)?How do you handle sessions in a stateless environment (e.g., API)?Apr 24, 2025 am 12:12 AM

Managing sessions in stateless environments such as APIs can be achieved by using JWT or cookies. 1. JWT is suitable for statelessness and scalability, but it is large in size when it comes to big data. 2.Cookies are more traditional and easy to implement, but they need to be configured with caution to ensure security.

See all articles

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

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

Hot Tools

SecLists

SecLists

SecLists is the ultimate security tester's companion. It is a collection of various types of lists that are frequently used during security assessments, all in one place. SecLists helps make security testing more efficient and productive by conveniently providing all the lists a security tester might need. List types include usernames, passwords, URLs, fuzzing payloads, sensitive data patterns, web shells, and more. The tester can simply pull this repository onto a new test machine and he will have access to every type of list he needs.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Powerful PHP integrated development environment

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

This project is in the process of being migrated to osdn.net/projects/mingw, you can continue to follow us there. MinGW: A native Windows port of the GNU Compiler Collection (GCC), freely distributable import libraries and header files for building native Windows applications; includes extensions to the MSVC runtime to support C99 functionality. All MinGW software can run on 64-bit Windows platforms.

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools