- 浏览: 69217 次
- 性别:
- 来自: 沈阳
最近访客 更多访客>>
文章分类
最新评论
-
hexawing:
请问我怎样指定它去哪个服务器下载gem呢?之前默认的貌似不能用 ...
[转载]使用RubyGem -
bryanzk:
我说兄弟,你从豆瓣上直接全文copy我的内容,也要打个招呼吧? ...
[转载备份]Rails创始人DHH新作《Rework》读书笔记:“少!快!精!”
作者:Justin James
翻译:PurpleEndurer,2010-08-03 第1版
一位TechRepublic成员想知道如何实现从系统管理员到程序员的转型。好消息是他已经有一些开发经验:
我一直想转行,从系统管理员转做一个软件开发者,我有一些利用Python脚本来让Linux任务自动化的经验,我一直在研究面向对象的范例,Git仓库用法和Django的Web应用程序开发模式,当然我的经验中大部分是管理,配置和安装Linux服务。
我想知道如何制做简历和求职信更能打动公司,因为我的系统管理经验比软件开发多。
我正在寻求一份初级程序员的工作!
这位成员已经给自己打下了良好的基础,例如使用Python和诸如使用源代码管理之类的“保健”做法。我没有使用过Django,但我听说这是个好东东。他也正视自己的能力,寻求初级程序员的职位。所以,凭借这个良好的开端,他可以做些什么来实现职业生涯的转变呢?以下是我的意见。
第一步:专注于必备与差别
我的职业发展口头禅很简单:牢固掌握初级程序员的“必备”技能,并专注于个体差别。对于典型的企业开发,入门级职位必备的有:
这些语言中的一种或多种:VB.NET,C#,PHP和Java
使用数据库/ SQL知识
版本控制的概念
JavaScript,HTML和CSS的基础知识
Web服务(SOAP或REST)
Web开发基础知识(理解会话,Web开发模型等等)。
入门级程序员的个体差别如下:
体验一个真实环境中的项目(这是最重要的区别)
在团队环境中亲身进行版本控制
团队协作,最好是实行正常的开发模式并确定等级
质量保证
单元测试
高级JavaScript,HTML和CSS
二级语言,如Python、Scala和Ruby
调试
第二步:为开源项目作贡献或作志愿者
我为打造开发履历提的下一条建议应该不会让普通读者感到惊讶:找一个可以尽一份力的开源项目,或捐赠你的时间,到当地慈善机构进行编程。
在这个阶段,如果你选择了开源项目这个途径,应找到一个现有的项目,而不是试图自己开创;向项目中的其他开发人员通报你的技术水平,询问他们是否同意让你略效绵力。
如果你成为一个慈善机构的志愿者,要确保该机构中有可以和你一起工作和学习的程序员。要保持谦虚,听取他们的意见;如果遇到自己觉得没有任何意义的事情,要通过一种友好的方式询问他们为什么做这样的事情,这样你可以从他们身上学到东西。
这种方法的主要好处
您将获得宝贵的经验,这些经验如果你只靠自学来获得的话会需要更长的时间。经过半年月或一年的时间(即每周5至15小时),你将拥有令人印象深刻的入门级技能,并且你的简历看上去会很不错。最妙的是,它不会花费你一分钱!
你会对自己的优劣和喜恶(这并不一定与优劣相同)有一个很好的认知。你也会发现,这对你来说是否真的是一个不错的职业选择。
在这个过程中,你不应该丢弃目前的职位。如果经济与四年前一样,要丢弃自然容易一些。但现在,就业市场在许多方面仍然很疲软,我不会匆忙跳槽,除非我确实能胜任新工作,因为另觅一个系统管理员的工作的希望非常渺茫。
你将有别于其他初级程序员,其他初级程序员刚刚离开学校,寻找第一份工作。由于某些原因,绝大多数大学生有这种奇怪的信仰,他们花4年时间节衣缩食上了大学,指望着毕业时有工作虚位以待。1998年时,辍学大学生只要知道HTML,一年就可以挣5万美元,确实如此。更糟的是,大多数院校在教学中省去了作为程序员真正需要的技能,如团队协作,像敏捷开发之类的开发方法,源代码管理,质量保证,等等。雇主们对雇员的技能要求比10年前更高,这些技能大部分只能从现实环境中学到,这对大多数入门级程序员来说是一个重大的挑战。
第三步:积极进取
如果你所在的地方有程序员组织,请加入他们的集会并结识其中的每一个人。在集会前后的时间里与他们交谈,你会学到许多东东。只要让他们知道你正在努力学习,我保证他们会急不可待地与你分享知识并提供建议。
第四步:研究开发的历史
我想将维基百科作为一种了解开发历史的资源。如果你花一些时间阅读关于葛丽丝·霍普,阿兰图灵,艾伦·凯,拉里·沃尔,丹尼斯·里奇,保罗·格雷厄姆,约翰麦卡锡(仅举几例)的事迹,在未来将会具有比我见过的大多数程序员们更好的学习基础。
PurpleEndurer注:
Grace Hopper(葛丽丝·霍普)
http://zh.wikipedia.org/zh-cn/Grace_Hopper
Alan Turing(阿兰·图灵)
http://zh.wikipedia.org/zh-cn/%E8%89%BE%E4%BC%A6%C2%B7%E5%9B%BE%E7%81%B5
Alan Kay(艾伦·凯)
http://zh.wikipedia.org/zh-cn/Alan_Kay
Larry Wall(拉里·沃尔)
http://zh.wikipedia.org/zh-cn/Larry_Wall
Dennis Ritchie(丹尼斯·里奇)
http://zh.wikipedia.org/zh-cn/Dennis_Ritchie
Paul Graham(保罗·格雷厄姆)
http://zh.wikipedia.org/zh-cn/%E4%BF%9D%E7%BD%97%C2%B7%E6%A0%BC%E9%9B%B7%E5%8E%84%E5%A7%86
我认为自己因为了解这段历史而成为一个更好的程序员。当我们浪费时间做无用功时,这方面的知识也可以帮助我看明白(例如,Web开发对于从事这个行业已超过30年的人而言是一个似曾相识的糟糕)。
此外,当别人给你提供指导时,你也能更好地分辨对方是装腔作势者还是真才实学者。
总结
通过上述这些步骤,你将在现有IT技能基础上重塑,并且在招聘经理查看你的简历时处于更好的位置。你在接受面试的时候,要强调你在先前的职业生涯中学到了大量的故障排除和调试技巧,以及研究问题的方法;这是大多数初级级程序员最缺乏的。
你可以采取的最重要行动是在以往的经历中获得在现实环境中的动手经验,获得的最好方式是贡献你的时间。许多公司不愿意为新程序员提供机会,而你通过获得这些经验,看起来像一个更好的候选者。(完)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Purpleendurer/archive/2010/08/03/5784848.aspx
翻译:PurpleEndurer,2010-08-03 第1版
一位TechRepublic成员想知道如何实现从系统管理员到程序员的转型。好消息是他已经有一些开发经验:
我一直想转行,从系统管理员转做一个软件开发者,我有一些利用Python脚本来让Linux任务自动化的经验,我一直在研究面向对象的范例,Git仓库用法和Django的Web应用程序开发模式,当然我的经验中大部分是管理,配置和安装Linux服务。
我想知道如何制做简历和求职信更能打动公司,因为我的系统管理经验比软件开发多。
我正在寻求一份初级程序员的工作!
这位成员已经给自己打下了良好的基础,例如使用Python和诸如使用源代码管理之类的“保健”做法。我没有使用过Django,但我听说这是个好东东。他也正视自己的能力,寻求初级程序员的职位。所以,凭借这个良好的开端,他可以做些什么来实现职业生涯的转变呢?以下是我的意见。
第一步:专注于必备与差别
我的职业发展口头禅很简单:牢固掌握初级程序员的“必备”技能,并专注于个体差别。对于典型的企业开发,入门级职位必备的有:
这些语言中的一种或多种:VB.NET,C#,PHP和Java
使用数据库/ SQL知识
版本控制的概念
JavaScript,HTML和CSS的基础知识
Web服务(SOAP或REST)
Web开发基础知识(理解会话,Web开发模型等等)。
入门级程序员的个体差别如下:
体验一个真实环境中的项目(这是最重要的区别)
在团队环境中亲身进行版本控制
团队协作,最好是实行正常的开发模式并确定等级
质量保证
单元测试
高级JavaScript,HTML和CSS
二级语言,如Python、Scala和Ruby
调试
第二步:为开源项目作贡献或作志愿者
我为打造开发履历提的下一条建议应该不会让普通读者感到惊讶:找一个可以尽一份力的开源项目,或捐赠你的时间,到当地慈善机构进行编程。
在这个阶段,如果你选择了开源项目这个途径,应找到一个现有的项目,而不是试图自己开创;向项目中的其他开发人员通报你的技术水平,询问他们是否同意让你略效绵力。
如果你成为一个慈善机构的志愿者,要确保该机构中有可以和你一起工作和学习的程序员。要保持谦虚,听取他们的意见;如果遇到自己觉得没有任何意义的事情,要通过一种友好的方式询问他们为什么做这样的事情,这样你可以从他们身上学到东西。
这种方法的主要好处
您将获得宝贵的经验,这些经验如果你只靠自学来获得的话会需要更长的时间。经过半年月或一年的时间(即每周5至15小时),你将拥有令人印象深刻的入门级技能,并且你的简历看上去会很不错。最妙的是,它不会花费你一分钱!
你会对自己的优劣和喜恶(这并不一定与优劣相同)有一个很好的认知。你也会发现,这对你来说是否真的是一个不错的职业选择。
在这个过程中,你不应该丢弃目前的职位。如果经济与四年前一样,要丢弃自然容易一些。但现在,就业市场在许多方面仍然很疲软,我不会匆忙跳槽,除非我确实能胜任新工作,因为另觅一个系统管理员的工作的希望非常渺茫。
你将有别于其他初级程序员,其他初级程序员刚刚离开学校,寻找第一份工作。由于某些原因,绝大多数大学生有这种奇怪的信仰,他们花4年时间节衣缩食上了大学,指望着毕业时有工作虚位以待。1998年时,辍学大学生只要知道HTML,一年就可以挣5万美元,确实如此。更糟的是,大多数院校在教学中省去了作为程序员真正需要的技能,如团队协作,像敏捷开发之类的开发方法,源代码管理,质量保证,等等。雇主们对雇员的技能要求比10年前更高,这些技能大部分只能从现实环境中学到,这对大多数入门级程序员来说是一个重大的挑战。
第三步:积极进取
如果你所在的地方有程序员组织,请加入他们的集会并结识其中的每一个人。在集会前后的时间里与他们交谈,你会学到许多东东。只要让他们知道你正在努力学习,我保证他们会急不可待地与你分享知识并提供建议。
第四步:研究开发的历史
我想将维基百科作为一种了解开发历史的资源。如果你花一些时间阅读关于葛丽丝·霍普,阿兰图灵,艾伦·凯,拉里·沃尔,丹尼斯·里奇,保罗·格雷厄姆,约翰麦卡锡(仅举几例)的事迹,在未来将会具有比我见过的大多数程序员们更好的学习基础。
PurpleEndurer注:
Grace Hopper(葛丽丝·霍普)
http://zh.wikipedia.org/zh-cn/Grace_Hopper
Alan Turing(阿兰·图灵)
http://zh.wikipedia.org/zh-cn/%E8%89%BE%E4%BC%A6%C2%B7%E5%9B%BE%E7%81%B5
Alan Kay(艾伦·凯)
http://zh.wikipedia.org/zh-cn/Alan_Kay
Larry Wall(拉里·沃尔)
http://zh.wikipedia.org/zh-cn/Larry_Wall
Dennis Ritchie(丹尼斯·里奇)
http://zh.wikipedia.org/zh-cn/Dennis_Ritchie
Paul Graham(保罗·格雷厄姆)
http://zh.wikipedia.org/zh-cn/%E4%BF%9D%E7%BD%97%C2%B7%E6%A0%BC%E9%9B%B7%E5%8E%84%E5%A7%86
我认为自己因为了解这段历史而成为一个更好的程序员。当我们浪费时间做无用功时,这方面的知识也可以帮助我看明白(例如,Web开发对于从事这个行业已超过30年的人而言是一个似曾相识的糟糕)。
此外,当别人给你提供指导时,你也能更好地分辨对方是装腔作势者还是真才实学者。
总结
通过上述这些步骤,你将在现有IT技能基础上重塑,并且在招聘经理查看你的简历时处于更好的位置。你在接受面试的时候,要强调你在先前的职业生涯中学到了大量的故障排除和调试技巧,以及研究问题的方法;这是大多数初级级程序员最缺乏的。
你可以采取的最重要行动是在以往的经历中获得在现实环境中的动手经验,获得的最好方式是贡献你的时间。许多公司不愿意为新程序员提供机会,而你通过获得这些经验,看起来像一个更好的候选者。(完)
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Purpleendurer/archive/2010/08/03/5784848.aspx
发表评论
-
我的IT未来预测及个人规划
2011-11-13 21:34 0现状: windows 市场占有率高 linux 市场 ... -
[转]华为时间管理培训
2011-11-04 23:49 694什么是时间管理 “时 ... -
俞敏洪:我让女儿主动学习的秘密
2011-09-15 10:59 531我之所以能够在这 ... -
[俞敏洪]当第一也不容易
2011-09-15 10:58 621其实当第一名也确实不容易,因为他走得很辛苦,往前面一看,一个追 ... -
[转自搜狐]外交部副部长傅莹就中国航母海试接受外媒采访
2011-08-23 20:54 375中新网8月23日电 据外交 ... -
[转载]十个成功励志小故事
2011-03-03 15:16 6821,▲相信自己是一只 ... -
[转载]为什么搞计算机工作的人看上去很清闲
2011-02-18 19:49 655非IT人员经常会产生这样的疑问,这个图片会多少回答这样的问题: ... -
[转载]完美程序员的10种品质
2010-12-31 20:43 530导读:谁是完美程序员?著名博客作家Alex Iskol ... -
[转载]软件开发中的11个系统思维定律
2010-12-18 15:56 497“我会更加努力地工作 ... -
[转载]如何解决消极怠工(事业单位)
2010-08-28 05:05 1191消极怠工理由: ... -
[转载]中国人的盲目攀比
2010-08-28 04:37 529徐明旭 拜孔夫子之 ... -
[转载]周鸿伟的成功秘决
2010-08-28 04:24 605不攀比不跟风做事装孙子 -
[学习笔记]微软技术必知的几个网站
2010-05-08 05:20 549http://www.microsoft.com/china/ ... -
[转载]评论:程序员,不止干到35岁
2010-04-24 19:05 506在中国,程序员不能超过35岁,似乎已经是不争的事实,软件开发工 ... -
[转载备份]Rails创始人DHH新作《Rework》读书笔记:“少!快!精!”
2010-03-24 14:01 1071注: 首先向作者致以诚挚的歉意。引用您的文章,并非为了赚 ... -
[转载]对自学编程者的一些建议
2010-03-24 13:56 658学习编程已经不再是少 ... -
[转载]充满荆棘的专家程序员之道
2010-03-24 13:50 558国外程序员常常遇 ... -
读《做单》有感
2010-02-21 17:03 599虽然这是一本写IT行业销售故事的书,但是其中的主人公的心路历程 ... -
[转载]数学是知识,哲学是智慧
2010-01-10 09:54 635至于知识和智慧的区别 ... -
[转载]马云的经典语录(给奋斗者)
2010-01-10 09:52 831*今天很残酷,明天更残 ...
相关推荐
系统架构设计程序员向架构师转型之路是一项艰巨但充满挑战的任务,涉及到技术深度、广度、沟通能力以及业务理解等多个方面。以下是对这一主题的详细阐述: 首先,我们要明确架构师的角色。架构师并不仅仅是高级...
【系统管理员资源大全】是国外程序员kahun在Github上整理的一份开源资源列表,涵盖了系统管理员在工作中可能需要用到的各种工具和软件。这份资源大全旨在帮助系统管理员提高工作效率,确保系统的稳定运行,同时也为...
针对文件信息,接下来的内容将基于“程序员到...最后,从程序员到项目经理的转型不仅需要不断学习新的管理技能,更需要在实际工作中不断实践和积累经验。只有通过不断的尝试和反思,才能真正成为一个优秀的项目经理。
软件工程课程设计(管理系统)--程序员SUMER 软件工程课程设计(管理系统)--程序员SUMER 软件工程课程设计(管理系统)--程序员SUMER 软件工程课程设计(管理系统)--程序员SUMER 软件工程课程设计(管理系统)--程序员SUMER ...
程序员做到一定程度,就很快达到了自己瓶颈。该如何提升,往那方面提升,如果拓展自己,本文中的内容,帮助你找到适合自己的突围策略
软件工程课程设计---学生管理系统--程序员SUMER 软件工程课程设计---学生管理系统--程序员SUMER 软件工程课程设计---学生管理系统--程序员SUMER 软件工程课程设计---学生管理系统--程序员SUMER 软件工程课程设计---...
首先,需要明确的是,程序员和系统分析员不存在谁高级谁低级的分别,他们是两种职业,对职业技能的要求完全不同。系统分析员的技能要求他必须要懂得如何写程序,但是他的重心在于如何把一个很大的项目切割成适合个人...
Web数据挖掘Web数据挖掘Web数据挖掘Web数据挖掘Web数据挖掘
从程序员到项目经理的转型是一条在职业发展过程中常见的晋升路径。程序员通常具有一定的技术背景和编程经验,而项目经理则要求具备更多的管理和协调能力。这一转变涉及到多个方面的技能提升,从技术知识到团队合作,...
达梦数据库管理系统DM程序员手册,讲述达梦7数据库的安装,作为管理员的日常管理操作
个人知识管理系统的应用能够帮助程序员构建一个有序的知识库,方便快速查找和学习。 个人知识管理系统通常包括以下几个核心功能: 1. **知识分类与标签**:系统允许用户根据知识的类型、主题或项目对其进行分类,...
在IT行业中,程序员不仅需要扎实的技术能力,更需要良好的职业素养和不断学习、转型的能力。以下将详细探讨这些方面。 首先,我们关注“程序员素质”。作为一名优秀的程序员,基础的编程技能是必不可少的,但这只是...
数据库方面面试题-DBA数据库管理员JAVA程序员架构师必看
【程序员写的后台管理系统模板】是一个基于C#编程语言和MVC3框架开发的后台管理界面模板,适合初学者和有经验的C#程序员用于快速构建自己的网站后台系统。MVC(Model-View-Controller)是一种设计模式,它将应用程序...
DBA数据库管理员JAVA程序员架构师必看 一、技术问题某些(数据库某些) 1、表空间管理方式有哪几种? 数据字典管理方式 本地文献管理方式 2、谈谈你对索引理解? 索引是若干数据行核心字列表,查询数据时,通过索引中...
华为面试题附答案Oracle-DBA数据库管理员JAVA程序员架构师必看.pdf
对于Jacky来说,向项目管理转型不仅能够利用已有的技术背景,还可以通过学习项目管理知识和技能,进一步提升个人的职业竞争力。项目管理岗位不仅能提供稳定的收入来源,还能让程序员在职业生涯中发挥更大的作用,...
计算机程序员考试题是程序员考试必备的复习材料,本节总结了计算机程序员考试题中重要的知识点,涵盖操作系统、计算机系统、存储管理、进程管理、设备管理、文件管理、作业调度等方面的知识。 一、操作系统 * 操作...
操作系统是管理计算机硬件与软件资源的核心系统,理解操作系统的原理能帮助程序员更好地优化程序性能,处理进程调度、内存管理等问题。 ### 4. 计算机网络知识 计算机网络涉及数据传输、网络协议(如TCP/IP)、...
4. **知识树构建**:程序员的知识树是指一个全面的、结构化的技术学习框架,它将不同领域的知识组织成有条理的结构,便于学习和记忆。建立知识树可以帮助程序员更有效地学习新知识,理解和解决复杂问题。这包括...