Hello大家好,欢迎来到知识渊博,故事精彩的篱笆老师分享会,经常有CS专业毕业的同学来找我咨询,想知道针对刚从学校出来的CS专业学生,怎么样能最快地和行业需求对接起来。所谓CS技能千千万,如果只是弱水一瓢的话,篱笆老师建议大家可以先从全栈开发工程师这个track开始养成。今天的内容非常干货,结尾也有一个福利彩蛋,大家可以先点赞收藏下来哟!
那么全栈工程师是同时拥有前后端开发技术的人,能够独立完成网站应用的搭建,并能利用多种技能高效推进产品上线。之所以推荐大家从全栈工程师这个track开始,是因为现在的互联网项目往往非常复杂,需要用到前后端开发、界面设计、产品设计、数据库、各种移动客户端、三屏兼容、restFul API设计和OAuth等等,比较前卫的项目,还会用到Single Page Application、Web Socket、以及像第三方开发等等。全面的技术背景有助于做出更加高效客观的技术架构和决策,从而对所在组织产生很大的正面影响;同时也提高了开发组织的沟通管理效率。
那么全栈开发工程师的养成之路大致分为以下6个步骤:
第一,首先需要掌握好1--2门编程语言,比如JAVA, PHP, Python, Ruby, Perl,Go等等,因为大部分全栈开发的核心业务都需要用这些语言编写。熟悉应用其中1--2种编程语言来构建、设计、实现和测试项目,是全栈开发的基本功。
第二步,推荐采用“先精后广,一专多长”的策略来学习基本的全栈开发技术,比如对于前端来讲,掌握了基本的HTML, CSS, JavaScript之后,应该进一步研究性能优化、相应式页面等前端细节,而不是停留在最基本的前端技术上就转向学习后端语言或者APP开发;对于后端开发来说,推荐把一个主流开发框架熟练应用,流行的开发语言一般都配有好的开发框架,比如Java Springboot。 这样不仅可以触类旁通、举一反三,还让我们学习得更快,很多框架最后你会发现精髓是相通的,篱笆老师见过一些同学说自己“熟练”掌握多种开发框架,但是每种框架其实掌握的都稀松平常,这样在实际开发中其实很难满足企业的应用标准。
第三步,学习数据库与缓存技术。任何产品或项目都需要一个数据库来存储数据。作为全栈开发者,你还需要至少拥有一两个数据库,并且知道如何与数据库进行交互。目前流行的数据库有 MySQL、Postgresql、MongoDB、Redis、Oracle 等。MongoDB作为一种文档型数据库,在互联网产品中的应用越来越广泛。对于较大的项目,我也推荐使用 MySQL 或商业 Oracle 作为后端数据库。而内存数据库,如Redis,则可用于缓存以提高系统性能。
第五步,学习Git操作与项目管理。Git是一个开源的“分布式版本控制系统”,在互联网企业中,根据公司规模,产品和系统往往是由十几个到几百个开发者一起协作进行的,同一个code base可能每天会有很多人同时做修改,所以对于全栈开发伙伴来说,掌握Git的命令与示例可以使自己与从事同一项目的其他开发伙伴进行合作。对于项目管理来说,大型团队可能有专门的项目经理,小团队就需要核心的技术伙伴有项目管理的意识。作为全栈开发伙伴,除了自身技术过硬,如果能有效应用项目管理来调动其他开发伙伴,提高团队效率,那就很有tech lead的潜质了!
第六步,掌握Devops的技术,自动化代码集成、测试与部署环节。这里主要需要掌握的是CI,CD和Pipeline技术。CI 指的是 Continuous Integration,持续集成,它可以自动化测试新代码与原有代码是否正确合并;而 CD 指的是 Continuous Delivery,持续部署,它可以自动将应用发布到生产环境,极大地加速了产品迭代开发的上线速度与稳定性。
最后篱笆老师想说,技术是来解决实际问题的,所以要在互联网科技企业快速发展,重点在于解决问题,而不是单纯醉心技术。所以要想成为优秀的全栈开发伙伴或者是CS行业从业者,篱笆老师觉得小伙伴除了拥有技术知识外,还需要培养自己的软技能,比如辩证性思维、良好的时间管理能力、学习的好奇心、良好的沟通表达能力等等。
好勒,今天的分享就到这里啦,篱笆老师团队目前也在招募新的职场KOL导师,如果你在留学、职业发展与创业方面有自己的经验,也感兴趣分享给更多的人,欢迎联系我们哟!