首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >美国一半程序员非科班出身,他们咋做到的

美国一半程序员非科班出身,他们咋做到的

作者头像
Java旅途
发布2021-07-13 10:59:18
5450
发布2021-07-13 10:59:18
举报
文章被收录于专栏:Java旅途Java旅途Java旅途

大家好,我是大尧。

美国的程序员交流网站Stack Overflow在去年的开发者调查中想要了解,码农们是否都有大学的计算机专业学位。有26086名程序员参与了这项调查,其中有近一半受访者的答案是,没有学位。

大量程序员非科班出身的原因有很多方面。一方面,美国大学的学费正日益高涨。私立四年制大学一年学费平均接近4.5万美元,其中还没有包括生活费。另一方面,网上课程和培训班吸引了很多人。有志于成为程序员的人士可以在做中学,而不必“浪费”几年时间去完成大学学业。

关于非科班出身的程序员,有几点建议可供参考:

一、闭门造车要不得

编程时的闭门造车会带来几方面问题:

1.没有人给你答疑。编程时你会面临许多疑问,但却无法找到人给你答疑解惑。解决这类问题的过程通常需要求助于高级程序员,或是将自己的代码与别人的去对比。

2.软件评审。大型软件公司都会设置软件评审环节,即让同事之间互相评审对方的代码。无论是国外还是国内,数据显示,代码评审能多发现60%的错误和漏洞。即使你自己干,也需要找人去评阅自己的代码。

3.与他人一同工作有助于拓展人脉,在职业生涯初期尤其如此。

目前,国内许多众创空间都在面向小团队乃至个人开放申请。这将会是不错的选择。

二、多读书,尤其是大学专业内容

大学培养人才的重要之处是训练基本功和思维方法,而不是让你实际参与工程项目。如果没有上过大学,那么这些方面很可能会有缺失。你可能知道如何根据架构师的设计文档去写代码,但却不知道算法为什么是这样。在实际面试中,笔者还曾发现,有许多非专业出身的人士甚至都不能准确解释,什么是面向对象的编程。而这本应是C++的基础。

非科班出身的人士需要通过多读书来补充基础知识,无论是离散数学、算法设计,还是软件测试的基本理论。

另一方面,如果你希望通过网上课程或培训班去学习,那么最好从基础开始学,尤其是在没有编程经验的情况下。

大企业培养新程序员的方式有两种。一种是自顶向下的模式。在这种模式中,应用或框架已经搭好,对程序员的期望是他们直接上手,补足欠缺的部分或是去改漏洞。另一种是自底向上的模式。在大企业中,通常只有新项目才会这样做。这时程序员可以先打基础,随后慢慢入手,从架构设计、代码的顶层设计、细节设计,再到实际编程。

如果你是非科班出身,希望自己干,那么应当采用自底向上的模式。这将帮你弄清许多基本概念。一上手就接触庞大的代码将会令人摸不着北。

三、多练习,多做项目

对新人来说,多参与项目能帮助积累更多经验,有利于未来的职业发展。而如果想要单干,那么所做的项目将成为简历上的主要经历,是对能力的证明。

个人从事项目最好的选择是开发移动应用。相对于大型软件项目,例如系统软件或企业级应用,移动应用的开发相对简单,很容易出成果,而也会有许多用户提供反馈,相当于免费帮你做测试。移动应用开发使用的语言包括Swift或Objective C(iOS平台)、Java(Android平台),以及C#和VB(Windows平台)等等。此外,Phonegap等通用型技术也可以考虑。

对个人程序员来说,GitHub是个好工具。GitHub上有许多开源项目可以参与,也有许多其他程序员可以提供帮助。你也可以自己创建软件项目。这一切都是免费的。

四、职业发展的选择

非科班出身程序员在找工作时可能会受到局限,因为大公司的招聘中学历是个门槛。许多知名科技公司用大学学历作为条件去过滤求职者。例如,谷歌在招聘初级工程师时就是这样。

相对来说,一些创业公司更看重个人能力,而非学历。对于需要什么样的程序员,什么样的程序员是够格的,他们有自己的标准。在创业公司里找工作时,你不一定需要有大型软件的成功开发经历,通常只要证明你能开发出用得起来的软件。

如果觉得自己的能力稍弱,那么还可以考虑软件公司中的QA(质量工程师)职位。QA的工作通常是统计问题,找出趋势,以及建议如何改进。这也是一项程序员的基础能力。而许多公司对QA工程师的招聘门槛要低于软件工程师。

简而言之,大学学位,或者说计算机专业的学位,并不是成为程序员的必要条件。但如果这类人群希望成为程序员,那么将要在学习和实践方面付出更多的努力。

来源:www.techug.com

< END >

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-06-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java旅途 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档