Writing in the front

On July 29, 2020, I came to Beijing alone and started my first job as a software developer in a state-owned enterprise.

At the end of June 2021, I resigned from a state-owned enterprise and joined an Internet company as a software developer.

During the nearly one and a half years, I only worked in the Internet company for less than five months, but it had a huge impact on me. My working experience as a programmer is still very young, so there is no way to share my experience. I just want to record the “gains” and “losses” from state-owned enterprises to the Internet as a review of a stage.

change

Working time

When I was in a state-owned enterprise, I worked from 9:00 to 17:30, had lunch from 11:30 to 13:30, and had two weekends off. Almost no overtime work, weekends are my own time, do not need to think about work.

Now I work in an Internet company, working hours are 10:00-20:30, lunch time is 12:30-13:30, dinner time is 18:30-19:00, and weekends are double holidays. Because now I have dinner in the office. If I had not checked my wechat moments, I would have no idea which day the sunset in Beijing was on the screen again. Therefore, I missed a lot of beautiful moments, which is also a little pity.

Working strength

From the above working hours, we can see that the work intensity of the Internet is not generally higher than that of state-owned enterprises. Fortunately, our company is relatively low in the Internet company, without 996 and no size week.

Job content

Due to the nature of the company, what I did in the state-owned enterprise was ToG’s product, which involved cooperation with the local government. Sometimes, I had to communicate with the local government. Anyway, I didn’t like this.

The Internet company I am working in now mainly deals with ToC products, but because I am not in the business, I am in the development of internal systems, and I usually need to communicate with my colleagues in the company, which is relatively good.

Work harder

The technology stack of the state-owned enterprise I worked in before was Python + Django + MySQL + Docker

The tech stack of the current Internet company is: Python + Flask + Vue + pREST + PostgreSQL + Docker

Recently, due to the downsizing of the company, my master was laid off. Now I am responsible for the workload of the previous two, managing the front end and back end of three internal platforms. I still have to work after I get home at 21:35 at night, and I also need to work overtime on weekends to finish the unfinished work.

Because the front-end and back-end development of the three platforms are all done by myself, it is really difficult, especially for me, who has only been in touch with the front-end for three months, not only responsible for fixing the front-end bugs of the platform, but also to develop new front-end pages, etc., it is really difficult to fight with Vue every day. From time to time, I will encounter some problems left over from history and need to deal with them. I feel that every time is an experience for myself. There have been many times of code can not write the crash, this is actually in any company will encounter, the reason is my own body, because the technical foundation is not solid.

Because what I did in the state-owned enterprise before is back-end development, I only need to take care of what data is transmitted to the front end. Now in the Internet company at the beginning is also doing back-end development, but later because of the lack of staff gradually turned to the full stack. Once I started full-stack development, I found myself with a deeper understanding of the entire development process. In the past, you only need to write what data is passed to the back end, but now the front and back ends write themselves, so there are more things to consider, from the front page display, to the back end of the data. Take a problem encountered in the actual work: how to optimize the front-end page query data loading too slow. After doing full stack development, I know that there are many optimization methods. One is front-end optimization, including front-end paging and loading animation, and the other is database optimization, including index establishment, use of partitioned table and optimization of SQL code. These are bits and pieces of practical work experience.

One advantage of doing full stack is that both the front and back ends are developed by themselves, so there is less joint tuning and you can focus more on development. However, when solving bugs, it is necessary to consider both front-end and back-end problems, and the brain needs to work under high load, which is very logical.

Job achievement

When I was working in a state-owned enterprise, one of my friends said to me, “Do you often go out to play on weekends because you don’t have a sense of achievement in your work? Later I realized that it was really because I had no sense of accomplishment in my work that I had no interest or enthusiasm for it.

After come to Internet companies, especially the recent months, because the platform front end are development alone, may encounter problems no colleagues ask (because I am responsible for the development of the three platforms and maintenance now only have I a person left), and sometimes will meet urgent needs to implement or emergency bug to repair, It was a real sense of accomplishment to find myself alone. At the same time, I actually feel better at writing code than I ever did before. Going from not being able to write code to being able to write code independently is a big improvement, so we need to focus on improving the quality of the code in the future.

