Aiti Tribe Story Collection (16): Best Practices for Technical People During Their Fatigue Period

Aiti Tribe Story Collection (16): Best Practices for Technical People During Their Fatigue Period

[51CTO.com original article] Coeus likes to chat about technology, products, sales, and dreams with friends. I would like to share with you the pitfalls, fatigue, and technical bottlenecks I have encountered in the past few years, hoping that it will be helpful to everyone.

[[189523]]

Coeus · PHP Director of Sina Anhui Station

Coeus has been working for more than six years, and has been engaged in PHP-related web development work. He has also done front-end and server operation and maintenance, as well as private work, technical consulting, and personal planning projects. He has worked as a handyman in a small company and worked overnight in a foreign company. He is currently the technical supervisor of a well-established local Internet website in China. During these six years of work, Coeus has stepped on many pitfalls and made many choices. Fortunately, he survived every time. The secret is simple: learn if you can't do it, ask if you don't know, and don't be ashamed to ask others, otherwise you will never make progress.

Lots of practice to consolidate the basics

In the years of contact with development, Coeus has been entangled and confused, worried about not knowing how to learn, worked hard for salary income, experienced the pain of thorough debugging, and felt the sense of accomplishment of the project being valued and encouraged. In the process of career development, it will not be smooth sailing. Coeus's university major is network engineering. Although the major covers a wide range of areas, including Java, C++, operating systems, assembly, databases, networks, etc., he did not make up his mind to do web development until the end of his junior year. But how to knock on the door of web development? Fortunately, there are abundant online resources and his seniors' patient guidance. He also went to the sophomore and junior years to take classes (his foundation was still very poor in the senior year) and learned a lot of basic knowledge in depth. At this stage, he thanked himself for not being afraid of boredom and practicing basic knowledge a lot. He constantly took out his own practice projects to ask teachers and seniors for coding skills and precautions. Gradually, he had a development idea for the functional points to be implemented in the project, and then he became very interested in web development. As a result, he found a development job and really got into the pit. Now when I think back to that summer when he squatted on a chair in the dormitory and wrote code from morning till late at night, writing thousands of lines of code every day, repeatedly practicing every JS and PHP method, and constantly pondering every HTML and CSS attribute, I really admire him.

In the introductory stage of a language, basic knowledge is very important. Laying a solid foundation is the foundation for future progress and expansion. Of course, learning basic knowledge is also very boring. A function or a CSS style must be written many times by hand. In fact, writing more and practicing more became his short-term "motto" at that time. No matter what the content or knowledge point is, he would read the manual once to understand the content, and then practice a lot. ***Review his code to find out the misunderstandings of the knowledge points at the beginning.

Suggestion: This stage is very important. Many people give up because they don’t know how to get started.

1. The basics are important, even if they are boring;

2. A good memory is not as good as a bad pen. Write more and practice more. Having code also makes it easier to communicate with others and ask questions.

3. Try to write code by hand instead of using IDEs with code hints or auto-completion. Of course, it is still necessary to have an editor that is pleasing to the eye.

How to apply the basics to actual projects

After a period of learning basic knowledge, Coeus encountered the problems that most beginners would encounter, "how to do a project" and "how to find a project to practice". At that time, he talked about this with his substitute teacher, who happened to want to recruit students to develop a schoolmate system to summarize the students who had taught before and the students in the future. So Coeus took on this task without saying a word, and only when he started to do it did he realize that what he learned in class was a drop in the bucket. Starting from server construction and virtual domain name configuration, he had to learn a little bit again, coding, looking up information, and debugging day and night. The biggest gain at this stage was the ability to learn new knowledge and solve problems, which laid a solid foundation for his future technical development. He had strict requirements for his own code and could not let go of any small problems. Some friends will ask, "If there is no such a good opportunity, how should I find a project to practice?" In fact, the projects that need to be solved are around you, such as making a blog system, a learning management system, a course management system, etc.

Choose to change jobs during the fatigue period

Coeus' first job was to do maintenance work in a small company (a local industry forum). When he first entered the workplace, Coeus was afraid that he would not be able to keep up with the progress of the rest of the team, so he used his spare time to recharge himself. How did he do it? Read the source code, read the source code of other people's projects and cases thoroughly, learn the ideas of solving problems, the control of the overall logic of the system, excellent packaging methods, etc. It provides a role model and goal for himself in development.

