Author: Mo Liquan, Kyle Mo
Translator: Front-end Xiaozhi
Source: medium
If you have dreams and dry goods, you can search for [Great Relocation to the World] on WeChat and pay attention to this Shuwanzhi who is still washing dishes in the early hours of the morning.
This article GitHub https://github.com/qq449245884/xiaozhi has been included, and there are complete test sites, materials and my series of articles for interviews with first-tier manufacturers.
It has been half a year since I became a software engineer before I knew it. According to the past practice, I would like to review the changes and growth of my mentality during this period of time. By the way, I recorded it in the form of an article. Readers at the same stage or with similar experiences resonate.
To be honest, I encountered some "annoyances" when I became a full-time software engineer. However, these problems may vary due to personal habits and career planning. It may not be an annoyance for you at all, of course. In addition to troubles, there are also some realizations, so keep reading!
A transitional period in which all technologies are desired — four different
A long time ago I wrote an article about my personal views on how to choose between front-end and back-end.
To put it simply, I will focus on front-end development first, but at the same time, I will continue to learn back-end related technologies. After all, my career is very long, and I don’t think I need to limit myself too early.
In my current job, I originally belonged to the front-end team, but then there happened to be a very urgent back-end demand. The supervisor also knew that I was interested in the back-end, so I got an opportunity to transfer to write the back-end. About a month has passed, and I basically use Python to develop the backend, and I haven't touched the frontend at all during this time. After learning the back-end for more than a year, I finally had the opportunity to actually go to the battlefield. Of course I was excited, but during this period of time, there was also a hidden worry: "Will my front-end technology gradually decline because of this?" In addition, because I only In the past four months, I temporarily joined the back-end team to assist in the development. In essence, I still belonged to the front-end team. Therefore, the meetings and discussions were basically followed by the front-end partners. Because I was temporarily separated from the front-end development, I sometimes did not follow the discussions with the partners. , it seems that the problems I encountered during development are not suitable for discussion with front-end partners, resulting in a situation of "four dissimilarities".
After thinking about it, I think this is just a transition period. When all kinds of technologies are not very proficient, there will be this kind of situation where one loses the other. But if my foundation and strength are more solid in the future, I don't think there is any need to worry about the situation that some skills will decline seriously due to infrequent use in a short period of time. (Of course, the proficiency will still be poor!)
Until now, I still firmly believe that front-end developers must have the technology and knowledge related to back-end development and even DevOps. From the evolution of technology, we can gradually discover such a trend. We can't predict how the technology of the future will become, but as long as you are well prepared, you don't have to be afraid of the unknown challenges.
strength not correspond to fame, troubled by technical and cultural circles of the great God
First of all, let's emphasize that this is not to brag!
First of all, let's emphasize that this is not to brag!
First of all, let's emphasize that this is not to brag!
By writing technical articles, such as StarBugs Technology Weekly or iT State Help Ironman Race, or trying to share technology at developer annual conferences such as JSDC for the first time this year, the field of web development, especially the front-end circle, is becoming more and more popular. People know me, and gradually people become regular readers.
However, the original intention of writing articles is simply because I like to share. I think everyone must have the experience of learning from other people's articles on the road of learning software development. I simply feel that I should also become such a person, so that other people can also learn some knowledge from their own articles. Or in the learning process, you can grasp the direction more quickly, and take less troubles.
The growth of fame has actually brought a lot of pressure. You can often hear others refer to yourself as "great god" and "teacher", but I know better than anyone that I am just a rookie who has just come out of the society. I'm not very good at it, and I can't communicate with people face-to-face and talk about technology-related things as easily as writing through words. I think I just spend more time studying than others and am better at organizing what I've learned, but that's it, anyone can do the same thing in the same amount of time as me, I'm pretty sure.
When I know that my strength is not as strong as most people think, but I have been surrounded by the so-called "great god culture", I was quite troubled and depressed for a while, because this is an environment for equal communication with everyone I want. A bit of a gap. Especially when there are countless people around me who are more powerful than me, such a title has honestly become a lot of pressure.
After thinking about it, I decided to retreat and practice myself for a while, so in the future, the blog may be more inclined to write some mixed feelings about work or life, and articles that are too focused on technology will be free!
Coding is not all
I used to focus too much on "coding" It was not until I became a software engineer and joined a complete development team that I realized that to be a good software engineer, I still need to have a lot of soft skills. For example, say The ability of team communication and collaboration, understanding of the company's business logic...and so on. In the past, I always only paid attention to my coding ability or whether the basic knowledge of computer science has improved. Now I also pay attention to whether there is any need to strengthen my soft power. This is also my part of being a good software engineer. a new cognition.
At work, because the company is engaged in financial insurance technology, employees also need to have a certain degree of understanding of the professional knowledge and business logic in the field of insurance. I was not particularly interested in insurance at first, and insurance is a super complex system, and I have to face a lot of difficult proper nouns every day, which is quite a challenge for me, sometimes when developing There will be a feeling of "I have learned a lot of technology, but I don't understand business logic. I don't know how to use it at all, or I can't join other people's discussions and give advice." These experiences have verified that coding is really not the whole of software engineers. We should focus on improving our soft power and professional knowledge of related industries in order to maximize our value.
Junior to senior
Before I was ready to go out into society, I had a blind goal: "I will grow to the level of a Senior Engineer within a year." So I frantically studied software development-related knowledge, but as mentioned in the above paragraph, to become a senior engineer A good software engineer, in addition to hard skills, also needs to have a lot of soft skills. This principle also applies to the process of transitioning from Junior to Senior. In addition, it is easy for Junior engineers to blindly start development when receiving requirements, hoping to complete the requirements as soon as possible, but the end of such lack of comprehensive consideration is often to write a lot of future expansion and maintenance. The code of the code, may still need other engineers to help wipe the butt to do refactoring in the future.
Yes, I'm the brash Junior engineer mentioned above.
It was only in the past six months that I felt the difference with senior developers. The biggest difference is not the ability to write code (well, this is also a lot worse XDD), but the ability to see through the overall architecture after thinking about it, for example, will this requirement be met? Will it affect other places on the system? Which implementation is best for the current architecture? Impact on the overall codebase? These are what I lack now.
So now I will not give myself the goal of becoming a Senior for a long time. After all, the titles of Junior Senior are objective and there is no certain measurement standard. I think it's important to have an ideal developer in mind and keep moving in that direction.
too hard, you will be tired, so let’s develop some interests in life!
Before entering the workplace, I had a lot of free time. On average, I spent about 5 hours a day on study. However, after starting work, I only have some spare time after get off work that can be used every day. Now I still try to free up get off work every day. The last two hours are used to learn new knowledge and technology. However, spending a lot of time on technology-related things for a long time will be a little tired, and the motivation and results of learning will be cut in half. Therefore, I also began to slowly adjust the pace of my life. In addition to writing code, I also developed some long-term interests, such as fitness, playing ball, watching movies, etc. Although I have less time to touch technology, I do not feel that my progress has been reduced. After all, if you live a happy life, you will be happy when you do anything!
So if you want to become stronger, you really don’t need to work hard. There is nothing but code every day. You have to make a trade-off. It’s really faster to take it slow!
Summarize
Maybe this is a slightly negative article, but I think negative emotions are one of the driving forces for progress. Recognizing our own problems and the gap between our ideals and reality can help us get back on track more quickly and continue go ahead.
I am very fortunate that I encountered these troubles half a year after I left the society, and I also set some improvement goals. Next, I will wait another six months and a year after I leave the society to see what changes I have made!
code is deployed cannot be known in real time. In order to solve these bugs afterwards, a lot of time is spent on log debugging. By the way, I recommend a useful bug monitoring tool Fundebug .
original:
comminicate
If you have dreams and dry goods, search on [Moving the World] still washing dishes in the early morning.
This article GitHub https://github.com/qq449245884/xiaozhi has been included, there are complete test sites, materials and my series of articles for interviews with first-tier manufacturers.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。