When I saw the live audio and video system, I rolled myself in…

Just quit from a team of audio and video, let me talk about my personal experience of the last company, the length is long, I don’t know if you have the patience to see it.

I have been using VC++ to write Windows client. Last April, I changed my job to a company, not to mention the name, a medium-sized company. The project I did after entering the company was to develop a project similar to YY, but it would not be promoted in China. Instead, it would be promoted abroad, so it would not directly compete with YY in market share. I was responsible for the implementation of Windows client.

I talked a lot during the interview, and they looked at my ability to implement UI and client architecture. I also asked about the product side and said there was a product team, and there was a UI team on the UI side to make the interface look good.

On the first day of the meeting, I talked about some of my previous project experience, and then the department leader directly said, “Then you will be in charge of this project.” I was at a loss. What is the pace? You know, you left your last company because you wanted to be a client lead, and then you tried the idea of technology exchange within the team, and then you were brought in by a leader who didn’t know what to do. As a result, it was a bit of a shock to be assigned such a big role on the first day of the company, so I had to say that the most important thing was to get the client to a releasable version, and that the project would wait until the first version was released.

When I first started watching this audio and video client, it was hard to look at. No product business logic, no UI implementation. I say there are product requirements and design documents, and the server sends me an interface document…

The first afternoon I came in and installed my computer, and the next day I started writing code. Remember at the beginning to change the client implementation code when the hair a circle of friends state: “changed several days of code, finally did not mend the feeling of broken shoes, instead is to make the shit into rice feeling, what a fucking day……” .

If you understand MVC, you understand what code is written by people who don’t understand MVC… All of the business logic is basically in the Dialog, or the ViewController.

To make a long story short, you write code, design product logic, and tell the UI designer what to do. In about a month, the first testable version of the client was released.

Here’s what happened during the first release: the UI designer gave me a distorted cut-out… I went to talk to the UI designer and said that the cut image provided to me was distorted. The UI designer looked at me with a confused face. What is distortion? Instant messaging module is XMPP implementation, the results found that all business logic through XMPP to achieve, such as access to personal information, modify personal information and other functions are through XMPP messages to achieve…… In the last company every day teasing the backend server coupling is too high, saw this server, I miss them… I said find the department manager, the client’s product logic should be redesigned, said “now landing process without related business processes, hall basically no, gifts related business logic”, the product group should rethink the whole product ideas, is to copy YY, also should have a clear product design documents. As a result, the product team replied, “Oh, now the product team members have several different projects in their hands, so let’s do this product according to your idea.” I looked confused… Audio and video codec is using technology provided by other parts of the company… A graduation of more than a year of girls do both audio and video server and client audio and video module……

The first version was finally released… Tell the line manager that the first client version has been released, but the entire client architecture needs to be changed, the UI needs to be changed, and the architecture needs to be rewritten, otherwise it will be too high to add functional coupling later. The department manager said, ok, you first submit the current version to the test, and then submit this version to the test group, and you take charge of the test and release process.

The test group assigned me a person to test the whole system…

Two months later, the client refactoring was released and I admired myself for the clarity of the MVC architecture… During the project meeting, I said that the client refactoring was done and that it was time to consider refactoring the server. It is definitely not possible to have all the business logic in an XMPP server. XMPP should only provide instant messaging, and the rest of the business logic should be provided by a WebService server. It’s a lame way to describe it, because I’ve never written server-side code… But it turns out that other Java writers in a number of departments are confused…

I went to the server developers myself and said why did I do it, what were the benefits… I’m the project manager. You have to listen to me. Two weeks later, the server developer was transferred to another department in a different location, not in Beijing; The server developer who had taken over had been working for over a month, and then one day told me he was leaving… Another person took over, and half a month later, he told me that he would also leave, and the job was given to a student who just graduated this year… I was completely confused

Well, I don’t want to fucking write it, but I have to do the client code, I have to do the testing, I have to do the product, I have to do the server architecture, AND I have to fucking contact the company overseas to see if there’s a plan for this product, I just wanted to be a VC++ engineer writing UI effects and business functions in peace.

I’m sure you’re gonna say, only an idiot like you would want to stay on a team like this, and I would have left long ago. I can only say that I like the canteen of the company, three meals a day. You’re gonna say, “Idiot,” but that’s not gonna happen. All I can say is that IT took me six months last year to get down to a standard 135kg from a 175kg fat man. I couldn’t have done it without eating takeout instead of a diet in the canteen. In fact, after three months of work, the only thing that motivated me to go to work was the canteen because I was so desperate to lose weight…

On my first day at work after the Spring Festival this year, I went to the department manager and told him I was leaving…

I spent a month training the person who took over the knowledge of UI implementation. I said, don’t care how UI is implemented, how to understand the MVC pattern is the basic to write the client. The head of the C++ group said, we all understand MVC, you should focus on the knowledge of UI implementation. I was like, “You know what a dick… Understand how bad the client code was when I took over?” But I forbore… There’s no need to fight with idiots. No…

In fact, the above words are off topic, I can not answer this question like other big bull @Yao Dong, @Zhang Yunlong, I am just a monkey writing business logic.

The last thing I want to say is: have you really done market research to build a live video system? Have you really thought about clear product logic? Have you really considered the selling points of your product? Too many projects, too many teams, and too many companies assume that once the technology is there, the product will automatically be used and there will be money to be made. That’s not the case. It’s not money made, it’s money burned. There are a lot of people (for example, the Boss of the last company) think that code farmers how to understand the product, I ha ha, every day bubble in the product business logic implementation is the programmer, sometimes is not to understand the product, just do not want to exceed their responsibilities.

As a code farmer with pursuit, sometimes looking at some money burning projects really good heartache…… Investors take money to invest in some industries, the Internet industry really can not create value, it can only help traditional industries to play the original value. Hats off to the original), don’t listen to the bullshit when you’re investing in something, just look at it and see if it has that quality.

PS: IT seems that if you send a picture, someone can like IT. My original work “Just do IT”.