Wechat official Account [Programmer’s Lake]

Author Huang Xiaoxi, slash youth, a 985 master, ali R&D engineer, received offers from BAT Toutiao, netease, Didi and other 8 big companies in autumn 2018

Personal areas of expertise: self-taught programming, technical campus recruitment, software engineering postgraduate entrance examination (you can get 3T free technical learning resources by replying to “information” after following the public account)



The author has posted several articles about finding internships. Actually, the internship process itself is more interesting than finding an internship. After the internship in netease and Baidu successively, I understand a lot of things. Here, I share them with you.


one

My brief time at the pig farm

Just out of the school gate, my internship has just begun. I worked in netease for less than 3 months and Baidu for about 5 months, and the internship time was about 8 months in total. However, these two experiences were indeed valuable assets in my life, which also added a lot to my subsequent interview for autumn recruitment.

During the internship in the pig farm, I got to know the development process of a big company for the first time and personally participated in the development of the project code. My tutor would tell me the requirements and guide me how to do better. There is no doubt that MY growth here is very fast, but I soon realized my problem. I am not familiar with the technical stack of the department, and I am not familiar with many technical principles of Java Web. During this period, I realized that the depth and breadth of my knowledge may need to be improved.

But there’s something going on at home. I quit my job in advance, so I stayed in the pig farm for a short time. As a result, I left before I had a chance to understand the technical structure of the department project, which also made me feel very sorry after leaving, so I made up my mind to do well in the next internship unit.


I believe you are also very interested in the internship content, LET me give you a general introduction. What we do is a Web application based on data warehouse. Of course, the Web application itself is not complicated, and it does not even use the Spring framework. Instead, it is directly developed with the retro Servlet+JSP, and THE SQL is directly written in the code.

However, my supervisor was very kind, and the tasks I was given were quite challenging. At that time, I consulted my supervisor while exploring, and I finished three functional modules, and applied packages and tools that I had never used before into the project.

In addition to Java Web applications, other colleagues in our department are engaged in both data warehouse and algorithm, involving a wide range of technologies, such as the ecological components of Hadoop, including streaming computing framework, message queue, cache and other components. Unfortunately, I was so inexperienced that I had to leave before I could study these things.


Ii.

Bear factory internship story


After leaving the pig farm, I went to the bear factory. At that time, our department was engaged in private cloud, providing some virtual machines and container resources for offline testing. The requirements put forward by the department were not too difficult, and most of them were CURD’s work. However, I soon realized the problem this time, that is, I was not familiar with the overall technology stack of the department, so WHEN I needed to learn from others’ codes, I occasionally could not understand them. Later, when the department gave me new requirements for refactoring, I began to worry about whether I should make some changes.

Finally, I found a new goal, I want to understand the department’s project architecture and the relevant technology stack (our department is engaged in private cloud). At the beginning, I would consult my tutor and try to understand the architecture design of the project. Besides, I would also spend some time to look at the codes of other colleagues. And through some documents and PPT to understand the function and significance of these codes.

Combined with the codes and documents, as well as the communication with my colleagues, I gradually got familiar with the structure of the department project. In order to better understand the function of each code, I also wrote notes for the codes of some modules.

Of course, only looking at the code and documentation can not solve all the problems, because the focus and difficulty of this project is not in Web application, but in the underlying technology, this project contains two sets of architecture, namely a set of OpenStack cluster and a set of Docker cluster. In order to learn these two contents, I first read a lot of blogs, and then practiced running virtual machines and containers on the platform. Finally, I read some books in this field, mainly including Design and Implementation of OpenStack and Introduction to Docker Technology.


But it is not enough, virtualization technology is closely related to the Linux kernel, and learners very familiar with the operating system and network, I know these content I didn’t learn enough, so I spend a lot of time to read this book, was also met a number of really good books, respectively is the deep understanding of computer systems, the computer network: The top-down approach, and the unfinished Book Linux Kernel Design and Implementation. Although the future may not do cloud computing direction of development, but I am very happy to learn these things.

Later, there were more and more books on my desk, and I became more and more familiar with the technology stack of the department. Sometimes, I would listen to the technology sharing organized by various teams in the company, and read the technology courses on the Intranet in my spare time, which really expanded my technology breadth.


3

Some thoughts about practice


I sometimes think that practice life be deceiving, you wear and formal employees work card, and they are doing similar things, will let you feel you are and their levels of about the same, but the truth is, before the confirmation, you still have lots more to you and them, so don’t stop my steps forward, take time to learn and grasp the good opportunity in the company, you Take advantage of the resources your company offers you.


What kind of experience is it to practice in netease games?

In the pig farm, especially in the game department, there is indeed a good game atmosphere. Most colleagues and leaders are interested in the game, so it is easier to communicate with each other. In addition, the overtime work intensity of the department is not as big as expected. Of course, it mainly depends on the business and products. Coincidentally, our department is not engaged in game products, so there is no great pressure on the schedule, and the overall work intensity is moderate. (Having said all that, it’s actually a great experience!)


What is it like to intern at Baidu?

In bear Factory, no matter which department, engineers usually dominate, so the technical atmosphere of the whole team is very good, there will be a lot of technical talents, you will feel that the team is really reliable, you still have a lot to learn from everyone. At the same time, the overall work intensity will be slightly higher, different departments may have a deviation of one or two hours, but in general, it is not too early. Baidu is really good in terms of technology. Technology is often shared within the company, and different departments also have opportunities for technical exchanges and cooperation. (Overall, the technology is strong, but not easy!)




Some things I learned after my internship:

1, work intensity, overtime generally look at the company, in fact, also look at the leadership, the truth is very simple, if the leadership is more healthy, you may go off work early, on the contrary, if the leadership is very hard, then you don’t want to be easy.


2, every company, department will have some unique “customs and habits”, such as holding station meetings, such as team building, in addition, promotion is also a very sensitive topic, not everyone can “good wind by force, send me to the clouds”.


You are just a screw. It will take a long time to understand the whole picture of the company. I think you should remember to see where you are instead of just working hard.


Dachang canteen is good, but there are always tired of eating that day. A free gym and trainer is a great perk, provided you don’t have to work overtime to exercise.


5, although we are just a screw at the beginning, but the dream is still there, although you are so beautiful, once upon a time, like us, just an ordinary programmer, of course, they can not only write code.