After working for about 3 years, Coeus had become more proficient in applying basic knowledge. Soon, the company asked him to connect to Sina Weibo's API and build some Weibo applications (Baidu also launched a box computing at that time). Although the interface was simply connected and the project was launched, he became interested in Weibo's API files. After reading the source code of the API, he found that there were many knowledge points and development ideas that he had never touched before. He asked his colleagues for advice, but each of them only had a partial understanding (now looking back, the overall development capabilities of that company were really weak at that time).

As his skill improvement was hindered, Coeus always had the illusion that no project could stump him. At this time, developers would experience a certain period of work fatigue. Like most developers, Coeus chose to resign.

After coming to a foreign startup, Coeus found that his own strength was weak, which also opened up a new world for him. Code performance optimization, server optimization, code security, PHP extension development, database management optimization, the importance of logs, the key to Unit Test, Java, C++ docking interface, Shell script, XMPP communication protocol, English document reading, fast version iteration, stress testing, automatic deployment, etc., many of which were levels, skills, and processes that he had never touched before. At that time, he was like a hungry child, learning all the time. Every day was spent in producing bugs and fixing tickets. This work experience made Coeus completely doubt his ability, and at the same time he had a clearer understanding of the future path. It turned out that there were so many interesting things in the development world, which triggered another question in him at that time: "How to discover and learn these knowledge points by yourself?" So he began to pay attention to major forums and communities at home and abroad. At the same time, he also followed the advice of the company's bigwigs, studied design patterns in depth, and read the two books "Deep Understanding of Computer Systems" and "Introduction to Computer Systems". In fact, he only vaguely understood them, but he had his own understanding of code execution and system storage.

After getting started for a while, I found that I had no problem doing some basic work, but I didn’t know how to improve myself again. Coeus’ decisive job-hopping proved that after recognizing his shortcomings, he needed to have a direction to learn. The job opportunity in a foreign company was important for him to break through this bottleneck, but it was not luck. Because for the current environment, excellent technical forums and popular technical websites will have similar skill books, learning paths, etc. Find the direction that suits you and move forward. If the current working environment cannot give full play to your abilities, or cannot provide more room for development, go out, train yourself in the project, and grow yourself in the process of being abused by the product. Suggestions for the fatigue period:

1. If you can't, then learn. If you encounter knowledge points that you don't know or have never heard of, then take the time to learn and understand them. Of course, blind learning is not the right way. First understand the content of the knowledge, its applicability, and its compatibility with yourself, and then decide whether to continue learning.

2. If you don't know, ask. Ask more questions, but the main questioning skills are, before asking any questions, think about the problem yourself, try to solve the problem, and have some ideas of your own (whether right or wrong). Even though Coeus graduated five or six years ago, he will ask questions to interns, and everyone may give you new ideas or directions.

3. Be tough on yourself. Learning and improving require a lot of time. At this stage, Coeus worked overtime until after 12 o'clock every day, and basically studied until after 3 o'clock every night when he got home (but he had a bad habit of relaxing himself before studying, eating something delicious, watching anime, listening to music, and occasionally playing games). He had his own learning goals every day.

4. Cultivate self-study ability and have a clear understanding of your own knowledge structure. At this stage, everyone should have a certain ability to self-study. There are many things to learn in the future, and we cannot wait for others to guide us every time. Be clear about your own knowledge structure, combine your own direction, and constantly make up for your shortcomings.

Develop soft skills during bottleneck period

Finally, when Coeus was comfortable with both large and small projects, he began to think deeply about his career plan. He is now a technical supervisor in the company. At present, his short-term plan is to do technical management. Project management, progress control, and personnel scheduling are the problems and pressures he has encountered recently.

In the past year or so, Coeus has been paying attention to business knowledge, wanting to learn more about technology development, hoping to constantly break through himself. He constantly puts pressure on himself and the team, constantly tries new technical difficulties, and constantly optimizes the workflow and project architecture.

As Coeus spent more and more time in the circle, he also got to know many friends in the circle. Since last year, he has received invitations from several companies to be technical consultants. Their start-up technical teams have limited capabilities, so he guided them in team development routes, skill advancement planning, and trained editors in basic Web capabilities. In short, he is constantly in contact with the outside world and constantly improving his abilities other than development - soft skills.

