Personal profile

At the end of December 19, I entered the byte internship, and graduated in July the following year. A few days ago it was the first year of full-time work.

Before entering the company, I worked in the school of Mathematics in an ordinary university. In the four years, I spent one year in PHP + JQuery shuttles, one year in games and one year in AI. In the last year, I planned to take the postgraduate entrance examination, but I gave up due to personal interest and turned to byte to concentrate on the front end. For those who are interested, read this headline: How did I go from a bachelor’s degree to a programmer?

Currently, I am working in the international e-commerce team of Zigzagong, mainly in the middle and back office. At present, the team is also recruiting front-end engineers in Beijing, Shanghai and Shenzhen, including but not limited to internship, campus recruitment and social recruitment. If you are interested, please refer to the end of the article for delivery information.

I have been engaged in mid-stage business, C-end business and B-end business for more than one year. Worked on the C-side component library from 0 to 1, and is currently working on proCode enhancement tools. On the whole, I’ve been through a lot.

Personal experience

C terminal service of a medium terminal

experience

Formal graduation before doing a period of time in Taiwan payment page.

At that time, when the project was first created, it needed to generate an ID with shell script provided by the server, and then manually mock out some cookies and accounts when the Node service was started locally, and then remove the mock code before launching.

The second was the Form that was being developed at that time, and the code became increasingly difficult to maintain as new functions were constantly added to requirements development. At that time, I planned to investigate the form scheme of the industry and do a reconstruction. One is that the front-end level at that time is limited, one is the demand is not on the agenda.

It was also because some page components hosted multiple business parties at the same time, and by the time I developed a third business party, the amount of testing and regression required had increased further. So take the risk of refactoring and unbundling, pulling out the common parts into the form of common components.

feeling

At that time, I did not realize that many problems were actually opportunities, which were limited by the technical vision and ability at that time. There are now many options, from r&d efficiency to quality assurance, that can be advanced.

For example, the most simple way to mock your code is to separate it into a multi-environment env file and use a custom webpack-plugin to automatically generate ids at startup.

For example, comb through the existing business and build a C-side component library for future changes.

Use E2E test to cover key cases, ensure quality of launch, etc.

C side component library construction

experience

Before the team started the international e-commerce business, there was a gap period of time. I was grateful to myself during this period. I absorbed the technical implementation of the team’s existing projects like a sponge every day, learned the relevant technology stack, and gained a certain understanding of front-end engineering from a person who knew nothing about it.

I was very lucky to have the opportunity to independently select and develop a C-side component library when I just graduated. At that time, I investigated the technical solutions of c-side component library both inside and outside the company, and organized a set of technical solutions combining with the characteristics of our business.

In addition to the implementation of the component library itself, we also made some changes. For example, the Styleguidist we were used to at that time did not support mobile preview, RTL preview and dark mode preview. In order to avoid repeating writing some H5 Demo pages for UI acceptance, Styleguidist is previewed on mobile using webpack aliases + custom display containers. The React component library technology selection and design

feeling

During this period, I have faced many technical challenges, and my technical level has grown rapidly while completing my work. Hitched a ride on the rapid growth of business.

Middle and background business of international e-commerce

experience

This is a piece of business done in the last six months, a small module into the business as a whole.

Technically, I came into contact with the micro front end and low code building system in the middle and background. I made a procode generation tool for the common form + table scene in the middle and background, which is now being gradually improved.

In business, I began to understand the background knowledge and business data of the business modules I was responsible for, and participated in the medium and long term planning of the business, as well as the bi-monthly goals of the roles of all parties. Develop this module together with two or three classmates and follow up the progress of the project.

At the same time, I began to guide the newcomers into the team and work as a mentor.

feeling

At this stage, I encountered many challenges outside the business, and my soft quality gradually became the bottleneck for growth. I also lacked experience in training new people. We need to think more, summarize more, and optimize the way of doing things.

Knowledge of front-end technology

My current understanding of the front end is mainly the troika: efficiency, performance and quality.

Through this troika the business generates greater value beyond the basic completion requirements. For example, improved human efficiency can support more business needs, and improved performance can improve user retention and conversion rates in the funnel. Quality assurance ensures a stable user experience.

Everything except business development revolves around these three things.

The understanding of the front-end system is not developed here, there have been too many relevant summaries and structural diagrams.

Knowledge of front end engineers

A good front-end engineer not only needs a solid technical foundation, but also needs to think about the value of technology to the business.

A lot of things are easy to say, but few people can do them, like the word “true”, like

  • Everything has a response, everything has a landing.

  • Give full consideration to the priorities of the work and proceed in an orderly manner.

  • Reasonable schedule, timely exposure of project risks.

  • .

In addition to the technology, there are many challenging things, such as the development of new people and so on.

Work Habits Advice

Share some common but useful work habits.

First thing every day

  • Every day when I go to work, I look at my schedule for the day, what meetings I have to attend, and how much time I’m taking up.
  • Then, it is necessary to clear the to-do list, such as what needs are in hand at present, and whether we need to communicate the current progress and schedule with our partners.
  • Then estimate how much time you have available today and prioritize what you will do at different times of the day.

included

  • First of all, I will include some important documents in my work in a personal doc.
  • According to the level of relevance to me, the order is logistics -> operation platform -> Magellan e-commerce.
  • Especially when doing a requirement, there may be PRD (product documentation), server-side technical documentation, test case documentation and so on. In order to avoid finding documents when needed, it is necessary to include them in time. Of course, if the requirement requires the front-end technical documentation, it can be grouped into the front-end technical documentation.