Job cost performance

Thinking of a cost-effectiveness calculator I saw on the Internet before, I calculated the cost-effectiveness of working in state-owned enterprises and Internet companies respectively according to my actual situation, and found that it is really cool now.

⬆️ cost performance comparison between the former company and the present company

Job satisfaction

In fact, I think job satisfaction mainly depends on three factors: whether the money is enough, whether you like the work, and whether you get along well with your colleagues.

In the state-owned enterprise, there was only one colleague who got along well with each other. Now in the Internet company, there are two things: the work content is what I like and the colleagues get along well with each other.

Agile development

Coincidentally, both the state-owned sector and the Internet sector have adopted the agile development model. But it made me feel very different.

When I was in a state-owned enterprise, I would have a station meeting every morning to report the work of the previous day. There were no other meetings.

Now in the Internet company, there are site meetings every morning, there are interaction reviews and requirements reviews every week, there are biweekly iteration meetings, and there are monthly meetings. At the same time, the company adopts the OKR working method. After all, compared with state-owned enterprises, Internet companies’ most important task is “survival”. The department counts each iteration as a week, which means that no more than five story points are assigned each week, and then the new week counts the completion of the previous week’s iteration. Personally, I think the agile development that teams are adopting is a little more professional, and I like the pace.

⬆️ Some meeting notes

The environment

Before, state-owned enterprises were in ordinary office buildings, because the whole floor was covered, so they could not contact people from other companies. The Internet company I am working in is in a creative park. The environment of the park is quite good, and I can also see people from other companies in the park on my way to work.

Compared with the previous rules and regulations in state-owned enterprises (such as punching in, there are often non-technical training to attend, and there are weekly reports and various reports), I found that the Internet is really free, no punching in, no weekly reports, no boring training that wastes time. And I wear long hair in the present company no colleagues said no, but a few female colleagues said hairstyle is good.

Another is that employees at Internet firms tend to be younger. The generation gap between colleagues is relatively small, and everyone pays close attention to the forefront of science and technology. For example, I listened to my new colleague discuss the metasomes a while ago. My department is also a very good department. There is no PUA leader, and I often receive snacks from my colleagues. Anyway, the snacks area of the department only increases and never decreases, so we can never finish eating.

“Have to”

Although I have been working overtime for nearly a month, I do not have my own time on weekends. I have not gone to town on weekends for a month, not to mention live, movies, dinner and drinks with friends, and entertainment activities are all gone. There were some feelings of dissatisfaction, but after I was in charge of the development and maintenance of three platforms by myself for a month, I found myself really growing rapidly.

Technology growth

It may be that after a year of “mixing” in a state-owned enterprise, during the process of preparing for a job interview, I found that my understanding of the skills I have mastered is neither deep nor comprehensive. Now more and more people feel the importance of improving their skills, rather than the temporary pleasure brought by playing, they should put more energy and time into improving themselves.

When I first entered the Internet company, the leader and my teacher assigned me a relatively loose learning task because I needed to quickly get started with the company’s project development. I learned Vue, PostgreSQL, D2Admin, pREST and other frameworks and technologies from scratch within two weeks. And the use of some tools such as Kong, Portainer, Adminer, etc. Almost half a month after I joined the company, I started to contact the company’s projects, and I started to fix simple bugs.

While learning new technologies, I have also become more solid in the use of Docker and Linux commands. At the same time, my ability to solve problems independently has also been greatly improved. I can use Google and Stack Overflow to find solutions to many problems from official documents. I found that the quality of technical blogs written by some peers on the Internet is really poor, especially those on the CSDN platform. Basically, I read ten blogs, only one or two are useful, and the rest are a waste of time. Through the technical communication inside the company, I also began to understand some micro service architecture technology, which is quite difficult and deep compared with WRITING CRUD, which is more test of technical skills.

From the beginning, I encountered technical difficulties and did not have any idea for a long time, so I had to ask my teacher for help. Under the guidance of my teacher step by step, I gradually broke through one technical difficulty after another. To the back of the master was cut, can only rely on their own a little bit of trial and error, and strive to solve the problems encountered in the work. There is often a person to study a day without progress of helplessness, but at the same time have their own independent solution to the problem of excitement. This was a time when I felt my skills were growing rapidly.