He constantly provides technical solutions to problems from the company's perspective, often discusses future plans and development with friends in the circle, and can also get some feedback on the company's development direction and development. He often develops new business functions for the company and constantly tries new products and new technologies.

At this stage, he has his own direction and goals, and he has things he wants to do. He can arrange his time and tasks in an orderly manner, which is good. Here are his thoughts at this stage:

1. Don't focus on the latest and most trendy technologies. The best ones are those that suit your team.

2. Be sensitive to details, as a thousand-mile dike can be destroyed by an ant hole.

3. Should have proper understanding of the workflow of other departments or business lines.

4. Soft skills should be valued at this stage, including communication skills, listening skills, persuasion skills, self-motivation skills, influence, team building skills, etc. Soft skills can only be cultivated in the company's jobs.

Coeus always believed that IT is to solve problems, and he also had his own understanding and knowledge of technology. Technology exists to solve problems, such as problems in personal life, problems in business development, and problems encountered in various types of work. Technology only reflects its true value when solving problems. So in his spare time, he would communicate with friends around him in different situations.

Currently, Coeus is constantly planning personal projects and trying new things to make demos. This is a normal part of his daily life. The company's projects may not be able to meet his skill development, or if he has good ideas in other directions, he will just implement them. It's not about making products or starting a business. On the one hand, he thinks that his personality makes him unwilling to be idle. On the other hand, the system has improved its overall planning and architecture through some project training. When doing projects, he pays more attention to the implementation of the underlying modules, the working principles and implementation of MemCache and Redis, the comparison of advantages and disadvantages, the use of different cache and framework technologies in different projects, and the use of design patterns to solve problems have given him a deeper understanding.

Coeus found that there were many friends around him who were engaged in WeChat business, and after in-depth understanding, he planned to develop a WeChat business management system; when talking about primary school education, he found that technology could help teachers solve many problems, so he made a system for online primary school education; his wife was pregnant and always forgot to eat fruit, and sometimes didn’t know what to pay attention to, so Coeus wrote a system to capture the precautions at different times during pregnancy, and then send regular WeChat reminders; he couldn’t find a convenient time management tool for his personal project planning, so he made a time management tool based on WeChat.

Pregnancy data capture

WeChat Business Management System Planning (First Edition)

Coeus's Brain

In fact, these projects are basically difficult to promote to the market, but in the process of doing the projects, Coeus' overall control, planning, and project architecture have been improved to a certain extent, at least the sense of accomplishment has been satisfied to a certain extent.

He has not thought too much about future plans. He will continue to encounter bottlenecks in his career. He believes that he will do better and better. At present, he feels that his vision is still too narrow. This year, he hopes to communicate and learn more with technical experts and corporate leaders in first-tier cities, and also expand resources outside the technical circle. He is still in the preparation stage, ready for opportunities that may come at any time.

If you are also willing to share your story, please join the 51CTO developer QQ exchange group 312724475 and contact the group owner Xiaoguan. We look forward to your wonderful story!

[51CTO original article, please indicate the original author and source as 51CTO.com when reprinting on partner sites]

<<:  Android teaches you how to interact with WebView and JS in five minutes

>>:  Creating a Pivot Table with Java Steams

Recommend

15 Brand Social Media Marketing Methodologies!

Marketing case analysis of hot new consumer brand...

Google builds Android empire, but its dominance raises concerns

[[265793]] Introduction: "If there is only o...

Analysis of Watermelon Short Video Operation and Promotion Strategy in 2019!

The author will bring you a good short video oper...

"Autumn comes overnight", the temperature drop in Chongqing is heart-pounding!

On the eve of National Day, Chongqing finally exp...

Ten ways to promote online marketing

As a business that wants to create value and weal...

Analysis of product life cycle model!

How do you view the product life cycle ? Insights...

Watsons crosses borders to attract fans, teach you how to play fan marketing

In brand marketing , fans are not only high-quali...

How to hide your hot update bundle files?

[[379259]] This article is reprinted from the WeC...

Google reveals three major security features of Android 5.0

[[121767]] A sweet lollipop wrapped in a tough Ke...