What is a full stack developer

Source: Internet
Author: User

Is it reasonable to expect purely moral-based understanding of every aspect of the development stack? Maybe not, but Facebook is asking for it. A Facebook employee told me in Oscon that Facebook only hires full-stack developers. So what does the all-stack developer mean?

For me, the all-stack developer is familiar with every layer, and if not really interested in all of the software technologies will not be proficient in them.

Good developers are familiar with the entire stack, and they are people who know how to make things easier around life. That is why I am so opposed to paranoia in the office, and of course the political and communication challenges are in the same way as in large organizations. I think Facebook's hiring policy is that if a smart person is brain-hard, it can build better products in less time.

Full stack of layers:

1. Server, network, and server environments

There is nothing to be taken for granted, knowing where it may have collapsed and why it has collapsed.

Appropriate use of file systems, cloud storage, network resources, must have the concept of data redundancy and availability.

Know the scalability of your application to your hardware needs.

What are multithreaded and competitive conditions? Think about it, you may not see it on the development machine, but it will happen in the real world.

The full stack coder also be able to work alongside OPS. Provides valuable error messages and logs. Make sure they are reliable, because OPS will see these things before you. (the original is DevOps)

2. Data modeling

If the data model is flawed, the business logic and the upper logic are going to use strange code (ugly) to compensate for the flaws in the data model.

All-stack developers should be able to establish a reasonable and standard relational model, including foreign keys, indexes, views, lookup tables, etc.

All-stack developers are familiar with non-relational data stores (which should refer to more than just NoSQL) and know their relative storage advantages.

3. Business logic

The core value provided by the application.

Reliable object-oriented skills.

Frames that might be used.

4.API layer, Action layer, MVC

Understand external operations on the data model and business logic.

This layer will have many framework applications.

All-stack developers have the ability to write clear, consistent, and easy-to-use interfaces. Too much complexity makes people sick.

5.UI

Full stack coder:a) know how to create a readable page layout; b) or understand that you need to help the designer. A or B, the key is to be able to have a good visual design.

Master HTML5 and CSS.

JS is gradually becoming the language of the new sharp, JavaScript world has done a lot of exciting work (node, backbone, knockout ... )。

6. User Experience

Full stack coder to know that the user needs is it works!

A good system will not waste the user's wrist and eyes. An all-stack coder will discover and review the process that takes 8 clicks, 3 steps, and eventually it's done with one click.

Provide valuable error information. If it crashes, apologize to the user. Sometimes programmers write error messages that make users feel a lot of themselves.

7. Know what the user and business really want

Now we have blurred the boundaries of the architecture, but it may be far from the actual demand.

Full stack coder to know the scene when the user uses the software, and to understand the business.

On other aspects of the problem:

Write high-quality unit testing capabilities. By the way, now even JS can do unit test.

Continuous integration. Discover repetitive, automated processes in your program build that automate testing, documentation, and deployment to some extent.

Sensitive to security, different layers may have their own vulnerabilities.

At last:

Applications that rely heavily on a particular third-party implementation (LIB, System, hardware, and so on) are very bad practices. All-in-all developers need to know that understanding the overall does not mean that you can take shortcuts. Of course, in abandoning the prototype, they can do so.

The multi-faceted skills of a full stack developer are needed when technology starts. However, after team training, there is a growing need to focus on skills.

I don't think you can call yourself a full-stack developer until you have a multi-lingual, multi-platform, even cross-industry career. The whole stack is far beyond the "senior engineer", it is closer to being a multilingual developer and can see the connection between the higher angles. Note Only 3-5 of the items in my list involve encoding.



Http://www.oschina.net/translate/what-is-a-full-stack-developer

What is a full stack developer

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.