Here comes the interview for the 13th issue of the front end early reading class . Once recalled 2010 I read the book he wrote when I was young , Recently, all kinds of microblog “ catfight ”, And to open up a wide range of apprenticeship business , Let him stand on the crest of the storm , Some people support , Some people against . So today, let's take a look at the experience of Adang's predecessor in his front-end career .
The text starts here ～
Self introduction. , The company it serves
I'm Cao Liuyang , Friends in the circle call me Adam . Now I work in gangling group , Internet medicine .
Based on what scenario did you choose the front end Engineer , And in a few companies that we serve , Which experience do you think has the greatest impact on you , Why? ？
it's a long story , I majored in the Department of family planning in college , In school, we teach c ah 、java ah 、 Software engineering and so on , It's not interesting to live or die , I always feel that this thing is far away from being visible and palpable “ works ” There's too much distance . Until web design and photoshop These two elective courses , My eyes are bright , I feel like I can do something about it . in addition , When I was in College flash, Dodger . I think it's fun , I taught myself flash. Although many people feel that c Language is the best entry language , But for me , The one that really opened the door to programming for me , nevertheless as2, you 're right ,flash Scripting language .flash Convenient and quick , add as2 Write the script , You don't need too much knowledge to make something fun . If it wasn't for flash Today, it's almost out of the stage of history , I still think it's the best way to get started with programming .
Although my interest is at the front end , But there was no front-end engineer on the market at that time . It was either a web designer , Or the Engineer . I want to be an engineer . A year before college , I spent a lot of time backstage , Mainly study j2ee, But when I went out to look for a job, I found that there was a market for j2ee The demand is very small , I had to change my position , Just look for a job as a web designer . And then I taught myself in college flash、 Optional web page making and photoshop Instead, it helped me find my first job . And then the first job title You become a web designer , from ps、ai、flash To the web page production package . I spend a lot of time on Design , Color matching 、 Layout 、 Point line surface 、 Cool and warm colors and so on . It's getting further away from the back end , From the front end, it's just as easy to leave . At that time, the front end made web pages , The mainstream approach is still dreamweaver Lira form , What else is popular 1*1 transparent png Black magic of . The company's two elders used asp + table Layout , I recommend to the company to use css Layout , Say it's the future trend , The boss asked me , Why want to use css The layout ？ What are the benefits ？ I balabala Said a pile , But the boss is a businessman , Don't know the technology , There was nothing he was interested in , be noncommittal , And then it's over . There was a time when I thought about switching to a designer , Two design styles were popular at that time ,1 It's a simple European and American style ,2 It's a beautiful and gaudy Korean style . I bought a bunch of books on art and Design , I want to be a first-class designer , Go South Korean ！
But life is always a joke , I went back to the front circle . My first job was in Shenzhen , Huaqiangbei , I like the Shenzhen book center outside the two stations , I often go to Shenzhen book shopping center after work , The salary was low , There's no money for , I just sit on the ground and watch , I've read a lot of front-end books . It's almost a year of work , By reading a lot of books , My front end and flash The programming ability is improving very fast , The young people at that time were almost the same as the young people in the process , Always like to join the group of peers to brag , The content of blowing is nothing but 3 individual ： company 、 salary 、 works . My works always attract the admiration of many people in the group , Guess my salary should be high , But in fact, my salary is less than that of many people with average ability , This caused me a great psychological imbalance . Finally in a psychological extreme imbalance , I have the idea of job hopping , I'm looking for a good owner to give me a salary worthy of my ability .07 In the second half of , I've looked for 51job、 zhaopin , The blue ideal recruitment board , In the big city of Shenzhen, we can't find the post demand of front-end engineer . Then I turned to Beijing , I found that there was a large demand for front-end engineers in Beijing , A lot of companies are starting to have UED The team . Then I went to Beijing .
In the beginning, I went to a small start-up company , Two bosses and I have a part-time job , Three people in all . Two bosses , One is to write php Of , The other is the designer , And then I became the front end . Beijing's technology circle is still discerning , They can understand the role of front-end Engineers , Quite frankly double I got my salary , And then I finally had a mental balance , Be the one in the class with the fastest salary increase . This job is the beginning of my real career , What this company does is web2.0 Website , There is a high demand for rich media applications , Various effects ,mp3 Music player 、flash Photo album 、 Multiple file upload 、 Custom skin 、 Various js effect . Then the company also needs outsourcing in order to survive . And then I developed from the front end 、flash Development 、flex Develop to php Development , Except for design, there's no need for , I've been exercising all over the place . Usually work overtime 、 Work overtime on weekends 、 When there are too many, three projects are developed in parallel , Some of these projects are completed by myself . I read a lot of books at that time , But actually just from a pull table Web designers are transforming , You can imagine the pressure and challenge . Maybe I'm really gifted with programming , Maybe I'm good at picking and reading books , I resisted . This period of time to my programming ability and the ability to withstand pressure has qualitative improvement . Don't push yourself , It can never be finished , It was during this period that I realized this truth . I've read more books before , It's not as good as I grew up fast during this period . It is worth mentioning that , It was during this period that jquery It just started to get red , So I started from Shenzhen and wrote about it for a year js, This makes me right js There's a deeper understanding at the bottom .
Then I had a chance to go to Yahoo . People who haven't been to a big company , I'd love a big company , especially QQ A group of people in the group talk about big companies all day , A man reports his home “ TaoBao ”“ Sina ”“ tencent ”, Then a group of people knelt and licked . I'm looking forward to going to a big company , Whatever big company it is , I want a sign, too , Any pay cut will do . And I was lucky to go to Yahoo ,hr Ask me how much salary you want , I said you look at it and give it , No requirement . Go to Yahoo! For me , It's of great significance , It's not a company halo , But I met YUI. at that time YUI still YUI2, Yahoo internal mandatory requirements for all front-end use YUI, Out of commission jquery Other libraries like that . And in the face of YUI Before , I thought jquery It's very powerful , Than the original js It's too strong , It's like magic , I didn't think there was anything better than it . Then I met YUI2, An official website in English , Spent nearly a month to nibble at its various documents , And then it's amazing , and jquery It's so different , A completely different way of thinking . When sharing internally , I said, jquery It's like a novel by Gulong , Rivers and lakes are two-dimensional lines , Weapon spectrum ranking , and YUI Like Jin Yong's novel , The world of rivers and lakes is a three-dimensional face , Evil in the East, poison in the west, magic power in the North beggar in the South , None of them jquery The absolute protagonist like the object .YUI I know what frame is completely from the design idea of , What is a library . It was not until later YUI3 The upgrade , I find YUI It's like apple equally , It's the ultimate closed perfect baby . I always thought it would fire , It's going to burn .
Soon after Yahoo became a full-time official , Met Yahoo layoffs 2/3, I'm a newcomer, of course . Then I successfully transferred to Taobao in the internal interview , I am the first front-end employee of Taobao in Beijing . And then challenged the first one in my life spa, A very challenging project . I still have the core part of the project ：http://t.cn/RbrJFM8 For me at the time , This is a task that tests the ability of front-end programming , And the time is very, very tight , This is the core demo I can't spend it 3 Days to complete . All kinds of drag and drop 、 It's complicated , And no one can consult or help . I worked overtime all night , Completed the challenge . During this period, I read a book about design patterns , Understand the idea of object-oriented programming , And then this SPA The project just forced me to use OO Programming . At this stage, I completed the second qualitative change , I've become very tired of working overtime . Another important thing is , I started writing books . Thanks to my friend Zhou Yubo for helping me introduce Yang Fuchuan, the excellent editor of Huazhang .
Write to half , I left my job and went to Sina . In Sina , The project group you enter is also a special project group ： Instant messaging , Sina chat room and web uc. Sina chat room and web uc Is full of spa, Object oriented organizing code , Many people work together to maintain the same long-term maintenance project . It's really a free time , I learned ruby、rails、python、linux、django、wxpython、 Agile development and other knowledge . then html5 coming , Mobile development is coming . because 2010 It's called the original year of mobile development , It's a brand new , The platform of light , The opportunity is good , A lot of friends are starting to ios or android Turn around . I also bought android The book of , Prepare to transfer android 了 . But I was in a bit of a wreck by then , One is because I'm in web I've accumulated a lot of experience in this field , Second, my book has been published , I also attended many speeches at conferences , A lot of people in the circle know me . The reason why I finally decided to stay in the front circle was , Remembered asp、delphi The decline of , and iphone4 Yes flash I won't support it ,flash The dilemma of , And the rise of mobile platforms ,windows The decline of the platform , I think it's still web This kind of public non private technology will be safe , Besides, html5 Than html4 It's much stronger , There is much to be done in the future .
During my time on Sina, I learned a lot , With more and more abilities , I began to reflect on two issues ： Why should I listen to the product manager , Can I do what I want ？ And when I was in college, I chose it The original intention of this major , I want to do game development , Want to develop a game that people like , People can enjoy talking about up and down, around BA The secret of . I feel strong enough , Can do front-end, can do back-end, can do item management , I want to do something I like , I'm going to play games . And then, coincidentally , My old friend Zhou Yubo was working in Shanda Innovation Institute at that time , He recommended to me this engineer's paradise, which is already well-known in China , I want to be Chinese google, The president is Chen Danian , Nine thousand years old , An engineer comes from a very artistic background . I yearn for this legendary Utopia of engineer culture , What's more, Shanda is famous for its games , It's my ideal environment . Then I decided to leave life 4 Beijing in , To Shanghai , Joined Shanda Innovation Institute .
The Innovation Institute was really good at that time , From the bottom up to the top , Basically, the project leaders are all engineers , There's no product manager . Or to put it simply, the company has no product manager and no operations , It's all engineers . Big city, little fat 、flashlizi 、winter、hax、 The shadow 、 Zhengmei was in the Innovation Institute at that time . Remember me and chubby 、flashlizi Old quarrels , Endless fights , They want to play games and they don't want to play with me , But it's all in my project team . It was also during this period that I found the legendary Microsoft God ,51js Moderator winter What a wonderful knowledge structure . And then it turns out that online aggressive hax, In fact, the off-line visual sense is actually a little naive . I can't believe that such a person patted me with bricks twice （ One was for Zhu Yinhong 《 Journey 》 Together with being photographed , It was another book I shot ）. The moon shadow is stammering , Especially around @_@ . Zhengmei has never seen a real person since she left the Innovation Institute , A tech geek who doesn't like to walk around . Rice dumplings have hated me since then , I don't know why? , Maybe it's because of different technology concepts ？（ Shrug ） In fact, most of the memories of the Innovation Institute are not very happy , The best part , Probably with winter Let's talk about the myth of the flood , For example, Buddha 、 The Supreme Lord 、 Primordial God , Who's harder than who . During my stay in the Innovation Institute, my project was a cross pc And mobile phone 、pad Real time online game platform , We are based on YUI3 + websocket + twisted + mongodb + Independently developed html5 The game engine developed the crazy tank 、 Billiards 、 fight against landlords 、 Fifty K common 4 game . Then Shanda Innovation Institute went bankrupt ... During this period, I learned mongodb、redis、twisted、html5 Various api,canvas2d and webgl. in addition , Also completed the transformation from technical person to product owner .
The little friends scattered to different companies , In addition to Xiao Pang's stubbornness, he started his own career as a loser , I live with my belt tied , Everyone else has found a good home . I didn't leave Shanda , Transferred to Shanda game Innovation Institute . And then go out and start a joint venture with the big guys in the world , do html5 The game platform has gone . And then start a business for a number of reasons , I quit . But the harvest during this period is really to see the problems that a company will encounter in the process of operation , It took me completely out of the engineering mind , Start looking at a lot of things in a more grounded way , Including people 、 The company operates 、 The art of upward management and downward management and so on . It turns out that engineers are really simple animals . On the one hand, engineers are simple and kind , On the other hand, engineers are really stupid . The world doesn't revolve around engineers , Although the world of engineers has its own holes, it is not bottomless and vast, but it is only Dora A Four dimensional pocket of dream , It's not the real world , Its rules of the game out of that circle are nothing . I thought I could be a swordsman , But I found that I was just a sword in the swordsman's hand , Even if I'm a heaven reliant sword , I'm not a swordsman, either . There will be no Utopia like the Innovation Institute . This hit me a lot , It's very frustrating ...
My programming is almost over here . And the story that follows , I've completely transformed my management line . With the dream of technology driven product innovation and the regret of death before leaving school , I'm getting further and further away from the first-line coding . It's not a defection to the programmer community , It's not that I can't program anymore , I didn't want to be a programmer all my life , Programming for me , It's a tool , Tools to realize my game dream , The purpose of pre-school learning and back-end learning software engineering is to have the ability to develop games . I've been using programs as tools from the beginning , I just found out that I had some programming talent .
I found a very serious problem is , Many people forget their original intention when they enter the workplace , Or there is no original intention at all , What to earn money to learn , How to go forward is completely driven by the ideological trend of the circle , For example, the circle advocates geek Culture , Advocating the great gods in the legend , Advocate white beard and white hair to write a lifelong program , And then a lot of people are brainwashed by this culture , Mistaking it as his own pursuit , And kidnapped by this culture , Despise or even *** People who don't agree with this culture . There's really no need to .
Every experience of mine has a different harvest , I don't know which experience has the greatest impact on me . Looking back , I think my route was predestined from the beginning ？ Character decides fate , No matter how the route changes , At a certain stage , My position and direction may be similar . Say not modestly , If I had been a designer in those years , Maybe a great designer today , We have also transformed into management and products , ha-ha .
In the current situation of front-end technology updating so fast , What aspects of learning do you think the front-end development engineer should pay attention to ？ How to break through the bottleneck in the learning process ？
So much has been said about my growing up experience , It's just to show my own experience , Some suggestions from my experience ：
Don't be superstitious with big company technology ,google and facebook There are so many things produced by big companies , Don't think it must be right if it is produced by a famous factory .google Produced GWT dead 、 Microsoft made silverlight dead 、IBM Produced dojo It's no different from being dead .
Don't follow the opinion leaders blindly . For many technologists , What they're after is “ A great god ” Name , or “ If you are skilled, you will become an official ” Reality , Technology is just a tool , To satisfy these unwilling Forrest Gump's running followers , They don't care whether it's cost-effective or not , Whether you can keep up with it or not , I don't care if you have a solid foundation and a high learning efficiency , No matter whether the technology will be eliminated or not , Anyway, when they become famous in the world, they will sell face to each other , You can't find a good employer, you can't get a good salary . And a group of people called , can high 了 .
They like to call others gods , In fact, many people have a big dream in their heart , I also hope I can be famous earlier . So , I always want to be told the truth to others , And then it comes straight to the doctrine . After some achievements , Take up the bowl to eat, put down the bowl to curse your mother . I feel like watching your tutorial 、 Pay attention to you 、 To give you a compliment is to look up to you , It's fair trade . After learning the knowledge , And swearing , What's wrong with you , Say you're wrong . Then ask them if they want to read , Answer , see , Only read foreign books , Tell me to throw out a list of foreign books , It seems to be a force . In fact, there are many good domestic books , It's no worse than foreign books , for instance 《 Big talk design patterns 》《html5 and css3 Authoritative guide 》 Etc., etc. , excellent , They are rarely seen in the recommendation list of Chinese people , It's all about foreign books , There are many books that are far away from actual combat , For example, rhinoceros book , I don't think it's practical at all , After the actual combat experience is enough , It's OK to use it as a dictionary , That's it . Earlier years 《 Website reconstruction 》《css Zen garden 》 Everything , There's no difference between watching and not seeing . I'm very disgusted with the Chinese people's pursuit of forced qualification , Not grounded , If you can't grow, you can't grow , You deserves it . Students who want to learn , Don't be kidnapped by these people , What works for you , Believe in your true feelings .
Reading is very important . Don't learn a little bit from the East and a little from the West all day long , If you encounter problems, check Baidu （ Don't tell me you don't use Baidu google, It's not a pushover , I won't ***, Use whatever you like ）. Reading is the most systematic way to learn knowledge , String scattered knowledge points into a plane , Not one of them. . Reading a book , Read a good book .
Algorithm 、 Data structure is far away from the front end , Don't listen to people blind BB. I've written front-end code for so many years , There are so many challenges , The more basic css、dom api、bom api The more it helps me . Everything else is about . Let's make those algorithms all day long 、 People who are important in data structure give a few examples to see , What are these important scenes , You can't name a few common scenes . It's better to study hard css To be practical .
css It's the foundation of the front end , Than js More basic . Didn't learn well css front , Not blind js, Let's not toss the frame 、 Tools 、 Compile something . Not to mention tossing node, It's getting farther and farther from the front end . The fake back end can't solve your actual project problems . Learn first css、 Learn the original again js、 Learn again js frame 、 Learn tools again 、 Finally, learn node Back end . If I really want to learn from the back end , It is not recommended to use node, What's not fun? This pit is full of fun .
Don't be superstitious about big companies , Imagine how big a company is , How formal is the workflow of a large company 、 How to choose the right technology for big companies . With my own experience of so many big Internet companies , And knowledge of other big companies , Big companies are in a mess . It's all mixed food , Some people like to play tricks , Make a difference , The company halo is their backing , They also contribute to the company's aura , make the old and new contrast and complement each other , Or collusion . Or that sentence , It still doesn't work , Believe in your own feelings . Don't kneel and lick after people , I find these things can't fall on the ground , It's time to work overtime and you have to work overtime .
- Don't listen to anyone , Including me , Don't do idolatry or anything , The same as your own judgment . Better believe than have no book , Don't listen to what people say .
What I know about you , You've been an engineer , Entrepreneurship , What do these experiences feel about you now ？
These experiences tell me , The engineer 30 The transition crisis is real . Everyone needs to be the future 5 Annual plan , you hope 5 What are you doing in the next year ？ Many people can answer the future 2 Annual plan , But there is no answer to the future 5 Annual plan . This is worthy of enough attention . In the workplace, time really flies , especially IT circle ,5 Years of work experience and dare to call yourself an old man ,10 Years of work experience, whether you like it or not, will be regarded as an old man . You really think you're going to 30 You don't meet when you're 12 30 Age crisis ？ You really think you want to be a white bearded, white haired old man ？ You really think you can be such an old man ？ What are you doing today , Depending on 5 Your plan a year ago , and 5 What are you doing in five years , It depends on your plan today . If you don't have 5 Plans for the year ahead , So wait 5 The crisis in the years to come .
There are many front-end related books on the market , What's on your list here ？
html5 and html4 It's an upgrade relationship , It's not a replacement relationship .html5 Related books , Or books that are popular today , Actually it's about html5 On html4 The incremental part of , and html4 The book may no longer be popular or even published . It's very dangerous , The book fault bed may cause technical fault , Especially when even the knowledge on the Internet is also such a tendency , It's terrible . I do not know! 5 Students with years of work experience , How many people have a solid foundation . The solid foundation I said is from html4 The beginning of the calculation . My personal advice is , Look for old books , Supplement the basic knowledge , from html4 Start filling , Make up html5. Maybe some knowledge has been eliminated , But it doesn't matter , Know what's out of it , And why it's important to be eliminated .
I hope there will be ready-made books directly , Tell you the best practices directly , It's impossible . One is that few people have the ability to write such books , Second, people who have the ability to write are not necessarily willing to write . My suggestion is to start with html4 The book of the times looks like , All the way to see html5, Mobile front end development .
In addition to mending it yourself , Is there any other way ？ Maybe you can join my apprenticeship program . Get ready for this 6 A question ：
What do you think of the so-called master 、 Daniel ？
If money is not a problem , What do you want to do ？
How to look at engineers 30 The problem of the transformation of the old age ？
One thing that I don't share with most people is ？ Not limited to technology
How to look at the matter of apprenticeship ？
Think I can teach you something ？ Then put the answer to firstname.lastname@example.org
- in addition , There are also the etiquette and fees of learning from teachers , See here for details ：http://t.cn/RGQ0g5i
Why do you think of taking in students ？ Think for yourself .
In the depth and breadth of front-end technology , How to balance it ？
09 When I was writing my own book in, I said , If you want to refine your line , You have to know ten lines first . Depth is, of course, the core html、css and js On . We can learn server programming in breadth 、 object-oriented 、 Code refactoring techniques 、 Software Engineering 、native Development 、webgl wait . The trade-off , Note that your position is at the front end , So what is a pearl and what is a box should be clearly distinguished . The box can be exchanged and thrown , Pearls can't be thrown .
From technical post to management post , What are your personal experiences ？
team leader and geeker It's different ,team leader Our orientation is to ensure the fluency and efficiency of teamwork , Ability growth and stability of team members .geeker It's not suitable to be a manager , It can even be an obstacle to teamwork . Technical post is the first person perspective , It's a fight cs, And management post is God's perspective , It's Warcraft .
But the interesting thing is , A lot of the wisdom of programming is also very applicable to the real world , For example, the idea of agile iteration , Finish before perfect , For example, the idea of object-oriented , High cohesion and internal coupling , Decentralization and teamwork , For example, lack of abstraction and abstract errors , Team work , such as api Packaging needs to consider ease of use , Document as user friendly as possible . All in all , The idea of programming has also helped me a lot in team management .
It's just that it's not enough , There's a lot more to master , Like time management 、 psychology 、 Personality research and so on . in addition , I'm in charge of the product , So in the last year, I've been doing a lot of economic psychology 、 Social psychology 、 Product marketing 、 Sales skills and so on . Never too old to learn , Be a product person with technical background , In the Internet + Time , The vast world , " .
Do you have any questions to ask after reading the experience of senior Adang ？