程序员是什么

程序员是什么,第1张

计算机程序员的工作内容有:

1、负责软件项目的详细设计、编码和内部测试的组织实施;

2、协助项目经理和相关人员同客户进行沟通;

3、参与需求调研、项目可行性分析、技术可行性分析和需求分析;

4、熟练掌握交付软件部开发的软件项目的相关软件技术;

5、负责相关技术文档的拟订。

计算机程序员的招聘条件是:1、21至28周岁;2、具备良好的沟通合作技巧和团队合作能力;3、能独立承担计算机后台程序的开发工作;4、品行端正。

计算机程序员的工作内容有:

1、负责软件项目的详细设计、编码和内部测试的组织实施;

2、协助项目经理和相关人员同客户进行沟通;

3、参与需求调研、项目可行性分析、技术可行性分析和需求分析;

4、熟练掌握交付软件部开发的软件项目的相关软件技术;

5、负责相关技术文档的拟订。

计算机程序员的招聘条件是:1、21至28周岁;2、具备良好的沟通合作技巧和团队合作能力;3、能独立承担计算机后台程序的开发工作;4、品行端正。

现在软件和互联网大概有哪些方向?程序员的职业方向又有那些?

首先是需求从哪里来

客户的项目

如果做的是客户的项目,需求当然是从客户那里来的。客户绝大多数是软件开发的小白,但我也见过客户是优秀的软件人才,他们很难清楚地描述自己真正的业务要求,这时候就需要有个人隆重出场了:业务分析师。对于大公司,业务分析师是专职的,对于小公司,项目经理或者开发骨干也就硬着头皮上了。业务分析师需要把需求理理清楚,交给后面的架构人员做设计。

业务分析师如果在某个行业干久了,就会变成业务专家,例如你把国内各大银行的核心系统项目都做了个遍,那你对银行业务的熟悉程度甚至可能超过银行的特定人员,这时候你就超级值钱了,不仅仅能分析业务,更能够帮助银行优化业务,你说牛不牛?

问:业务分析师需要懂技术吗?

答:最好是懂一点,你分析出来的东西是要程序员们实现的,如果不考虑现有的技术,一味地迎合用户,肯定会被程序员们骂死。

如果你是由程序员成长起来的业务专家,技术精湛,那就坐着数钱玩吧。

公司的产品

如果你做的是产品,例如微信、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,非常专业、精美,完全是可以直接出版的水准。我把它 copy 下来,自己都想山寨一个,但照葫芦画瓢都做不出来。

项目管理

项目已经开始了,业务分析师、架构师、开发、测试等一群人如饿狼扑食,势必要把项目撕个粉碎。可是这么多人怎么协作? 如何管理?进度能不能按要求完成?这就需要项目经理出马了。

项目经理,说白了就是带着大家做项目,主要和人打交道,需要协调各个方面的关系,保证项目的进展顺利。

问:项目经理需要懂技术吗?

答:当然需要,最好是开发出身,要不然你就听不懂那帮程序员在说什么,只能在表面漂浮着,无法深入项目,别人也就不服你,团队肯定是带不好的。

运营

如果你是在开发自己的产品,开发完成以后,马上就会遇到一个问题,怎么推广?

在互联网时代,世界是公平的,竞争异常激烈,一个好的软件、App 或者网站,如果缺乏运营,你的技术再好也不行。

运营其实就是想方设法让你的产品被人知道,被人用起来,这里边水很深,例如怎么写个软文?怎么在社交网络、微信、微博进行营销?怎么统计,分析,精准地定位?

这方面,2014 年以前的小米绝对是典范。雷军的 7 字诀:专注、极致、口碑、快。 黎万强的《参与感》 都是经典。

好的互联网运营人才奇缺,当然非常的吃香。对编程不感兴趣的同学,不妨看看这个方向。