In a dinner party with my current colleagues, the leader of the department told me that he almost didn’t go out for a whole year during the first one or two years of working that year. He learned new technologies at home after work and on weekends, which made him an excellent architect. The so-called “bitter before sweet” is the truth, it is always said that the three years after graduation into the workplace is the biggest period of change, because “hard” and “mixed” programmers will have a very big gap in these three years, which will take far more than three years to catch up.

precipitation

Now, every time I complete a technical difficulty, I will write a technical blog as a record, but most of them are not posted on the Internet, but saved on my computer. On the one hand, I feel that some blogs don’t go far enough, and I don’t want to sacrifice quality for quantity, and on the other hand, I haven’t separated myself from practical problems with universal solutions. Some tech blogs, for example, cover company project code, which is not easy to post online, and I didn’t remove the company code from them and rewrite it into other examples. However, I will improve on this over time and definitely insist on Posting technical blogs that do not involve company code to the web for correction.

⬆️ Some work blog entries

“Lost”

A hobby

Musical Instruments

After working for an Internet company for a month, I saw a musical performance and decided that I had wanted to play in a band for years. So signed up for electric guitar lessons, bought electric guitar, speakers, effects. Then he began to commute an hour and a half on the subway every weekend for two hours of electric guitar lessons, and when he was not busy at work, he would come home and practice for half an hour on weeknights. Now I just know a little chord, and I don’t think I’m a beginner. However, I have been working overtime crazily for a month recently, so I have not gone to class for a month, and I almost have no time to practice at home. I forgot a lot.

photography

When I was in a state-owned enterprise, I liked to take a camera out on weekends to take pictures of this strange city and record some beautiful moments. After job-hopping to an Internet company, on the one hand, I shifted my hobby to musical instrument learning, so I invested much less time and energy in photography, and the camera rarely clicked at home.

life

Because night and weekend are working overtime, there is no time to belong to their own. A rare form of entertainment might be playing with your phone at night when you can’t sleep anyway.

⬆️ Some records of overtime work

Family and Friends

It’s true that the longer you work overtime, the less time you have to spend with your friends, the better part is that you still have friends who care about you.

⬆️ comes from the concern of my college classmates

Although I worked overtime a lot, I kept in touch with my family. Seeing that my parents often posted videos and photos of their kittens in the wechat group, I thought it would be nice to have a kitten to accompany them.

Write in the back

If I had to summarize my personal experience of switching from state-owned enterprises to the Internet, I would mention the following four points.

1. Technical people should focus on improving their skills

It is well known that the technology in programmers’ world is changing so fast that the pace of learning can’t keep up with the pace of new technologies. But you still have to stick to learning new skills. You can decide whether to learn more or not without knowing more about it. Don’t be content with the status quo.

2. Precipitation is very important. Bad writing is better than a good memory

I’m a big fan of note-taking. Although I can reduce the time I spend looking at documents when I’m good at my job, I still recommend taking notes and reviewing and reviewing them often when I’m just starting a new project.

3. Work in order to live, and live in order to live

Don’t forget life. I always think people who live a rich life can’t be unhappy. After long-term work high pressure, it is easy to affect a person’s mood and state, will only get worse and worse. Some time ago, DUE to excessive work pressure, I often doubted whether I was suitable to write code. I asked my junior student majoring in psychology for a SDS Depression Self-rating Scale test. The result showed moderate depression, which scared me and almost wanted to go to the hospital to see a doctor. Fortunately, self-regulation is better, and it has returned to the normal state in the past.

4. Don’t forget your health while working

Recently, I found that my health is not as good as before, but I am not sick. I just feel that my waist and cervical spine are not comfortable recently, and sleep quality is not good, but I have no time to go to the hospital for a physical examination. He usually gets home late from work and has to learn new skills, so he doesn t have much time to exercise.

There is no second life. If I had a chance to choose again, I would still go into an Internet company without hesitation, because that’s the pace I like. Temporary loss is only for a better future.