① 什么是程序员
什么是程序员
什么是程序员?什么人能称得上是程序员?会编程序的人都是程序员嘛!这个问题看似简单,但细想一下,也很难回答。其实在中国,有关程序员有很多种接近的叫法,例如“开发人员”,“编程人员”,“电脑人员”等等。只是现在分工越来越细,专业化程度不断提高程序员这个词才会逐渐地流行起来。
那么什么人才算是编程人员呢,现在看来凡是从计算机专业或相近专业毕业的、以编写程序为职业的都可算得上程序员。但是在上世纪80年代到90年代,由于计算机还是个新生事物,整个社会对其有种神秘、高贵、不可触及的印象。加之计算机人才少之又少,除了计算机专业从事开发工作之外,很多非计算机专业的同志,甚至初高中生也加入到开发队伍之中,他们充满激情,敢于学习,勇于探索,他们其中有许多人很快地就成为开发队伍中的主力军,成为编程人员中的佼佼者。有的时候,专业的程序员还不如业余的程序员,这种情况比比皆是。那个时候,开发环境、学习环境比现在差的很多,程序设计语言比较单调,技术书籍更是少之有少。记得当时只能把单位印制8086,Z80汇编程序设计当作教材,用debug把操作系统中代码打印成厚厚书籍来阅读。由于单位是生产电脑(组装)的,因此,使用电脑还是比较方便,但是,绝不可能在家里自己拥有电脑的。
由于那时程序员可以触及电脑,可以看着别人不懂的代码,可以让电脑执行自己的指令,在许多外行甚至内行人看来,是非常敬仰的。
程序员一般只掌握单一的程序设计语言,比如编写汇编程序的程序人员,编写C语言的程序人员,编写unix、xenix、aix、soc、hp-unix等unix类的shell程序人员,编写与数据库打交道的procc程序人员,编写C++程序的程序语言,编写面向对象的VFP、VB、Delphi,PB的程序人员,编写web程序的HTML,CGI,ASP,php的程序人员、编写C#、java的程序人员,这些程序语言有些被保留下来,有的则被时代无情淘汰了。同样程序员如果不能适应语言的发展也避免不了被淘汰的命运。
我感到其实程序员和其他职业人员不同之处:
1)因为比尔盖茨是编程序的,似乎每个程序设计人员都有一个“比尔盖茨”梦想:比尔盖茨能做的,我也许能做到,即使做不到,做一半也是不错的。这个潜在的意识是程序员最大的财富,许多程序人成了有理想有抱负的人。我想很多人选择IT大都与此有关吧。
2)工作成果完全由自己把握,随编随运行随出结果。这种自我感觉是很多职业都不具备的。因此,程序员有很强的自信性。而且这种自信,往往可以使得程序员产生自己可以开公司念头。
3)有很高的预期价值。
软件通过使用创造了价值,程序员通过制作产生了软件。因此,程序员往往把软件的价值看作自己的价值,例如一个软件卖了5万元,程序员就会把自己的劳动价值故在5万上,如果这个软件有100个潜在的市场,那么程序员就会把这个价值升值到5*100=500万上。所以在程序员这个群体,很多人都相信自己未来能够获得更多的'收入。
当然,程序员也有其他一些特点,例如:有的程序员喜欢晚上干活,白天睡觉;有的喜欢钻研,连续加班;有的头脑灵活,动手能力强;有的喜欢追逐最新技术,变成别人公司的代言人等等。
有一点我是注意到了,程序员在社会上的地位呈下降趋势,以往给人以仰目而视的形象,逐步走下神坛。也许我们在中国的程序员中间再也发现不了比尔盖茨的身影了。
这是程序员的悲哀还是社会的悲哀,还是正常不过的社会现象?
;
② 程序员一般的工作都是干什么的
程序员的工作内容如下:
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
(2)程序员的劳动对象扩展阅读:
数据显示,近四成程序员处于单身状态,明显高于非互联网从业者24%的比例。广州、深圳、北京成为单身比例最高的三大城市。单身的程序员在择偶方面也有区别于其他人的偏好,更注重对象的颜值、身材和家庭背景。
统计显示,互联网从业人员对买房有不小热情。互联网从业人员更勇于背负房贷,29%互联网从业人员正背负房贷,这一比例两倍于非互联网从业人员。其中在各大城市排名中,杭州、北京、广州位列前三大互联网从业者背负房贷人数比例最高的城市。
在互联网企业的一个特色是,没有明确的上班时间和下班时间,灵活的工作时间和高强度的工作量,使得加班成了行业特色。在睡眠时间方面,程序员的睡眠时间集中在11点至凌晨1点之间,而非互联网从业人员的睡眠高峰在10点至12点之间。
③ 程序员是白领还是蓝领
当然是白领了,程序员不需要出卖劳动力,他们一般在办公室办公,通过脑力来挣钱,工资比较高,属于白领
④ 我看程序员是脑力劳动者还是体力劳动者
大部分时间是脑力劳动,但是还需要不断的敲代码,也有体力劳动,所以说两者都有。
⑤ 程序员到底是知识分子,还是劳动人民
程序员写代码虽然看起来像是知识分子,但是大部分程序员都是码农,意思是写代码的农民,你懂的
⑥ 程序员主要的工作
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力
团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力
6、 团队组织管理能力
1,激情
我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。激情是一个优秀程序员的重要指标。
2,自学好学
编程领域始终发展变化着,不出一年有些新技术就变成了老技术,这并不是说好的程序员要对所有新技术跟进,但有些却对学习任何新技术都没有兴趣。他们通常在学校学习了编程,然后工作后单位安排学什么就学什么。如果在招聘中你听到“让我培训一个星期我就会胜任这个工作”那不要雇佣他。实际上,真正优秀的程序员始终谈论着你所不知道的新技术,向人们解释为什么你必须用这个技术,哪怕没有听众听得明白,哪怕他自己也不明白。
3,聪明
聪明包括很多因素,情绪和社会交际只是其中之一。好的程序员绝不木讷,他们是最聪明的人,他们中的许多善于交际,健谈、兴趣广泛。
4,隐性的经验
—好的程序员通常有自己的私人的一些研究、爱好、项目,而这些是他们不写在简历上 (通常觉得不值得写),但表现出来却可能恰恰是他的潜能、深度和后劲所在。
5,技术多样性
由于好的程序员喜欢学习和涉猎新技术,所以一般来说超过22岁的都熟知很多新技术,而且对多种技术的长短有 “强烈”的个人意见/见解,喜好尝试新鲜技术。
6,资格证书
资格证书并不是识别真正程序员的方法,MCSE、SCJP说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。
原文作者在文末写道:以上所说的标准并不是绝对的,因为有些优秀的程序员确实不符合上述,而有些bad程序员却符合了。但相信这些对大多数真正的程序员都适用。
总结而言,优秀的程序员通常有一下特点:
对技术充满激情
将编程作为一种爱好
如果你允许会滔滔不绝地跟你谈论技术
有过个人的开发经历(与4意思相同)
坚持认为某种技术最好
如果让他用他认为不好的技术他会非常别扭
聪明、健谈、兴趣广泛
在大学和工作前就开始接触程序
[编辑本段]考试说明
1、 考试要求:
(1) 熟练掌握基本算法和数据结构,用C语言编制程序;
(2) 掌握数据结构、程序变速器和操作系统的基础知识;
(3) 了解软件工程、数据库、多媒体和网络的基础知识;
(4) 掌握数制、机内代码及其算术运算和逻辑运算的基础知识;
(5) 了解计算机的体系结构和主要部件的基础知识。
2、 通过本级水平考试的合格人员能按照软件设计说明书编制程序,具有相当于助理工程师
的实际工作能力和业务水平。
3、 本级水平考试范围包括两个模块:模块1——程序编制能力(考试时间为150分钟);模
块2——基础知识(程序员级)考试时间为120分钟)。题型为:单项选择题十多项选择题。
考试范围
模块1:程序编制能力
1.1按照软件设计说明书,能熟练使用下列程序语言编制程序
1.1.1C(美国标准)
1.2理解给定程序的功能,能发现程序中的错误并加以纠正
1.3具有良好的程序编制风格
1.4基本算法
1.4.1查找、更新、排序、合并及字符处理
1.4.2迭代、插值、数值积分、矩阵计算、议程求解和搜索求解
1.5程序编制方法
1.5.1分支、循环、子程序(过程和函数)、递归
1.5.2输入输出和文件的处理
模块2:基础知识(程序员级)
2.1软件基础知识
2.1.1数据结构基础
数组、记录、列表(list)、队列、栈(stack)、堆(heap)、树和二叉树的定义、存储和操作
2.1.2程序语言基础知识
·汇编、编译、解释系统的基础知识
·程序语言的数据类型
·程序语言的控制结构
2.1.3操作系统基础知识
·操作系统的类型和功能
·操作系统的层次结构和进程概念
·作业、处理机、存储、文件和设备等管理的基础知识
2.1.4软件工程基础知识
·软件生命周期各阶段的任务
·结构化分析和设计方法
·面向对象基本概念
·软件开发工具与环境基础知识
2.1.5数据库基础知识
·数据库模型
·数据库系统的结构
·SQL的使用初步
·常用数据库管理系统的知识
2.1.6多媒体基础知识
·多媒体基本概念
·常用图象文件
·简单图形(线段和圆)的计算机图示
2.2硬件基础知识
2.2.1数制及其转换
·二进制、十进制和十六进制等常用数制及其相互转换
2.2.2机内代码
·原码、补码、反码、移码
·定点数与浮点数的机内表示
·ASCII码及汉字编码等常用的编码
·奇偶校验码、海明码、循环冗余码(CRC)等常用校验方法
2.2.3算术运算和逻辑运算
·计算机中的二进制数运算方法
·逻辑代数的基本运算和逻辑表达式的化简
2.2.4计算机的体系结构和主要部件
·中央处理器CPU、存储器和输入/输出设备
·总线结构、指令流和数据流
2.2.5指令系统
·常用的寻址方式
·指令的格式、分类及功能
·指令的执行过程
2.3网络基础知识
2.3.1网络的功能、分类与组成
2.3.2网络协议与标准
2.3.3网络结构与通信
2.3.4网络的安全性
2.3.5Client-Server结构
2.3.6Internet和Intranet初步
⑦ 程序员的甲方是什么
问题一:做什么职业,也别做程序员 程序员的快乐和痛苦:
编程是快乐的,也是痛苦的,这也将是第一篇用辩证的思维来探讨关于程序员人生的文章。大量的编程工作或许给你的生活带来了很多枯燥和痛苦,但是换个角度,程序员也应该是快乐的,这种快乐往往无法用言语表达,只
编程是快乐的,也是痛苦的,这也将是第一篇用辩证的思维来探讨关于程序员人生的文章。大量的编程工作或许给你的生活带来了很多枯燥和痛苦,但是换个角度,程序员也应该是快乐的,这种快乐往往无法用言语表达,只可意会,不可言传。那么编程会给程序员带来什么样的快乐呢?
1、成就感
“成就感”毫无疑问是程序员快乐的首要原因,编程是一件普通人无法完成的事,尽管很多软件项目都由一个团队小组共同完成,但是作为个人来讲,你在其中完成的工作就是个人劳动的一部分。一段代码、一个函数、一个模块、一个软件都是程序员自我实现的过程。成就感意味着自己做了一件了不起的事,做了一件非常有用的事,做了一件有价值的事,做了一件别人做不了的事。程序编多了,无论是编程的结果还是编程的过程,都会产生这种感觉。
2、被认同感
程序员原来对程序的无知、恐惧心理,通过大量的编程逐渐地克服了。程序员的自信心也逐步强大起来,而周围的同事往往比他自己先一步看到这种的进步,从而率先对他进行认同。尤其是原来自己初来乍到,水平、能力不能充分展示,自己内心也很着急,但是同事并不当回事,对自己不温不火的。随着工作的开展,自己的能力逐渐显示,同事也开始转变对自己看法,从各个方面或明或暗地表现了对自己的认同,这种认同往往会让程序员内心涌出一种满足感。尤其当程序员的上级甚至老板表扬自己工作成果的时候,这种被认同的感觉让人有一种飞上天的感觉。甚至用户对自己的认可都会让程序员倍感高兴。
3、团队氛围
程序员在成长中,一定会和其他程序员以及项目经理打交道。每个程序员和每个项目经理由于个性、能力、经历的不同与之交往的方式和结果都会不同的。随着时间的推移,程序员在这种不断的交往过程之中,增加了团队的意识,增加了软件中团队凝聚力。程序员在团队中一方面能够获得团队成员的帮助和支持,另一方面作为团队一分子,也在为团队整体作出贡献。每当一个项目在千辛万苦之后完工的时候,那种团队集体相拥的开心是难以言表的,有的男女甚至因此而结缘。也有个别程序员不能处理好和其他同事的关系,那工作起来就会感到很别扭。
4、技能熟练
在编程初期,程序员编起程序起来可以用“一步一个跟头”来形容,编程速度慢的不可想象。随着编程大量积累,程序员逐步找到编程工作流程和窍门,编程速度大大加快。到后来他们几乎到了“兵来将挡,水来土掩”的境界。原来要好几天要才能编好的程序,现在只要分分钟就摆平了。有时这种熟练程度连自己都会不敢相信的。
5、学生变老师
程序员开始的时候绝对是一个学生,干着干着学生变成了老师了,而后面进来的则当起了学生。当学生们问起自己曾经问过上一任老师的问题的时候,那种老师的优越感不由你不产生,不由你不认真去解答。有的甚至有主动教学的冲动。
6、扩大朋友圈
编程多了,自然项目就多了,项目多了,接触的人也多了,接触人多了,就会让程序员交友的机会多了,程序员在这个过程中,无论是和程序员同行、软件设计师、项目经理、上级主管、公司老板、用户、合作伙伴甚至是网友都会有所接触,许多程序员因工作需要经常在用户单位进行开发和维护和用户打交道机会很多,因此,会结交上用户朋友。在IT人员稀缺年代,有些用户对看中的程序员,常常会挖墙角,项目验收后,程序员由乙方变成了甲方。
说完了程序员的快乐,再来说说程序员......>>
问题二:外包到甲方的程序员应该怎么规划自己的职业生涯 ERP程序员主要看你是做甲方还是乙方,甲方二次开发的多,但如果产品是自己的,做主体开发也是有可能的。
问题三:做软件开发转型 去甲方怎么样? 其实本人建议如下:
1、首先考虑一笔资产可以不用辛苦劳动即可度10年没有问题;
2、个人性格是否外向,且善于沟通;
3、该工作离家是不方便照顾父母;
4、待遇是不属于当地中上等;
5、有能力考试至少211院校的重点专业;
如果满足上述考虑因素可以马上换地方考研都没有问题,否则建议好好表现继续现在工作
问题四:程序员被甲方赶回去,怎么跟上司沟通 虽然不想危言耸听,但是你的确摊上大麻烦了。被甲方赶回去的性质是非常严重的,当然如果你在你们公司水平特高,非常有地位你可以无视我的话。依我身边的例子,如果你只是个普通的IT打工者,以后在公司的日子会非常不好混,甚至有被辞退的可能,当然要看和甲方合作的项目大不大,还有甲方对乙方的影响力。建议你这样,和甲方当事人好好沟通一下,送点礼,说点软话,求他收回成命,或者在你上司面前美言几句,给你留点余地。要快!千万拖不得!看来你是刚上班不久,要不也不会出这么大的问题。真心想帮你,有问题继续找我。
问题五:ERP程序员主要负责做什么? ERP程序员主要看你场做甲方还是乙方,甲方二次开发的多,但如果产品是自己的,做主体开发也是有可能的。
问题六:请问Java程序员前景怎么样??做程序员真的很累,好纠结啊 前景一片光明。你不要死脑筋,程序员做个3,5年就够了。剩下的你换工作找管理的,或者去甲方运维或管理。开始累点是为以后打基础。哪有一开始就轻松后面又高工资的工作呢。
问题七:it程序员在众包平台上一年能赚多少钱 有多大能力赚多少钱,不过程序员很难过第一关,就是说服甲方给你项目
问题八:我是个程序员,经常要做项目,现在想转管理,请问有什么好一点的建议吗? 两年前也是和你一样-小小的程序猿一枚,后面慢慢接触到PMP,程序猿如果不转管理,现在写程序已经拼不过那些小伙子了,熬不了夜,所有有了转管理的想法,经过多番了解之后,我选择了艾威PMP培训开始了我的PMP之旅。
问题九:经验不多的新人在外包it公司能坚持下去吗? 非常多的人说作为IT外包的程序员,发展空间小,我只能说这样的人并没有接触到外包IT的核心,我在外包做了2年多,当然现在正面临跳槽,而且目标首选是甲方优先,为什么后面再说,先说一下第一个问题:我现在的小组老大,在技术方面,基础扎实,编码能力强,工作效率高,他一个人一天就能完成我和另一个主要开发人员加起来的工作量,而且作为一个项目经理,他要关心的事情要比我这种开发要多的多,比如评估工作量, 比如协调各个模块的整合工作,比如整个项目的框架搭建,比如数据库的维护……同时他还要和公司里的产品、销售、甲方公司的需求提出人员等等非常多的日常杂事需要他去处理,因此他本人的情商也并不低,相反他能在这么错综复杂的人际关系里游刃有余,在日常工作还能兼顾开发,只能说明他的个人能力已经非常牛逼,而就是这样牛逼的一个人,他也是在外包公司历练出来的,一个一个项目做下来,你只要能获得公司骨干、核心人物的肯定,你当然就可以向更上面的职位升迁,因此,很多人说外包IT发展有限是错的,至少不完全是,反过来说,你以为在甲方公司呆着呆着就莫名其妙让你当上领导了吗?
第二个问题,我觉得一码归一码,必须说清楚,因为很多人说过的这个问题的确是存在的,也就是归属感。我以前也在甲方做过2年,工资可以说挺低,干的活其实也并不少,但我依然觉得每天上班并不会非常枯燥,因为我有一帮非常开朗而且喜欢开玩笑的同事,我本身是个内敛木纳的人,但原先的那个办公室的工作气氛就是非常好,开开玩笑做做事,一天就过去了,并不会一上班就像行尸走肉一样等下班。但在外包IT,这的确是个很大的问题,大到什么程度呢,这次我跳槽就是因为,我现在所在的小组,因为公司接的项目的调整,必须被拆散,分散到不同的甲方,做不同的项目,原本我们小组几个人都是很有默契,私下也是能聊到一起的,如果经常把你调来调去到不同小组,那么每次都要磨合,或者你可以选择封闭自己,就像一个机器人一样接受安排,完成自己的工作……甲方和外包最大的区别也在于此,哪个你能接受,权衡一下利弊就是。另外,外包的IT公司,并非清一色全是在甲方场所办公的,一般外包项目,分驻场项目和离场项目,所谓驻场,就是程序员必须全在甲方公司指定的场所开发办公,大多情况下,开发的上下班时间什么的都是跟着甲方走的,而离场相对的就是程序员在自己公司办公,做好的项目由项目负责人带到甲方去发布等……
第三个,福利待遇问题;外包的确是要比甲方保守一些的,外包公司节省成本是必须的。但也不尽然,关键看你自己价值,和怎么跟面你的人谈。
最后总结一下,如果你只在乎技术上的提升,对自己社交圈的维护和发展不屑一顾的,大可以选择外包,锻炼人完全是看自己的,和在哪里做没有太大关系。但如果你对工作环境、福利待遇、前面提到的有所介怀的,那么以甲方作为优先面试的对象比较好。
问题十:程序员是外包公司学到的东西多还是普通公司学到的东西多? 外包公司学不到什么东西,东一块,西一块,根本没积累
⑧ 程序猿找对象,该不该找女程序员
没有什么该不该,只有喜不喜欢,她是你喜欢的人的话职业真的模猛含无所谓,而且最好的旦笑夫妻状态一定是相互理知森解相互支持。
⑨ 程序员是体力劳动还是脑力劳动
程序员当然是脑力劳动,工地上搬砖的才是体力劳动。那么为什么有的人会形容程序员也是搬砖的呢,那是因为程序员工作强度还是比较大的,加班是经常的,虽然说是坐着工作,但是也是消耗体力的。