① 程序员是干什么的
程序员是干软件的。程序员的本质工作当然是写代码,用代码实现功能。(就是用基础语言(c/c++,java,objectc)等来编写文档一样,不过这些文档编译后就变成可运行的程序)。
范面上看程序员就是干这些事情的:code、code、code。编码只是程序员的一小部分工作,要是只是编码这么简单,就不会有程序员加班,通宵干活了。程序员不止干了这些。我们就以三个阶段来说说程序员究竟干了些什么。
一、初级程序员
初级程序员的工作还是比较简单的,一是知识经验有限,主要是编写简单代码和学习为主,只要完成一些基本的编码任务,单一功能的实现。
二、研发工程师
有了一定的经验后你就转变为工程师了,这个时候你就不光是简单的完成任务了。code这个还是你主要的任务,但除了这,你还要将设计,调试等等肩负起来。这时候一般都是多个功能模块的设计实现(整体架构由架构师完成)。模块内的详细设计(功能的实现逻辑)文档编写,模块调试。直到功能完善交付。
三、架构师
架构师就已经脱离了code了,因为他们已经不必关心代码如何编写了,更重要的事情是完成一个软件、系统的设计架构。万丈高楼得有一个好的框架。要不然你就只能盖个2层小楼了。架构师负责从分析软件需求,再到软件系统的详细设计,人员的配置,工作的量化,到完完全全的产品整个过程。
② 作为一个“码农”(程序员),其可以获得的职业价值观满足是什么
作为一个“码农”(程序员),其可以获得的职业价值观满足是专业性。
一、程序员
程序员(英文Programmer)是从事程序开发、程序维护的基层工作人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚。随着互联网的不断普及,现在网络上把男程序员称作”程序猿“,女程序员称作”程序媛“。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
③ 一个程序员要具备的基本素质是什么
团队精神和协作能力 :
把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。
文档习惯:
作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。
规范化,标准化的代码编写习惯:
作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。
需求理解能力:
作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。
复用性,模块化思维能力:
复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作。
测试习惯:
软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。
学习和总结的能力:
善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。但是学习也要找对目标,一些小coding fans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名词,做网络程序不懂通讯传输协议,做应用程序不懂中断向量处理,这样的技术人员,不管掌握了多少所谓的新语言,永远不会有质的提高。
④ 程序员职业规划职业规划
每一天的时间都非常珍贵,如何才能提升自己,职业发展顺利呢?请好好规划今后的职业发展道路。想必许多人都在为如何写好职业规划而烦恼吧,下面是我为大家整理的程序员职业规划职业规划3篇,欢迎大家分享。
第一,学习基础,熟悉框架
第二,学习数据库应用程序和WEB应用程序开发
第三。学习编写需求程序设计文档,测试文档
第四。做项目经理,积累项目经验
第五,做合作伙伴。
规划是个长期计划,使为了实现一个远期目标而制定的计划,然后又由数个或者数十个短期计划分解组成,不断实现。
关于职业生涯,很多人不能学以致用,将来的工作和自己的专业关联性不大,在大学里学的东西只能用上20%,(当然除了专业性特别强的),主要的80%的技能都是进入社会中不断学习逐渐实现的。
成功的职业规划,主要的考虑因素在以下几个方面:
1、你的兴趣是什么?你曾经想成为什么样的人?你对哪些知识比较有感觉,能够深入发展下去?
2、你的性格适合做什么?不同的工作,适合不同性格的人去做。认清楚自己的性格,是非常重要的一步。
3、你的优势和特长是什么?有哪些拿得出手的能力?对于自己欠缺的能力,应该怎样去做?
4、你性格本身存在哪些弱点需要克服?不要让弱点成为你成长中的绊脚石。
1、线性级:编程的时候好比低着头走路,脑子里完全不进行规划。就像盖房子的时候,一块砖一块砖的垒,想到哪就干到哪。结果越垒越庞大,后面的代码管理越来越混乱。这一境界相当于生产车间里的操作工,按照图纸根据工艺要求操作机器进行部件加工,至于零件在于整个设备中的功能和作用不了解,也不去考虑。这一境界的目标是把本工序工作做好。
2、逻辑级:掌握了一定算法经验,对于现实业务比较了解,能够撰写出一些模块和函数。逻辑比较严密,bug比较少。这一境界相当于生产车间里面的车间主任,需要对本车间的生产加工业务比较熟悉,还能自己设计出一些便利的工装器具,便于重复生产加工的时候,加快生产速度,保证加工质量。这一境界的目标是快速的高质量的把本车间工作做好。
3、架构级:掌握算法,熟悉现实业务。对软件进行架构,进行分层,指导团队成员按照统一的目标进行工作。这一境界相当于制造本部长,对于整个产品的生产过程都非常熟悉,协调各个车间的生产进度,按照一致的交付目标进行生产加工。这一境界的目标是把产品按质保量的做好。
4、工程级:按照项目管理的理念,对软件过程进行项目级管理。需要协调内外部各种资源进行统一工作。这一境界相当于事业部老总,需要协调市场销售、材料供应、内部生产等内外部多方面的资源实现经营目标。这一境界的目标是低成本、快速的交付产品让客户满意,实现营业利润。
做自己喜欢与最擅长的工作
既然必须做出选择,如何选择就是关键。总不能写几个纸条,靠抓阄来决定自己以后的命运。从众多成功者的经历来看,成功的.一个关键因素就是做自己感兴趣的和最擅长的事情。如果没有兴趣,就没有百分之百的激情与动力,如果不擅长,就不可能把一件事情做到最好。
刘翔是短跑冠军,王励勤是乒乓球冠军,乔丹是飞人,巴菲特是股神……他们之所以成为英雄,正在于他们都是在做自己最擅长的事情,都是在拿自己的长处和别人的短处较量。他们本来是普通的常人,但因为在某一点上超过了所有的人,因而获得了成功。
职业规划的目的,不是要你变成另外一个人,而是要你变成最好的自己。搞清楚自己的优势在什么地方。做自己喜欢和最擅长的工作。不要羡慕别人的长处,不要绞尽脑汁地琢磨怎样才能像别人那样擅长某方面,不要幻想成为别人--做最好的自己!
成为行业专家
通常说到程序员的发展前景,一般是指如项目经理、软件架构师之类的,这种规划主要是在it行业内就业发展的规划,更像一个职位的规划。所以,无论是就职资源还是职业前景都包含一定的局限性。随着it行业的竞争加剧和其他传统行业的信息化进程,如今的程序员职业规划发展目标应该超越本职业概念的"行业专家",这里所指的行业,并不是指编程的语言,而是比如电信、互联网、银行、电子商务之类的行业,成为一个领域在行业中应用的专家。而在现实招聘的需求中也大量地体现了这方面的要求,具有某一行业多年从业经验的开发人员一直是众多企业苦苦追寻的香饽饽。
坚持到底
除了选择,最终要想获得成功,唯一的办法就是"专注".技术是层出不穷的,而人的精力却是有限的,怎样把有限的精力用到刀口上去,那就得认准了某个领域和某个行业坚持不懈地做下去,不但要成为这个领域的技术专家,还要成为这些行业的业务专家,你能熟知这个领域的点点滴滴,并能在这个领域的行业应用上发展创新,这样的人才,我想才是目前最需要的人才。我的一个同学,毕业的时候被公认为是编程水平最高的,但3年来他换了6次工作,他总是对这个感兴趣,对那个感兴趣,做过很多,每换一个工作几乎都是做的全新的东西,总在抱怨工作不如意,其实他换来换去,却始终是在起点上转。而另一个非常坚持的朋友,10年只跳了三次槽,第一个是程序员,第二个是部门经理,第三个是技术总监,不为什么,就因为他是专家,10年来他只做一个行业。用10年来做一件事情,不成功都难。
世界上没有完美的公司,重要的是,你要有自己的目标。知道你自己要的是什么。有些人习惯不满意就跳槽,跳槽可能会增加你的收入,但这种个人收入的增长,与一家企业由小到大而给员工带来的成长是无法相提并论的。职业规划就是要搞清楚自己的优势在什么地方,自己最适合做什么。当有了自己坚定的目标和定位,打工就不再是为别人卖命,而是为了自己的目标在奋斗!用这样的标准来衡量自己的成长和进步,那样的人生也会变得轻松而快乐。
⑤ 如何成长为一个真正合格的程序员
优秀程序员都是很努力的
一个真正合格的程序员,除了要有扎实的理论基础和代码能力,还要有诸多的综合素质。除非你只是一个纯粹的码农,除非你只是想做一点平淡的代码工作,否则如果你想有更好的发展,那就必须“学习”。从我自己的发展经历来讲,其实我只是一个半路出家的程序员,我没上过高中,只是师范毕业,学的还不是计算机,而是美术专业,从参加工作那天起开始自学计算机,花了半年学会了VB程序设计,写了第一个vb程序,一个校园的自动播音系统,实现了校园铃声、升旗、课间操等定时音乐的自动播放,免费提供给学校使用,给学校带来极大方便,从此我爱上了编程。后来为了宣传单位的形象开始自学ASP脚本语言,一个月时间写出了第一个ASP网站,在这个过程中学习了网页前端布局,知道了前端可以有JS控制,知道了域名是什么,知道了http协议,知道了WEB服务的发布。从那时起,我觉得网站建设就是一个商机,从此开启了我的网站建设之路。其实也就是程序员发展之路,至此,我在这条路上一发不可收拾。
在这期间我开始接一些网站建设的活儿,一开始,在网上搜索一些开源的代码进行修改,满足客户需求,但是很快发现一些问题,大多数代码都是预先挂了一些广告在里面,如果对程序不熟悉,等你网站发布出来,你就只能看到满山的网站,客户当然就不满意了,最后你还不知道这些广告从哪里冒出来的,甚至有些网站留了很多漏洞和后门,让你防不胜防。所以,想想还是自己写一套CMS系统,我只自己使用,只放在自己的服务器上,这样的话安全性高了很多,至少被攻击的几率少了多,也不担心莫名其妙冒出来的广告。于是,我开发了第一套产品,属于我自己的CMS,期间我可以说学到了更多的知识,累积了不少的产品开发经验。所以这里我总结一条,要成为一个合格程序员,最好完整的做一个项目吧。哪怕是项目的前端不懂,数据库不懂,逼迫自己去学习,去了解,最终产品虽然不够完善,至少你了解一个项目需要什么,和什么技术有关联,这样对你自己所擅长的东西就很有帮助。
不断学习,与时俱进。我喜欢一句话叫万变不离其宗。虽然程序语言有很多,但是基本原理还是相通的。我做了第一个ASP的CMS以后,很快发现ASP的程序网站已经不能适应项目开发的需求,需要更加高效的脚本语言来实现更多的功能。这个时候php就成了我首先研究的语言,因为我发现很多第三方开放的APi提供的都是PHP的,这让我们使用更多其他第三方功能的时候开发会更加方便快捷,所以我花了一个周,学习了基本语法和函数,我发现从ASP迁移到PHP其实是很简单的事情,只是语法不同,程序结构也是一样的,条件格式、逻辑判断、条件分支、循环处理也都差不多。经过学习很快掌握了这个语言,开始了项目开发之路。可见不断的学习,也就是自我成长的一个重要的过程。
良好的思维能力,这是一个程序员必须具备的技能。思维能力就是一个能够让代码在你头脑中执行一遍的能力,也就是说你在写代码的时候你的脑海里就能呈现出代码运行以后的结果,呈现给用户的界面,把抽象的逻辑代码转成具体形象的能力。良好的思维还体现在,一个程序的处理其实都离不开计算机运行的本质,那就是数据输入(数据从哪里来),到数据处理(获取的数据需要怎么加工处理或者转换为另一种形式),最后到数据输出(给用户呈现一个结果,图像的、文字的、视频的、声音的或者是多媒体的)。程序整体是这个理念,分解到很多细小的模块也是这样,所以只要有这些核心理念,你的思维能力就不会有问题。
通过我的学习和发展,我总结了,要让自己成长为合格程序员,离不开学习,离不开项目实践,离不开思维的创新,更离不开努力勤奋和汗水,愿有志青年都想有所成,学有所收,成就自我!
⑥ 程序员的职责是什么
程序员就是简单的把给你的语句转化为代码,很简单;真正的程序员是不用动什么脑子的.但是要有很好的语言基础。
面向过程就是针对算法过程的,面向对象就是编写的内容都是针对对象的。举个例子:过程就是写个求阶乘的函数,对象就是写个自行车类 其中有凤凰的车 捷安特的车等等...
基础的话最好还是从C学起比较好 一定要打好基础才行,然后看看C++、java,其他的语言就不必看了,不是很有用的,现在基本就这个足够。
⑦ 程序员接到项目后应该怎么做
第一步:分析需求。也就是必须找客户把需求确认好,这一步最重要,最好能形成书面的东西,防止客户反复修改
第二步:设计模型。这一步其实是需求的补充,有了一个具体的东西,双方更好交流,也能给予客户部分信心,当然时间能快点最好了
第三步:框架选用或者设计。一定要选择一个灵活的框架,防止有后续开发或者需求反复变更
第四步:模块设计。设计各个模块,充分考虑其中的耦合
第五步:编码,同时思考测试用例
第六步:测试
第七步:项目验收,可能会goto第一步
第八步:收钱
⑧ 程序员常说的<项目>是什么
···项目就是通常说的做一个系统,比如说某个公司或者团队接了一个单,用做一个xx系统,那么这个就叫项目