⑴ 程序员是干什么的
程序员是干软件的。程序员的本质工作当然是写代码,用代码实现功能。(就是用基础语言(c/c++,java,objectc)等来编写文档一样,不过这些文档编译后就变成可运行的程序)。
范面上看程序员就是干这些事情的:code、code、code。编码只是程序员的一小部分工作,要是只是编码这么简单,就不会有程序员加班,通宵干活了。程序员不止干了这些。我们就以三个阶段来说说程序员究竟干了些什么。
一、初级程序员
初级程序员的工作还是比较简单的,一是知识经验有限,主要是编写简单代码和学习为主,只要完成一些基本的编码任务,单一功能的实现。
二、研发工程师
有了一定的经验后你就转变为工程师了,这个时候你就不光是简单的完成任务了。code这个还是你主要的任务,但除了这,你还要将设计,调试等等肩负起来。这时候一般都是多个功能模块的设计实现(整体架构由架构师完成)。模块内的详细设计(功能的实现逻辑)文档编写,模块调试。直到功能完善交付。
三、架构师
架构师就已经脱离了code了,因为他们已经不必关心代码如何编写了,更重要的事情是完成一个软件、系统的设计架构。万丈高楼得有一个好的框架。要不然你就只能盖个2层小楼了。架构师负责从分析软件需求,再到软件系统的详细设计,人员的配置,工作的量化,到完完全全的产品整个过程。
⑵ 程序员的具体工作是什么
程序员做的主要是编程工作,现在的网站制作大多采用ASP、php、JSP等服务器语言,也需要大量的编程,同时要有较好的美术修养和图形、动画处理技术
⑶ 程序员是做什么的
程序员是从事程序开发、程序维护的基层工作人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚。
对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
协助项目经理和相关人员同客户进行沟通,保持良好的客户关系,参与需求调研、项目可行性分析、技术可行性分析和需求分析,熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。
而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。
能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
⑷ 程序员是干什么的啊
程序员是写程序的属于电脑IT行业。
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员。
软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。
一年可报考软考程序员考试两次,但一次考试只能报考一种资格,因此报考了程序员考试则无法再报考软考其他级别或科目的考试。
同时软考程序员考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试方式。
⑸ JAVA程序员怎么成为大牛,有哪些可以深耕的领域
1、成为大牛,基础要很扎实很扎实。不能小看基础,很多流行的框架什么的,其实都是从基础起来的,你理解了基础,很多东西都可以理解的。
2、多读源代码,官方的。有问题,直接找官方,最快最佳最直接。
3、有一定的条理,做事情,就是要有条理性,会分解,把复杂的问题简单化。简单化,就是0和1一样的简单的那种。
可以深耕的领域,其实,这个看你目前所在的行业,做自己熟悉的最好,java目前比较适合的是后台、金融、互联网方面。
⑹ 程序员最好的职业方向是哪些
现在软件和互联网大概有哪些方向?程序员的职业方向又有那些?
首先是需求从哪里来?
客户的项目
如果做的是客户的项目,需求当然是从客户那里来的。客户绝大多数是软件开发的小白,但我也见过客户是优秀的软件人才,他们很难清楚地描述自己真正的业务要求,这时候就需要有个人隆重出场了:业务分析师。对于大公司,业务分析师是专职的,对于小公司,项目经理或者开发骨干也就硬着头皮上了。业务分析师需要把需求理理清楚,交给后面的架构人员做设计。
业务分析师如果在某个行业干久了,就会变成业务专家,例如你把国内各大银行的核心系统项目都做了个遍,那你对银行业务的熟悉程度甚至可能超过银行的特定人员,这时候你就超级值钱了,不仅仅能分析业务,更能够帮助银行优化业务,你说牛不牛?
问:业务分析师需要懂技术吗?
答:最好是懂一点,你分析出来的东西是要程序员们实现的,如果不考虑现有的技术,一味地迎合用户,肯定会被程序员们骂死。
如果你是由程序员成长起来的业务专家,技术精湛,那就坐着数钱玩吧。
公司的产品
如果你做的是产品,例如微信、QQ、淘宝、魔兽世界、征途、大话西游,那需求其实是自己公司的人来定义的。
定义这个需求的现在有个时髦的职业:产品经理。像张小龙就是微信的超级产品经理,史玉柱就是征途的骨灰级产品经理。
产品经理主要根据用户的心理和体验来设计产品,让大家用的爽,好的产品经理现在非常吃香,也属于紧缺人才。
问:产品经理需要懂技术吗?
答:需要,最好是从程序员成长起来的,知道一个产品设计实现的难度,不然只顾自己爽,也会被程序员骂死。
设计和开发
架构师
听起来很高大上的一个职位,但是需要强悍的技术实力和深厚的技术积累。架构师的成长需要历练,需要技术的广度和适当的深度。设计优雅、灵活、可扩展的架构是架构师的主要工作。
不能只追求最新、最热的技术,还需要考虑现有团队的能力,技术的成熟度。
人员需求:★
难度指数:★★★★★
web 后端程序员
后端程序员主要实现业务逻辑,提供接口给前端使用。
Java 当然是用的最多的,但是也有别的相对小众的像 Python、ruby on rails 等,还有就是 PHP,简单粗暴,中小网站常用,无论哪一个,学习起来都不是很难。
这一块的人员需求是比较大的。
人员需求:★★★★★
难度指数:★★★
web 前端程序员
主要是 Java、CSS、JQuery 等,最近几年大家重视浏览器端用户体验,浏览器端做得越来越炫,所以也很火。
人员需求:★★★★★
难度指数:★★★
手机端程序员
主要是 android、iOS,由于移动互联网的发展,现在很火爆,需求量很大,相对而言 iOS 的门槛高一些,程序员也少一点,不过工资高一点。
人员需求:★★★★
难度指数:★★★★
系统编程程序员
有些需求很简单,有些需求很复杂,需要支持海量的用户,海量的并发,像淘宝的“双十一”, 像微信的春节抢红包。
需要做云计算,虚拟化,分布式处理,支持系统水平扩展。对于海量的数据,还需要做大数据分析,从中提取有价值的信息,例如 Hadoop。由于需要对操作系统,数据库,服务器端系统做定制开发,甚至自己做一套,小公司一般没有这样的技术能力,主要是 BAT 这样的公司在做。人员需求不是很大,对程序员来讲,需要在一个领域钻研得非常深,技术稳定度比较好。
人员需求:★★
难度指数:★★★★★
安全
互联网时代,你的信息一不留神就有可能被偷走,安全变得越来越重要。所以单单实现了功能,满足了性能还不够,很多公司,尤其是 BAT 对安全非常重视。当然这个方向也需要对技术钻研得很深才可以。
人员需求:★★
难度指数:★★★★★
测试
这个对技术要求不太高,但也需要测试相关的知识,能够设计测试用例,准备测试数据,执行测试。
现在敏捷开发流行,对测试也要求懂开发知识,至少能够开发一些自动化的脚本。很多女生后来转到了测试岗位,我想主要是因为女生比较细心。我在 IBM 见过一个非常优秀的测试人员:她不仅仅能出色完成上面指派的工作,还可以参与设计开发的讨论,经常能从测试角度提出开发人员都没有想到的问题,极大地帮助提升了软件的质量。
数据库管理员
几乎所有项目都需要数据库的支持,对于大型、超大型项目,会有一个叫做 DBA 的职位。他对数据库知识极为精通,平时对数据库进行管理,开发时能帮助开发团队设计数据库,并且找出性能瓶颈,进行性能调优。
美工 / 文档
美工
主要是对界面进行美化,一般是由美工先出界面原型,大家讨论,修改,确定后美工会生成各种界面元素,像图标、按钮等。
现在对美工也有一定的技术要求,不仅仅是画界面,还要把 html 模板做出来,所以美工需要懂得 HTML、CSS,甚至部分 Java。程序员拿到 html 模板后,往上添加业务代码即可。
文档编写人员
小项目一般是团队中有人兼职做,大的项目、产品会有人专职写文档, 我 2003 年的时候参与过上海证券交易所的项目,看到有个专职的文档编写人员写的 Word,非常专业、精美,完全是可以直接出版的水准。我把它 下来,自己都想山寨一个,但照葫芦画瓢都做不出来。
项目管理
项目已经开始了,业务分析师、架构师、开发、测试等一群人如饿狼扑食,势必要把项目撕个粉碎。可是这么多人怎么协作? 如何管理?进度能不能按要求完成?这就需要项目经理出马了。
项目经理,说白了就是带着大家做项目,主要和人打交道,需要协调各个方面的关系,保证项目的进展顺利。
问:项目经理需要懂技术吗?
答:当然需要,最好是开发出身,要不然你就听不懂那帮程序员在说什么,只能在表面漂浮着,无法深入项目,别人也就不服你,团队肯定是带不好的。
运营
如果你是在开发自己的产品,开发完成以后,马上就会遇到一个问题,怎么推广?
在互联网时代,世界是公平的,竞争异常激烈,一个好的软件、App 或者网站,如果缺乏运营,你的技术再好也不行。
运营其实就是想方设法让你的产品被人知道,被人用起来,这里边水很深,例如怎么写个软文?怎么在社交网络、微信、微博进行营销?怎么统计,分析,精准地定位?
这方面,2014 年以前的小米绝对是典范。雷军的 7 字诀:专注、极致、口碑、快。 黎万强的《参与感》 都是经典。
好的互联网运营人才奇缺,当然非常的吃香。对编程不感兴趣的同学,不妨看看这个方向。
说了这么多职业方向,你会发现,绝大多数都要求懂一定的技术,所以我其实想说的是:刚参加工作,不妨先从程序员开始,慢慢地再寻找自己感兴趣的方向。
⑺ 程序员工作要做什么
程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力
团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力
6、 团队组织管理能力
一般招工时需要提供基础程序员证书,要参加考试的:
[编辑本段]考试说明
1、 考试要求:
(1) 熟练掌握基本算法和数据结构,用C语言编制程序;
(2) 掌握数据结构、程序变速器和操作系统的基础知识;
(3) 了解软件工程、数据库、多媒体和网络的基础知识;
(4) 掌握数制、机内代码及其算术运算和逻辑运算的基础知识;
(5) 了解计算机的体系结构和主要部件的基础知识。
2、 通过本级水平考试的合格人员能按照软件设计说明书编制程序,具有相当于助理工程师
的实际工作能力和业务水平。
3、 本级水平考试范围包括两个模块:模块1——程序编制能力(考试时间为150分钟);模
块2——基础知识(程序员级)考试时间为120分钟)。题型为:单项选择题十多项选择题。
⑻ 程序员是做什么的他的具体工作是什么
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
(8)专家程序员的领域扩展阅读:
岗位分类:
世界上第一位程序员是英国着名诗人乔治·戈登·拜伦的女儿AdaLovelace,曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。
由于其在程序设计上的开创性工作,AdaLovelace被称为世界上第一位程序员。美国国防部开发的ADA语言就是为纪念这位世界上的第一位程序员而命名的。
计算机科学发展到今天(21世纪初期),程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类:
asp程序员、web前端开发程序员、delphi程序员、php程序员、powerbuilder程序员、C程序员、linux程序员、net程序员、vb程序员、java程序员、javascript程序员、C++程序员、Python程序员、ABAP程序员、android程序员、iOS程序员。
⑼ 程序设计员可以指某一领域的编程专家
某一程度上是可以指在其领域的编程专家,但是要在专业能力非常精深的情况下。
编程序,是程序员的一个基本技能,也是计算机算法实践与验证的基本手段。有句话说的好,巧妇难为无米之炊,这里的米是指我们要具备的领域的基本知识,才能在对应领域的平台上发挥自己的能力。
⑽ 计算机程序员主要是做什么工作的
程序员是从事程序开发、维护的专业人员。