`
zcz123
  • 浏览: 149975 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类

开始编程生涯的5个建议

阅读更多

如果想成为一名程序员,你需要通过一些有创造性的方式来获取经验并且并推销自己。本文作者分享了一些引导性的实用对策。

有位会员在我们的论坛上提交的一个问题,问到他是否可以开始他的程序员生涯了。他已经花了大量的时间自学C#。他现在在学习WPF。此外,他是从事互联网领域的工作,因此,他对IT业已有了解。根据他的情况,我想,他已经准备好了去挑战职业开发生涯。就他如何实现目标,我有如下建议。

1. 基础学习

当涉及基础学习时,很多自学编程的朋友都有一个错误的认识。促使某人自学编程的心态是一种“现在就做些事”的动力和渴望。有这种心态非常好!但不幸的是,在学习新东西时,一旦涉及基础,很多人都急于求成(还没学会走路就想跑)。这是我的个人经验。这也就是为什么自学的程序员有时候名声不大好的原因。

确信你学到了编程基础。这包括变量名、合适结构体、有时候需要查找库而不是应用程序等等。《如何学习用某某语言编程》,这类典型的书籍往往忽略了成为一名编程高手所具备的能力:解决问题的能力。在这里,我向大家推荐Abelson和Sussman的《计算机程序设计与解释》一书,此书对你快速提升能力大有帮助。

编者注:《计算机程序设计与解释》一书于1984年出版,成型于美国麻省理工学院(MIT)多年使用的一本教材,1996年修订为第2版。在过去的二十多年里,此书对于计算机科学的教育计划产生了深刻的影响。

2. 多参与项目

编程经验,多多益善。我推荐你加入一个开源项目,或者加入当地非盈利组织,帮他们编写软件。

你将有如下收获:

  • 你将接触到如何将一个应用程序更加规范;
  • 你将经历研发的整个流程,包括产品维护;
  • 你将学到团队合作经验;
  • 你将学到基础知识,比如版本控制和编写文档;
  • 你将得到的成就感让你远离失落;
  • 你将可以把这段项目经历写在简历上。

3. 接受减薪

如今经济的颓势已经不再是什么秘密。一直以来,我听到的说法是:虽然有很多空闲的职位,但是工资着实很低。很多雇主把目标锁定在可以接受更低工资或者重新评定工资等级的人身上。

大学应届毕业生(他们当中的很多人发现毕业后便失业)是入门级的竞争力。另外,绝大多数应届毕业生没有像已在职员工那样的经济负担,同时,和那些毕业多年的、有贷款、有家室和车贷的人相比,他们可以接受更低的薪水。

入门级的职位同样也是最容易外包出去。但不幸的是,开发行业的总体趋势是:在职业生涯中,头五年左右的日子正变得越发艰难。

4. 关注非程序研发职位

在研发团队中,有很多职位并不参与研发工作,可是它们也会让你向目标进一步迈进。比如像品质保证/检测、维护、技术支持等。必要的话,从中选取一个作为进入研发行业的敲门砖。接着,从容地寻找通向编程之门。举个例子,你现在是一名质检员,除了单纯地寻找错误并报告外,你还可以仔细检查代码,找出错误出现的位置并以用标签加以标记。研发人员会很感激你的帮助在证明自己能力之后,开发行业的大门也向你敞开了。

5. 给老板做兼职

以你现在的经验来讲,找到一份兼职工作不太靠谱,但如果是为你现在的老板多做些分外事的话,也许可以。和你的老板还有同事们沟通一下,看看有没有一些简单的程序可以替他们完成,来减轻他们的负担。接下来,便是编写程序。如果你身边有一个内部的开发团队,你可以为他们提供一些帮助。一些经理会让你在工作时间内来做,另一些则让你在自由支配时间内完成。当然,你也可以尝试从外部接些兼职项目,参考这篇《成功接项目需要注意的几个要点》。

不管是哪种方式,你都会得到开发经验,你在目前老板面前更有价值,甚至可能在目前的公司中为自己开启一个新的职业方向。在我的职业生涯中,我一次又一次地发现,当面临事业成长、事业发展和新方向时,“多做些分外的事”可以扭转局面。

编者注:WPF(Windows Presentation Foundation)是美国微软公司推出.NET Framework 3.0的组成部分之一,它是一套基于XML、.NET Framework、向量绘图(vector graphic)技术的展示层(presentation layer)开发框架,微软视其为下一代使用者介面(user interface)技术,将广泛被用于下一代Windows平台(Windows Vista)的界面开发。

分享到:
评论

相关推荐

    编程高手箴言.rar

    本书是作者十余年编程生涯中的技术和经验的总结。内容涵盖了从认识CPU、Windows运行机理、编程语言的运行机理,到代码的规范和风格、分析方法、调试方法和内核优化,内有作者对许多问题的认知过程和透彻的分析,以及...

    编程高手箴言(中文完整版)(13M)

    本书是作者十余年编程生涯中的技术和经验的总结。内容涵盖了从认识CPU、Windows运行机理、编程语言的运行机理,到代码的规范和风格、分析方法、调试方法和内核优化,内有作者对许多问题的认知过程和透彻的分析,以及...

    蓝桥杯(介绍/章程/项目/管理/大纲):相关信息-zip压缩包

    通过参与蓝桥杯大赛,选手们可以提升自己的编程能力和算法水平,拓宽视野,增加交流,为未来的职业生涯打下坚实的基础。 2.适用人群: 蓝桥杯全国软件和信息技术专业人才大赛适用于对编程、算法和数据结构等方面感...

    C#入门经典(第7版)带目录 高清完整.pdf版下载

    这是一本成就无数C#程序员的经典名著,厚而不“重”,可帮助您轻松掌握C#的各种编程知识,为您的职业生涯打下坚实的基础,《C#入门经典》自第1版出版以来,全球销量已经达数万册,在中国也有近8万册的销量,已经...

    c#学习笔记.txt

    但是当他们看完C#的文档后又开始高兴起来,因为C#是如此简单:事实上,简单正是C#最大的特点。除此之外,它还具有现代、面向对象、类型安全、版本控制、兼容、灵活等特点。详细介绍请参阅rainbow(一个长着胡子的...

    新程序员七宗罪

    那些想要开始探索编程和数据科学领域的人向我寻求建议;还有一些人问我下一篇文章的发布日期;还有许多人询问如何顺利过渡到这个职业。我非常鼓励大家继续分享我在这个旅程的经验,学习,成功和失败,以帮助尽可能多的...

    提升自己价值能力,展现价值

    在快速发展的现代社会,提升个人价值和职业生涯的竞争力是每个人都需要面对的挑战 1. 持续学习与技能提升 在知识更新迅速的今天,终身学习已经成为提升个人价值的必备条件。不断学习新技能、新知识,可以让你保持在...

    Java笔记,自己学习Java总结的超级详细的笔记,适合在校大学生学习或者想自学Java的人

    个人建议大家学习Java的几个小技巧: 1、注重Java基础的学习,Java技术水平以后可以达到什么高度,完全取决于Java基础的理解程度,所以我建议大家买《Java核心技术》这门书好好研究一下,这里面详细讲解了JavaSE所有...

    JAVA自学之路

    信息筛选,搜索出来的结果不见得能够完全匹配,建议大家多阅读前几页的搜索结果,多打开几个网页看看,不过,我的经验是超过3页一般就没意义了,所以超过3页还没有找到合适的答案,或许应该调整一下关键词,或者放...

    霸屏天下源码java-oop-with-java-basics:oop-with-java-basics

    任何程序员职业生涯的开始都始于扎实的基础,例如: 编程逻辑 算法 数据结构(数组、列表) 面向对象编程 关系型数据库 系统分析与设计 第 1 章 - 第 2 部分:算法 算法是作为解决问题的操作要遵循的一个过程或一组...

    api:Codecorgi平台的后端

    CodeCorgi 查看我们的进度 Codecorgi是前端... 我们公司认为,初级开发人员在进入他们的第一个编程生涯时会遇到困难。贡献去做 :( 遵循我们。正在安装我们正在使用docker和docker-compose启动应用程序。 安装Docker。...

    antlr4权威指南

     另外一个强大的新功能是ANTLR 4极大地简化了匹配某些句法结构(如编程语言中的算术表达式)所需的语法规则。长久以来,处理表达式都是ANTLR语法(以及手工编写的递归下降语法分析器)的难题。识别表达式最自然的...

    计算机专业毕设ASP.NET中小企业OA系统的设计与实现(源代码+论文).rar

    **计算机专业毕设:ASP.NET中小企业OA系统的设计与实现(源代码+论文)**...总之,本资源为学生提供了一个综合性的实践平台,有助于提升学生的软件开发技能、团队协作能力和学术素养,为未来的职业生涯奠定坚实的基础。

    电子设计初学者如何入门.docx

    掌握工具的操作只是一个开始,后期的实践和经验积累才是核心,电子行业尤其。我们通常说一个人画板子很厉害,不是说他熟练掌握了altium软件的操作,而是说他有着丰富的画板子经验。经验和经历对于硬件工作者非常重要...

    程序员面试刷题的书哪个好-wwckl-learn-coding:让自己入门的材料/建议

    我们想挑战您学习编码或了解编程的基础知识 3 个月。 我们相信 3 个月是一个公平的承诺。 我们将根据我们制作的一些目标推荐一些材料。 您可以按照自己的节奏使用它作为参考,也可以不使用它。 最重要的是,关键是...

    lottoscraper

    对于所有人来说,他们希望发展职业生涯,但都在为一个大问题苦苦挣扎:如果不是这样,那又是什么呢? 我建立了一个网站来帮助!! 我以在Lighthouse Labs课程中创建的Finstagram网站作为基础,并将其变成了这个...

    java版五子棋源码-lab0:这是同学们的第一个lab,让大家好好熟悉一下开发环境和工具

    嗷,恭喜大家开启编程生涯!这是Programming A课程的第一次上机实验,本次Lab将会帮助大家配置好相应的环境,为日后的编程做准备。 目录 教学团队 教师:陈荣华 联系方式: 助教: 谢东方 18702169661 毛浩楠 ...

Global site tag (gtag.js) - Google Analytics