You often hear the term "full stack engineer", but what does this mean? Do you think you should be a full stack engineer? Let's explore this topic below. There are three basic concerns in the world of web and software development: front-end, back-end, and full-stack. Let's explain what they mean.
What is a full stack engineer?
Front-end engineers: When you open a website, everything on the screen belongs to the front end. The front-end engineer is responsible for creating the code behind the user interface. These engineers not only have to be familiar with HTML, Java, and CSS, but also have a lot of frameworks. These frameworks include Foundation, Angular JS, Ember JS, Backbone, and Bootstrap. Front-end engineers work with designers and other experts,This transforms the website from a model to a usable model. Back-end engineers: Behind the websites you visit every day, there are server networks, databases, and various applications that work together to deliver the pages and data you request to you. Back-end engineers are responsible for building these components. They are good at programming languages such as Python, .Net, Ruby, Java, and PHP to write programs in these languages. They also need to use various database programs such as MySQL, SQL Server, and Oracle to manipulate the information and pass it on to end users. Back-end engineers need to work with the various managers and other members of the organization to get the job done. Full-stack engineers: Full-stack engineers need to understand both back-end development and front-end development. They are "all-round" engineers who are familiar with the server and understand the client user experience. Full-stack engineers understand every aspect of the Web development process, and at the same time provide advice and guidance to relevant stakeholders on overall strategy and best practices.
In the early days of desktop computing We often see a person complete the development of the entire application. As programs become more complex and more and more technologies emerge, it is difficult for one to fully control all aspects of application development. In the early 21st century, some experts with specialized skills began to appear. As the complexity continues to climb, as Web 2.0 sites begin to appear, many programmers are returning to an easier way. Compared to building complex databases and enterprise computing networks,Developers began deploying stable LAMP stacks (Linux, Apache, MySQL, and PHP) and created flexible object-oriented languages such as Django and Ruby on Rails . In this environment, the value of full-stack engineers is getting bigger and bigger as they are familiar with most modern frameworks and languages.
Return of operational complexity
However, due to mobile computing and iOS With the rise of the Android platform, we are back to a new era of complexity: low-cost cloud servers such as Amazon Web Services and Microsoft's Azure, MongoDB and other databases, Node. Js and front-end technologies such as Angular.js, container technology such as Docker. These platforms, services, and frameworks all have their own characteristics. Therefore, a person can hardly be a full-stack engineer who can master all the technologies.
Generalists and professionals
The benefits of being a full stack engineer in the current environment It is that not many people have enough knowledge, experience and communication skills to control projects that use various platforms and frameworks, such as HTML5, machine learning, and Scala. Therefore, high-level full-stack engineers are always in short supply. However, the downside is that for a full-stack engineer, he needs to be able to master these components, but this is very difficult, and new technologies will emerge in the future. You may be smart, but the components themselves are very complex and new languages and platforms appear every few months. It is extremely difficult to stay technically at all times. For this reason, professionals have their own unique advantages. Organizations tend to hire specialized roles, so professionals will be better at deeper knowledge and experience in a narrower area than other developers.
Full stack engineer's salary
Whether you choose to study in the front-end or back-end, or position yourself as a full-stack generalist, from the work prospects According to the statistics released by the US Bureau of Labor Statistics, software engineers are one of the most promising careers in the next 10 years. In 2014, there were approximately 718,000 software engineers; Look, the average salary is about $95,510. This number will continue to climb in the future. So, what is the best job? It depends on your background, experience and goals. Front-end engineers need to master the following skills: /p>
HTML and HTML5
CSS, CSS3 and SASS
jQuery, Angular.js, React, js and Node.js
Websockets and Ajax requests
Browser Development Tools and Debuggers
Backend developers should be good at server-side programming, language And the framework, such as:
C and C++
Ruby on Rails
If you want to move toward a full stack of engineers, you should have a lot of knowledge and skills, and be familiar with the various components mentioned above. Also, improve Your own personal communication skills, in order to manage and achieve better collaboration with front-end and back-end developers. The good news is that the future is bright for every type of Web developer, whether it is front-end, back-end, or full Stack. Keep up with all the valuable things; master new frameworks, languages and platforms; and maintain effective communication with developers and end users. In this case, no matter what happens in the world, you will always stand on Invincible.
Dear readers, I believe that everyone has their own understanding and understanding of the front-end, back-end and full-stack engineers of Web development.Your current job may be located in one or more of these three types. Of course, both the front end and the back end have a lot of knowledge and skills that we need to understand and master. The understanding of generalists and professionals is also a matter of opinion. To achieve a deep level in a certain field will bring value to the company and users; it is also valuable to be proficient in various fields of knowledge. So, in your eyes, what is a full stack engineer? What efforts do developers need to make a full-stack engineer? How is the value of a full stack engineer compared to the value of an engineer focused on a particular field? Do you think you should be a full stack engineer? Welcome to express your views and insights and to share and discuss with other readers.