Fast forward to 2017, when React and Vue didn’t seem as popular as they are now. At that time, I was still a young boy in the lab. I looked at senior students on the small blackboard and told us about Ajax with a puzzled look on my face. At that time, I could only write simple JSP pages. Therefore, FOR the senior said ajax, I basically do not understand a word, what asynchronous refresh, there is no concept.
After three years, I only knew how to write the course design page with JSP, used jquery + Ajax to separate the front and back end to develop the laboratory project, used React/Vue to develop the graduation project, and developed a set of business framework based on React. From the beginning, I listened to senior students’ sharing, I shared with junior students in the laboratory, and I shared with other teams in the company about training. There have been both bitter and sweet experiences along the way. On the occasion of 2020, I would like to share them with you.
First year on the bench
Like most of my classmates, I entered the laboratory with a heart to gain knowledge. I still remember what the laboratory teacher said to us at that time: I am very happy that everyone can choose the laboratory, but there is an elimination system for the laboratory. However, I believe that most of the students are the last to give up. If you think about it at the time, it was true. Within a year, there were nearly 20 members and then there were only two. Most of the students in the middle are unable to stick to it and quit actively. I’m so thankful that the person I was was able to stay.
In those days, I would go to the lab almost immediately after school. I remember that at that time, the senior students in the lab assigned us a task, asking us to learn HTML and CSS by ourselves for a period of time. Two weeks later, we tested it in the lab (baidu could not be connected to the Internet). At the time, I only knew how to write divs, and I didn’t even know the names for basic block-level elements and inline elements. I was in a panic, afraid that IF I couldn’t write, I would be told to leave.
Two weeks later, one evening, the group sent a test notice. Everything is so smooth, I seem to be the first to get through. At that time, I was very nervous, because when you finished writing, all the seniors in the lab would come to you and look at the code on the screen carefully. It felt like an intern just entered the company, and a group of big men surrounded your screen. At the time, their comments were: the HTML was not semantic enough, and the basic styles of CSS were not well mastered. I vaguely remembered that I had assigned ids to all the elements and used the ID selector to style the layout. But IN the end I passed the test.
During my study in the lab, I left at around 11 PM every day. I would like to thank my roommates for their understanding and tolerance to me, because every time THEY went back to the lab, they had already taken a rest in bed.
After half a year of precipitation in the laboratory, the teacher assigned us a project combining software and hardware. In fact, within a year, six months later the only people who came into the lab were me and another student.
If the senior student in the lab is my front-end enlightenment teacher, then rikhard-dong, another colleague in the lab, can be regarded as the god who really leads me into the front-end Zone. (We all call him the god, maybe because he is the god of ACM, or he is proficient in using various operating systems. I never quite figured out why they called him god, but at the time I was amazed by the breadth and depth of his knowledge of programming.)
The concept of a Zone, from Blackball, refers to an area that a few talented players can enter. Once you enter this field, your abilities will peak and your vision will expand. Only if you absolutely love basketball can you enter the Zone
Of course, I don’t have a lot of programming talent, but rikhard-dong is there to help me when I get stuck. Although he is the back-end, he teaches me ajax, git usage, front-end project deployment, etc. He can always tell me what to do when I need help.
This is the rhino book he gave me when we finally left the lab.
In the project behind the lab, I used Jquery and Bootstrap to complete the front-end function. Looking back on my year in the lab, I basically learned the basics, applied what I learned to real projects, and learned about multi-person collaborative coding.
After the year, we also participated in the Service outsourcing competition of Zhejiang Province. We thought we would not win the prize, but we actually won the prize. Thank you for your hard work day and night.
After that game, we all started preparing for the internship. It was also at that time that I gradually came into contact with React, Vue, Redux, Sass, Webpack, MVVM and other technologies that seemed very high at that time. When I first got to know React, it really gave me a headache. Fortunately, there is an older student in the lab who has been studying this aspect. Every time WHEN I encounter problems, I will wait for him to solve my doubts in the lab after work.
Soon, a year in the lab will be over. In this year, I spent most of my time alone in the laboratory, and even stayed in the laboratory to study during the holidays. Therefore, I call this stage the first year of sitting on the laboratory bench
The picture below is a group photo of our lab students on the top floor of the building:
At the end of the internship, the teacher in the lab asked Rikhard-dong and ME if we would like to stay in the lab. Perhaps because of my yearning for big cities and a broader technology platform, I chose to bid farewell to the laboratory and go to Shanghai.
Thanks to Rikhard-dong, Bao Tong senior, He Teacher, Yang Lei senior, Jin Bo senior, Mu Yunyun senior and many other people’s attention, I hope to meet you in the river’s lake.
Second year in Shanghai
It was the first time I came to Shanghai alone, and I felt strangely excited and uneasy in my heart. After we arrived at the internship company, the company arranged a one-month learning adaptation training program for us. During this period, we are called Trainee.
There are about 20 students participating in this adaptation plan, all of whom are just graduates. However, I am rather special, so I should be the only one who comes to trainee training during internship. Most of my classmates were from the north, so after a month of training, I changed my “standard” Mandarin into Dongbei Dialect. Every time I came back to school, my classmates laughed at my accent.
During the one-month training, we had a comprehensive understanding of the company’s corporate culture and core business, broadened our horizon and began to cultivate teamwork spirit.
One month, we learned the enterprise programming criteria, PLC programming, technical personnel should master the sales skills and so on. After a month’s baptism, the company was ready to distribute us to different business lines in various departments and began to claim masters. Maybe because of my good performance during the training, the director of the business division wants me to work in the product department of the company. At the time I arrived, the company didn’t have a product development department until October when the product manager, back-end architect, and front-end architect arrived. Before that, I was assigned to the project to do APP development.
This is an APP for cement industry made before.
After the establishment of the product RESEARCH and development department, I began to build the product front-end framework step by step with the front-end architect. We made meticulous investigation and research on the selection of framework language and UI framework, and finally we chose React+ Ant Design technology stack.
This year is also a year of rapid growth of my skills.
In this year, the integration of our team was also very rapid. I still remember that when the team was just established, Fred, my direct leader, took us to play LOL in the cyber cafe on weekends with him after work every day. Come to think of it now, isn’t this a good way to cultivate team tacit understanding? I still really like our team. Simple, similar problems at work, almost do not need to communicate, as if they have formed a tacit understanding. Therefore, our research and development efficiency is particularly high, the team atmosphere is very harmonious. In addition, my boss asked us to have our own research direction in our spare time, such as visualization, engineering, low-code and so on, and then share our research results regularly.
If Fred brought me the improvement of technology breadth, Vickyhoo brought me the improvement of technology depth. Every CodeReview, I would expose all the problems and doubts, and their attitude to technical excellence played a good role for me.
With this year’s efforts, I got the best new talent award. At the same time, I (harmonica) and the product manager (Ukulele) and the rest of the team won the best performance award for the annual show “Childhood”.
Third year of technical precipitation
As my research became more and more in-depth, I felt that my basic knowledge was not strong enough, so I almost settled myself in the following year.
In this year I read
- React and Redux
- Javascript you Don’t Know (Upper Middle Lower)
- Understand typescript in depth
- Javascript programming skills
- The Definitive javascript Guide
You can see the difference between 2018 and 2019
This year we also developed our own needle- Block.
With the development trend of the Internet, more and more excellent technologies and frameworks emerge in an endless stream, all of which aim to reduce costs and increase efficiency. In accordance with this principle, we also pay more attention to r&d and efficiency improvement. It is better that one person can do the work of more than one person. In terms of performance, one of the important things is not to write repetitive code, but to do extraction and componentization. For more efficient reuse, we split the page into five tiers:
- Components, generic components, and we will continue to extract more generic components into HUI.
- A business component is a custom component composed of multiple components that cannot be extracted from a common component, and can be understood as a code fragment
- Block, a generic block-level template composed of multiple components, is configured to determine the final implementation of the Block.
- Standard Layout, which provides multiple sets of standard layouts that can load different blocks and business components.
- Page template, loading Layout, event processing and business processing.
Based on this framework, we mainly solved the following problems:
- Reduce repetitive code writing and focus on event handling and business handling
- Flexibility to change page content without requiring standard module source code
- Page layout standardization can also be achieved through multi-party collaboration
At the same time, we use the idea of plug-ins to upgrade the product architecture.
To facilitate the upgrade of older projects, I also write an upgrade script tool called needle-Codemod. It can be used to upgrade old projects to the latest architecture with one click, while automatically detecting problematic code.
In addition, I was also responsible for the third trainee front-end technology training.
The jarhead in the picture is me.
This year, the only thing I regret is that I didn’t take good care of my apprentice. Afterwards, I reflected that I was not as conscientious and responsible as Fred and Vickyhoo were to me. Since she chose the front end, I should try my best to help her catch up with our pace, let her progress with us, to realize their own value. When she is discouraged, I should encourage her and guide her. I do not know whether it is due to gender or what, I always dare not take action. If there is another time, I will be a responsible teacher.
Thank you
Looking back, I would like to thank my friends for their care and company.
- Thanks to Rikhard-dong for helping me break through every time I hit a bottleneck.
- Thank you Jessie for taking care of me during [my second year in Shanghai].
- Teacher liu set a good example for me in terms of the direction of thinking about problems; gong ge gave me a lot in terms of product design and the way of leading the team; Fred and Vickyhoo gave me a great lead in terms of attitude towards technology and management.
- Thank you to Ms. Rabbit for always standing by me and comforting and encouraging me when I’m in trouble.
Finally, I quote Grace to myself and to all of you:
To be like a child always keep a curiosity, this curiosity is learning. Keep growing all the time to have the life you want. The meaning of life is to develop rather than cling to, no matter when we should not lose the courage to move forward.
Written at 2020/12/14 2:51.
Denver annual essay | 2020 technical way with me The campaign is under way…