In recent years, there has been a magical job title. Who has come before you – Full Stack Developer?

If you take a closer look at the skills required in the job description. So it can be really breathless sometimes, and on the other end of the demand is supply. There are development frameworks that are positioned as full-end development frameworks, and there are others that can build full-end capabilities in n weeks. course, also a job seeker with the full development experience of more than 1 year?

Backend, frontend to a full end

Where did the term “full-end developer” come from? Judging from the information that can be found, it currently points to the article “What is a Full Stack developer?” ( http://goo.gl/EVMa32 ), in which Laurence Gellert mentioned that there was a time in OSCON (Open source convention ), a Facebook employee told him that they only hire full-stack developers, and similarly, Laurence Gellert wondered, what exactly is a full-stack developer?

To some extent, I really miss the early days of writing web applications, when there was still a browser war, JavaScript was still considered a chicken rib, CSS was just separated from HTML, and when I wanted to write a web application, developers just don’t write spaghetti (a nostalgic adjective), that is, HTML mixed with programming languages ​​(Java, PHP, ASP?) pages, then install a server, add a database, Just click on SQL. If the art page is too professional, hand it over to the designer, and then teach them how to place a few logical tags of the page. What a beautiful and simple age.

However, JavaScript has changed from a chicken rib to a salted fish. The concept of Ajax has been taken seriously and implemented again. CSS functions are becoming more and more powerful, browsers are getting faster and faster, and web applications are presented to user interface design is becoming more and more complex. , which is so complicated that it produces another job that specializes in dealing with the programming-related affairs of the user, that is, the front-end developer. Front-end developers can cooperate with designers, and even some designers who have learned front-end Development technology, relatively speaking, is still engaged in setting up servers, developing programs, accessing databases, etc. on the server-side, and is classified as a back-end developer (Back-end developer), they will be responsible for front-end development. communication and cooperation.

Originally, in the back-end, it has also developed into a huge technical system (just look at the things in Java’s era), what’s more, the front-end uses other languages ​​and ecology that are different from the back-end, based on the professional division of labor, The distinction between back-end and front-end development is actually quite acceptable. However, there is obviously a demand for application development now. There must be developers who can handle the front-end and back-end, and complete the entire application in one hand. I believe you I know that there are people who can complete the entire application with one hand. This kind of person seems to be called a full-end developer?

Full Stack on Frame

So, what technologies do full-end developers need to know? As far as ” What is a Full Stack developer?” is concerned, you must understand the server, network, host environment, data modeling, business logic, API layer, MVC, user interface, etc., assuming full-end development If the author really has a way to use so many knowledge systems, then one of his most important skills should not only be able to understand these technologies individually, but to be able to further integrate these different knowledge systems together.

In fact, it takes some effort to integrate different technology systems, and some frameworks do this kind of work, which makes the integration work easier. If the technology is first limited to Java, I believe that many Java developers will be more concerned about Full-stack. Nouns may feel familiar. In the era when the Java ecosystem was full of flowers more than ten years ago, how integrating different libraries and frameworks became a big problem. The integration of Hibernate, iBATIS, etc. should be familiar to many Java developers. Others such as AppFuse, JBoss Seam, etc., as early as 2006, some people called such integration tools as Full Stack framework.

Of course, just integrating Java technologies, application development is also cumbersome, so cumbersome that many opponents want to simplify to erode the Java market, such as Rails provides a complete set of simplified Full Stack, developers familiar with Rails, can Complete the entire web application quickly, and even cover many front-end functions. Some full-end development training courses are called Rails, and the development model of Rails also affects the Java development ecosystem, so there is full-scale development such as Grails and Play. The Stackframe appears.

It’s 2015 now, why are you still mentioning what happened in 2005? Ok! The things I just mentioned refer to how back-end developers can independently complete the entire application. As for front-end developers, they also have such ideas. Thanks to Node.js, the stage of JavaScript extends from the browser to the server, as long as you understand JavaScript, you can complete the framework of the entire application, such as MEAN, which calls itself the Fullstack JavaScript Framework. MEAN represents the stack of MongoDB, Express, AngularJS, and Node.js. However, can developers who can use such frameworks be called full-end developers?

Full Stack on vacancies

In any case, the rapid development framework that can now be called Full stack, because it encapsulates a lot of bottom layers, simplifies a lot of complicated settings, and removes a lot of unnecessary designs, really makes it possible for developers to organize the entire application. For a company or a boss, if you can manage the entire application, you can have ten employees, how can you not love it? There are more and more vacancies looking for all-around developers. Searching for “full-stack” on the Internet will find many interesting vacancies.

In fact, the training of full-end developers has never been interrupted. However, in the past, it was claimed to be able to train all-around programmers and integrated development programmers. The average is about three to six months so that new people in the programming industry can work hard. Training courses or camps that swallow programming languages, development frameworks, web design, server installation, version control, database design, testing, performance, security, etc., aren’t these courses “producing” full-end developers all the time? ? Perhaps because of this, I have only recently seen job seekers who claim to have one or two years of experience in full-end development.

How to Hire a Web Development Company

So, does demand match supply? Take a closer look at the skill categories listed in “What is a Full Stack developer?”. It seems that user experience and understanding of customer and business needs are also required. This is really recruiting all-around employees, not just developers! Don’t think that the requirements in the article will not really appear in the company’s job vacancies. I have seen PTT’s recruitment article, and the skill categories listed above are really copied from ” What is a Full Stack developer?”.

To be honest, when a company wants to recruit all-end developers, does it really know what kind of talent they want, or does it have no idea what kind of talent they need? Thinking about a company as big as Facebook, it should know what kind of talent they want! Many people have interpreted this behavior of Facebook, thinking that the full-end engineers they want are not really proficient in various fields or technologies but do not limit themselves to front-end or back-end, and they can analyze problems by themselves. And seek solutions, rather than assuming or waiting for others to solve, that is, developers who can fully exhibit “self-propelled” behavior or so-called “independent work”.

Full Stack in Mentality

Regardless of whether Facebook itself really thinks so about its requirements for full-end developers, it seems to be a reasonable explanation to use developers who exhibit self-propelled behavior to interpret full-end developers. Otherwise, full-end developers will It’s really just a myth.

Because developers who can independently develop applications do exist, they may currently be Web Stack, Mobile Stack, etc. In one field, they appear to be full-end developers, but in another field, they are Not necessarily full-end developers. Of course, if they want, and given the right time, these people can also find a solution.

Such developers with a Full Stack mentality may further become Full Stack Engineers or Full Stack Startups. Of course, back to the technology itself, these people do not aim to become full-end but solve various problems In the process of learning, the relevant skills or skills are naturally acquired because these are just the things that are necessary to achieve the goal.

As for those vacancies for full-end engineers, don’t worry too much. In fact, such vacancies have always existed, but the name has changed from all-around, integrated development, and independent work to the name of full-end engineers, and then the technical scope of responsibility is more and more It’s just getting wider and wider. As always, developers need to figure out what the mentality of these companies is when listing these vacancies, whether they want to find a vulgar engineer who can do n jobs by one person, or It’s a god-level developer who throws work on him and things will pop up!