lte协议栈开发基本内容
如何成为全栈开发人员? 作为开发人员最热门的主题之一,讨论从未停止。 在LinkedIn和Facebook上,许多人把他们的职位称为全职开发人员。 此外,“全栈”主题似乎已经成为一种新的工作趋势。 关于Medium的一篇文章讨论了全栈设计师同时受到赞扬和指责。 有人认为全部内容只是标题,他/她应该关注的是真正的个人能力和技术。
从本质上讲,我认为关于全栈的讨论也是一种与IT行业的全能专家有关的论点,并涉及开发技能的深度和广度。
你不能吃蛋糕也不能吃。 虽然全栈开发人员和全栈设计师似乎在挑战这种可能性。 因为他们的水平技能树使他们既有吃又有蛋糕的能力。 俗话说,千锤百炼,万事通。 因此,有必要考虑如何成为一名真正的全栈开发人员,而不是一个空洞的标题。
1.什么是全栈开发人员?
简而言之,全栈开发人员是一种掌握各种技能并使用这些技能独立完成产品的人。 Quora上获得最高投票的答案说明什么是全栈开发人员:
全栈开发人员是一位工程师,可以处理数据库,服务器,系统工程和客户端的所有工作。 根据项目,客户需要的可能是移动堆栈,Web堆栈或本机应用程序堆栈。
实际上,“全栈”是指完成一个项目所需的一系列技术的集合。 “堆栈”是指子模块的集合。 这些软件子模块或组件组合在一起以实现既定功能,而无需其他模块。
2.为什么要对全栈开发人员进行有争议的讨论?
如上所述,关于全栈开发人员的讨论实际上是关于技能深度和广度的辩论。 尤其是在OSCON会议上,一位Facebook工程师表示,他们只雇用了“全栈开发人员”。 这个话题是关于成为全栈开发人员的优缺点的激烈讨论的结果。
优点:全栈开发人员需要横向技术要求,这样他/她就可以利用其广泛的技术非常快速地为产品进行原型设计。 具有完全的可堆叠性,它们具有更广阔的视角和更活跃的思维方式。 而且,他们将对技术和产品更加敏感。 因此,这类人始终可以对产品或设计有自己的意见。
从另一方面来看,他/她可以为团队中的每个人提供帮助,并大大减少团队沟通,技术对接的时间和技术成本。 他们中的许多人成为企业家或成为初创公司的技术合作伙伴。
缺点:正是由于水平技术的发展,一些全栈开发人员无法熟练掌握一项技能。 他们中大多数声称是“全栈开发人员”的人对多种技能只了解一点。 至于如何使架构更适合模块化开发,这是一个问题。
3.即使这样,仍然有人在问,如何成为一名全栈开发人员?
合格的全栈开发人员应具有构建应用程序所涉及的所有方面的功能知识和能力。
1)编程语言
您需要精通多种编程语言,例如JAVA,PHP,C#,Python,Ruby,Perl等。由于大多数核心业务流程都需要用这些语言编写。也许并非全部。 但是,您还必须精通语言语法,并且非常熟悉如何基于一种或多种语言来构建,设计,实现和测试项目。 例如,如果选择JAVA,那么您需要掌握面向对象的设计和开发,设计模式,基于J2EE的组件的开发等等。
在哪里学习: Git / GitHub-您必须知道如何使用Git来管理和共享您的代码。
2)使用开发框架和第三方库
流行的开发语言通常都带有良好的开发框架,例如JAVA Spring,MyBatis,Hibernate,Python Django,PHP thinkphp,yin,nodeJs express等。
3)前端技术
在当今的项目和产品开发中,前端技术变得越来越重要。 除了产品功能,用户体验也是测试产品成功的标准之一。 所有这些都取决于前端技术的实现,因此您需要掌握一些基本的前端技术(例如HTML5,CSS3,JavaScript),并进一步研究前端框架或第三方库(例如JQuery,LESS, SASS,AngularJS或REACT。
4)数据库和缓存
任何产品或项目都需要一个数据库来存储数据。 作为全栈开发人员 ,您还需要至少拥有一个或两个数据库,并且知道如何与数据库进行交互。 当前,流行的数据库是MySQL,MongoDB,Redis,Oracle,SQLServer等。 作为文档类型的数据库,MongoDB在Internet产品中得到了越来越广泛的使用。 对于较大的项目,我还建议使用MySQL或商业Oracle作为后端数据库。 而内存数据库(例如Redis)可用于缓存以提高系统性能。
6)自我需求也是成为全栈开发人员的重要因素:
- 全球思维
- 良好的沟通能力
- 创造力
- 好奇心
- 时间管理技巧
结语
根据Gladwell的10,000个小时的法律规定,它将花费10年的时间来掌握前端,后端,面向客户端的知识内容,从而成为一名全栈开发人员。 因此,全栈开发人员绝不可能一overnight而就。 您需要做的是奠定技术基础,增强核心技能,并不断学习以应对更多挑战。
翻译自: https://hackernoon.com/6-essential-tips-on-how-to-become-a-full-stack-developer-1d10965aaead
lte协议栈开发基本内容