Full Stack developer是怎样的一种存在?


总体上讲:

A Full Stack Developer is someone with familiarity in each layer, 
if not mastery in many and a genuine interest in all software technology.  

Good developers who are familiar with the entire stack know how to 
make life easier for those around them.  

上面提到的“each layer”大体分为以下几个方面:

1. Server, Network, and Hosting Environment.  

2. Data Modeling  

3. Business Logic  

4. API layer / Action Layer / MVC  

5. User Interfaces  
    implementing a good visual design is key  

6. User Experience  

7. Understanding what the customer and the business need

其他的内容还包括:

1. Ability to write quality unit tests.  

2. Understanding of repeatable automated processes for building the 
application, testing it, documenting it, and deploying it at scale.  

3. An awareness of security concerns is important, as each layer 
presents its own possible valnerabilities.  

作者总结:

I’m not sure you can call yourself a full stack developer until you 
have worked in multiple languages, platforms, and even industries 
in your professional career.   

Full stack goes beyond a 'senior engineer', as it is along the same 
lines as a polyglot programmer but with a higher view of all the 
connecting pieces. Note that on my list, only items 3-5 involve writing code.

我的理解:

1. 为了达到自己的某个目标,能够主动的分析问题,尽力设计出较实现方案。  

2. 如果需要去学习新的技能和知识时,也能积极主动的去学习。
这就需要有一定的甄别能力,哪个是真正需要的,哪个是更合适的。  

3. Full Stack并不意味着work alone,重点应该是get things done. 
如果有更合适的更优秀的人,会愿意与他合作。  

4. Full stack不是为了工作本身,而是为了实现自己的Dream。  

参考资料

原文:What is a Full Stack developer
怎样成为全栈工程师(Full Stack Developer)?