Before the meeting

  • Before an important meeting, you must carefully read the document (usually PRD or technical plan), so that you have a clear mind, and come to the meeting with questions to improve efficiency.
  • The TODO will be sorted out and sent to the relevant at handlers in the group if necessary.

– Organize relevant documents into your personal work portfolio after the meeting to make sure you can quickly retrieve them when you need them.

Study suggest

The direction of

In the early stage, I will learn from my own work, and give priority to what I can learn from my current and future work. This gives you more positive feedback, keeps you motivated to learn, and translates your learning into productive work more quickly. Later, we should consider learning more systematically and building systematic knowledge. Curiosity a little bit more curiosity. For example, in my work, I used SVG to insert an icon and couldn’t overwrite its color using Base64. I solved the problem by changing the fill attribute of the source file. So what other ways are there to use SVG? What are the advantages and disadvantages of each approach? What if a project uses SVGR /webpack to import all SVG files as React components and some SVG files want to import them as Base64? And so on. For example, how is the project that runs every day configured? What is behind Yarn Dev. The submitted code is CI/CD. How is CI/CD configured for our project? All of these can be learned when you are able to fulfill your needs. Our project itself is a great learning material. Because it is the real landing of some technology in actual combat, you can consult relevant colleagues in doubt.

The depth of the

One is what you actually do, from technical research, selection to implementation, and output sharing, which is the most solid.

breadth

Use your lunch break, the break in the middle of a meeting, or some more casual time in between. Weekly reports from other departments, what they do, the technical community inside and outside the company, etc. These won’t get you very far with a quick scan, but they can be a source of ideas for later technical research and scenarios you can come across. At the same time, I gradually have a holistic understanding of front-end technology.

enthusiasm

Passion for technology can be very important. If you are not enthusiastic about technology, you can also learn the most relevant technology and turn it into a problem at work to make yourself feel fulfilled. Because some technologies, limited to our current work, may be difficult to use in the work for a long time, easy to discourage the enthusiasm of learning, which is why it is more recommended to start from the job-related part.

open

Need to have a more open attitude to technology, accept and understand different types of technology, technology perspective. Do some sharing and ask others to review and make suggestions for you.

New arrival Advice

What every new employee must experience is to be familiar with the infrastructure of the company and to be able to meet the needs of small and medium scale (for school recruitment and internship students). There are some simple but valuable things to start with on the way to achieving this capability. Are there any components in your requirements that can be reused and abstracted into common components? If a component is intended to be used only on your page, then its design and universality are not so strict. If it is intended to be used as a public component, what else should be considered? In the early stage, I should concentrate on writing good code within my ability. I can write good code for communication and business understanding only after I can write the code relatively OK. After all, growth has stages. At the same time, you can think about your strengths and weaknesses. It is relatively easy to give full play to your strengths, but overcoming your weaknesses may be a long-term process. As far as I’m concerned, my weakness is too much anxiety, which is obvious from my experience. Recently, I have gradually calmed my mind, hoping to overcome this shortcoming. New relatively big problem is easy to have problems do not timely communication, try to be brave. This is also true of me, and some students will do better than me. The schedule is obviously unreasonable, and the problems we encounter cannot be solved even if we think about them by ourselves. At this time, we need to seek help from mentors, other colleagues and leaders.

Anxiety about

I am often very anxious, so about this, probably more experienced, mainly consider the following points:

  • Accept that your growth comes in stages and takes time.
  • You need to plan and anticipate the future, but by being more present when you do things, you’ll be more focused and less anxious.
  • More pay. Anxiety itself is the psychology of not being satisfied with one’s state. If you want to do better, you must first accept giving more. Accept that there is a delay in getting rewards for your efforts. For example, you have spent some time preparing and learning before entering the company. At that time, there was no progress bar for you to get the byte offer. So again, it’s a matter of delayed gratification. At the same time, you might want to think once in a while about whether giving is going in the right direction. It’s much more popular than I was when I first started, and I thought about writing some blogs. But at this stage more important or input, their own improvement. Give it away, think clearly about priorities and direction, keep investing, and trust that it will pay off.

Probably there is a lot of anxiety online (mainly maimai and Zhihu) about front-end and programmers being 35 years old, which I experienced for a long time when I first started. The so-called narrow encounter the brave win, we pay more in their own track, do better is not bad. At this stage, we should focus more on adapting to the pace of work and personal growth. We should plan for the next two or three years, focus on growth and keep learning.

Fighting together

Bytedance international e-commerce (Magellan) team hires new employees! School recruitment practice can be delivered, not miscellaneous, can be positive, can be retrieved!

[Join international e-commerce (Magellan), a better life at your fingertips] Looking forward to, looking forward to, the opportunity to byte again ~ now! There is a great opportunity (Magellan project) in front of you, come to me to push! Here, every line of code you create is affecting millions of consumers, and every feature you implement is being used by merchants. Here, you will have the opportunity to connect with byteDance’s entire product matrix, witness the growth of Magellan’s international e-commerce team, and support the company’s revenue growth. If you also want to explore the next international e-commerce tipping point with us, apply the latest technology in the scene of hundreds of millions of users, solve the industry’s top technical problems! Come and join us! All posts and levels, all like it! The best team atmosphere and the best growth opportunity, what are you waiting for? Come to me and push inside!

[Job type] : Front-end/back-end/client/test and development engineer, etc.

[Location] : Beijing/Shanghai/Shenzhen

[Delivery method] : Send email, subject format [name + mobile number + city + position + internship/school recruitment/social recruitment] to [email protected]. You can send email to check your progress at any time. You can add wX: xushaojun0 to get advice on optimizing your resume and preparing for an interview.