说了这么多职业方向,你会发现,绝大多数都要求懂一定的技术,所以我其实想说的是:刚参加工作,不妨先从程序员开始,慢慢地再寻找自己感兴趣的方向。

程序员一枚,从周围同事的情况来看,程序员这行对专业的要求没有想象中那么高,但是也有迹可循。

一:软件工程 / 计算机科学与技术

这两个专业几乎是为程序员量身定做的,在大学时代就能接触到非常多如编程语言、计算机原理(计算机组成原理、 *** 作系统、计算机网络等)、数据结构算法等与编程密切相关的课程,而且大多为必修课。这些课程学好了以后,大多数同学都还是可以收获一份比较满意的程序员工作的。

                                 

二:网络工程 / 信息安全

这些专业也属于计算机大类目下,对比软件工程等会更侧重在网络安全上,当然编程语言、算法、计算机基础也都是这些专业比较重要的课程,对于应届生来说这些都是成功应聘程序员岗位重要的基础知识。

三:物联网 / 电子与计算机工程

这部分专业在大学期间学习的内容不局限在软件本身,除了常见的C汇编语言外,也有很多电子信息硬件等相关知识。在找工作时候,这些硬件知识对应的原理如果掌握的较好,也会起到一定帮助;当然,这也建议你在大学期间花费更多的经历去了解算法和数据结构等软件知识,能够起到不小帮助。

                                   

四:人工智能 / 区块链

这些都是新兴的专业,侧重在包括AI、区块链等新一代互联网技术上,除了上面提到的基础知识外,这些特定的技术在面对对口岗位(如策略算法工程师等)有非常大的竞争优势。

总结一下,对口程序员的专业主要集中在大类“0809计算机类”与“0807电子信息类”下,可以多关注这些专业内容。当然,我的同事中也不乏英语、物理、数学等专业毕业的,其实无论在大学选择了什么专业,只要能够定向的学习计算机语言,学些基础知识,都还是有机会成为一名合格的程序员的。

1技术+技术(深入阶段)

这算是一条纯技术路线,具体又可以分3个方向:

技术(2年以上编程经验)+技术(软件测试,或系统分析师,或系统架构师)

有软件开发的工作经验,再加软件测试,比刚开始就进入软件测试行业的人要更具竞争优势。软件测试工作经验越多越好,可以干到退休,不用担心年龄问题。

如果选择“系统分析师,系统架构师”,则首先要打好扎实的“理论基础”(可以通过考证书,比如参加软考),以保证自己“后劲力十足”,这样等有了4,5年的工作经验后,才有可能能冲上这个高端领域。平时工作中要不断的锻炼自己的“发散思维”,培养善于发现业务需求的“眼光”。

2技术+管理 :比如 项目经理。

像雷军说的那样:“程序员象木工一样,熟能生巧。程序员必须写足够代码量(8万行以上)的程序,才会有感觉,这是一个苦力活,没有任何捷径可走。”项目经理大多是从“优秀”的程序员里挑选出来,想走这条路,平时就要疯狂的编码,迅速累积丰富的编程经验,然后再补充一些管理方面的知识。(本人打算走这条路,呵呵)

3技术+销售:比如 技术销售工程师,技术支持工程师。

这类工作要有一定的技术背景(入门级也可以),具备较好的语言表达,沟通能力。工作比较轻松,月薪待遇主要看个人销售业绩等,个人收入差别可能比较大。

4当培训老师

如果你“乐于分享”工作经验,传授知识,或者觉得自己年龄比较大,精力不够充沛,且往上升又比较困难的话,可以选择去培训机构当老师,就目前而言,当老师工作轻松,待遇也不错。

5创业

程序员创业除了需要有商业头脑外,更需要具有较高的“胆商”(人有5商,包括智商情商),即有没有胆量去做别人不敢做的事情(抓住商机)。

以上就是关于程序员是什么全部的内容,包括:程序员是什么、计算机程序员主要是做什么工作的、程序员最好的职业方向是哪些等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9321858.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存