开发界
首页 移动开发 在线交易 IT笔记 网络技术 操作系统 企业架构 数据库 考试认证 IT培训 开源软件 数据存储 行业资讯
大家都在看:java   开发   C#   oracle   mysql   android   web开发   学习   sqlserver   linux   asp   php   ajax   javascript   css   html
学编程一定要上大学?美国一半码农都没有计算机学位
求助人:admin 发表于:2016-05-26 08:34:46
  其中一个重要原因是,速成的在线课程和培训班正在兴起。你可以在实践中学习,而不必等待几年时间才能毕业。
  
  去年,美国的程序员问答网站Stack Overflow曾向用户提问,他们是否有计算机
  
  科学专业的学位。在这项“2015年开发者调查”中,26086名程序员中有近一半回答称,他们没有计算机科学学位。
  
  这是否意味着,不需要大学学位就可以成为程序员?简而言之,答案是肯定的。不过,对非专业出身的人士来说,程序员之路要相对困难。
  
  人力资源机构Robert Half Technology高级总监约翰·里德(John Reed)表示,许多知名科技公司用大学学历作为门槛来过滤求职者简历。例如,谷歌(微博)不会面试没有计算机科学学位的入门级工程师。
  
  如果情况如此,那么为何许多程序员没有计算机科学学位?一个重要的外部因素是大学学费正日益高涨。例如在美国,最便宜的公立两年制大学每年学费平均为11438美元,而最昂贵的选择,即私立的非盈利四年制大学每年学费平均为43921美元。这些费用中还没有包括生活费。
  
  其他因素也在造成影响。一方面,速成的在线课程和培训班正在兴起。你可以在实践中学习,而不必等待几年时间才能毕业。
  
  因此,如果你没有计算机学位,同时又决定成为程序员,那么以下是几点建议:
  
  1、不要闭门造车
  
  请找个地方,与其他程序员一同工作,而无论你们是否从事同一个项目。
  
  独自一人编程所面临的最严重挑战在于,关于你不清楚的细节,你将毫无头绪。只有将自己的代码与他人的代码进行比较,你才能知道哪里出了问题。
  
  IEEE的巴里·博姆(Barry Boehm)的一项研究显示,无论是否采用结对编程模式,与他人一同进行代码评审相对于独立工作将可以多发现60%的代码错误。
  
  众创空间或许可以给你提供这样的场所。在这里,你可以与有着类似追求的人一同工作。
  
  2、良好的关系网比优秀的编程能力更重要
  
  闭门造车还会带来一个坏处,这就是你无法在职业生涯初期建立自己的关系网。这样的关系网能在日后带来巨大帮助。
  
  通过这样的关系,其他程序员可以评估你的技能,帮你逐步提高自己的能力。
  
  3、自学大学计算机专业的内容
  
  云文件共享创业公司Egnyte高级产品总监格雷格·诺斯塔特(Greg Neustaetter)承认,如果没有大学计算机专业的背景,那么将会出现一些严重的知识缺失。
  
  这种学习的好处在于,如果你掌握了6到8本书的基本知识,那么就会成为一名基本功扎实的程序员。推荐的学科包括离散数学的应用、设计模式或J2EE设计模式,以及算法设计等。
  
  如果你参加在线课程或培训班,那么建议是从头开始学习,除非你有过一定的编程经验,或是对技术有着天生的直觉。
  
  自顶向下的模式“将程序员置于应用或框架中,鼓励他们将自己的知识拼接在其中”。而自底向上的模式则是“从基础开始,逐步培养能力”。
  
  对入门者来说,自底向上的方式值得推荐。因为这将厘清许多概念。
  
  例如,关于Ruby on Rails的教程就存在不清晰的概念。这本书的第一章就提到了MVC模型,但却没有介绍一些基本概念,例如面向对象的编程。
  
  4、持续练习
  
  无论是否有学位,多参与项目不仅对未来的职业生涯发展很重要,也是帮你积累更多经验的有效方式。
  
  如果你不打算拿到计算机科学学位,那么这一点尤为重要。这些项目将成为你的主要经历,可以展示你的能力。一种很好的起步方式是开发移动应用。这使你方便地展示最终成果,并从用户那里直接获得反馈。
  
  如果你考虑开发移动应用,那么建议是学习iOS平台的Swift或Objective C,Android平台的Java,以及Windows Phone平台的C#、VB或java script。
  
  此外,你也可以使用Phonegap和Titanium等技术,开发运行在所有三大平台上的应用。这些技术基于HTML、CSS和java script,开发的应用可以在各处运行。
  
  你还可以通过GitHub参与开源项目。
  
  5、找一个副业
  
  最开始从事编程时,你可能无法获得足够的收入去保障生活。即使你关于某款应用的想法价值2万美元,但由于你没有成功经历,因此很少有人会相信。换句话说,你需要找个副业去谋生,而这样的副业最好也能有助于你培养能力。
  
  根据编程水平的不同,你可以参与创业公司,从事质量保障工作,或是从事自由职业。
  
  创业公司通常愿意冒险,雇佣一些没有太多经验的人士。不过对于“足够好”的程序员,它们有自己的标准。尽管你不一定需要开发出复杂的、可维护的代码,但至少需要证明,你开发的东西能被用起来。
  
  如果你做不到这一点,那么可以从事质量保障的工作,这能帮你加强技术能力。质量保障的工作内容是找出产品中的问题,并建议如何修改。这也是程序员解决问题时的核心基础。从事这类工作将有助于增强你对技术能力的自信心,而大学学位对这类工作而言并非必需的。
  
  最后一个选择是自由职业,只要职业能满足你的生活需求。类似Upwork的网站列举了许多与技术相关的职位,包括网页开发、移动开发,以及设计和营销等。
分享到:
暂无...
会员帐号  密 码  [新用户注册]
验 证 码

关于开发界 | 合作伙伴 | 联系我们 | 友情链接 | 版权声明 | 网站制作 | 网站地图 | 加入收藏 | 设为首页

Copyright@2012-2016 开发界 京ICP备12027873号