导航:首页 > 程序命令 > 专家和程序员

专家和程序员

发布时间:2024-04-14 06:07:09

㈠ 普通的程序员和大神级的程序员有什么区别

你好,普通程序员只能做一些重复简单的事情,大神级程序员可以解决普通程序员解决不了的难题,还可以给普通程序员建框架。

㈡ 程序员是做什么的

程序员一般的工作是从事程序开发、程序维护。

程序员是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。具体工作职责如下:

1、负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。

2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。

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

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

5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。

6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。

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

8、负责对业务领域内的技术发展动态。

(2)专家和程序员扩展阅读:

职业要求

一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的。

大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位。还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。

尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。

一个程序员虽然没有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。

对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务技术,他的技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员在自己的领域中分级或者不断并排前进。

㈢ 程序员:新手到专家的5个阶段

程序员需要 不断的学习

不仅仅是学习 新技术 ,还包括应用的 问题域 ,用户的奇思妙想,同事的古怪习惯,行业的八卦 新闻 和项目演进的重要特征

我们必须学习学习再学习,持续不断的学习,然后把学习成果 应用到解决 日常遇到的一切新旧问题上

新手在该技能领域经验很少或者 根本没有经验 ,这里提到的经验,指的是通过实施这项技术促进了 思维的改变

举个反例:

可能一个开发人员声称拥有 十年经验 ,但实际上只是一年的经验 重复了九次 ,那么这不算是经验

引申问题:

一年有365天,你是过了365天!还是只过了一天,重复了365遍?

1.新手非常 在乎他们能否成功 ,没有太多经验指导他们,他们不知道自己的行为 是对是错

2.新手不是特别的想要学习,他们只是想实现一个 立杆见影 的目标

3.他们不知道 如何应对错误 ,所以出错的时候,他们非常容易 慌乱

以上是新手的明显特征,所以跨越新手有以下几个步骤

1. 渴望成功 ,但是不要太过于执着,急功近利往往是失败的前兆, 不急不躁 的心态最好

2.没有经验就去 寻找经验 ,一个 好的老师 和一些优质的资源能够迅速把有用的经验传递给你

在亲身累计经验之前, 逆向思考,寻找经验才是核心和紧急目标

3.进行 能力测试, 可以利用第三方的题库和测试流程,标准而大众化的测试,同时也需要 自我测评 ,比如完成一个项目,自己统计整体 时间 ,自己撰写 时间轴日志 ,自己判断自己的 词汇量 和 熟练度 等

自我测评是第三方无法完成的 ,这点尤其重要,简单来说,也可以称为 自我认知 ,并且把数据 可视化

4. 兴趣是最好的老师 ,没有兴趣也是可以培养的

想要一个立竿见影的目标其实并没有错,新手恰恰需要 酷炫有趣有用 的目标才培养自己的兴趣,一个 完整的小案例 能够把所学的知识点 融会贯通

新手要做的,是一边需要沉下心来学习 零碎的知识点 ,一边整合知识点做出一个完整的效果案例,两相结合才能迅速进步

反之,一味的学习零散的知识点不去做案例,学的太多也只是 空背概念而已 ,一味的追求项目效果而不去深入内容,那么 永远不会进步 ,碰到一点改动就毫无办法了

5.不知道如何应对错误没关系,心态要冷静,并且及时的把 错误整理下来 ,学会处理错误的方法尤为重要,比如 如何正确提问 ,比如 高效引擎检索 ,比如官方帮助手册等,遇到错误并不可怕, 可怕的是找到解决错误的办法

高级新手能够多多少少摆脱 固定的规则

1.他们可以 独自尝试任务 ,但仍难以解决问题

2.他们想要快速的 获取信息 例如,当学习一门新语言或者API时,你可能会感觉到这点,你发现自己会快速 浏览文档 以寻找一个方法或参数列表,你不想在此寻根究底,或者 重温一遍基础知识

3.高级新手能够根据 过往的经验 ,逐步在正确的情境中采纳建议,但比较吃力,同时,他们能够形成一些总体原则,但不是全貌, 他们没有全面的理解,而且的确不想有

以上是高级新手的明显特征,所以跨越高级新手有以下几个步骤

1. 思考难以解决问题的原因所在 ,是哪个地方限制了你解决问题的能力?

这一点与你个人的现状有关,你正在学习的技术栈,你所做的项目,你的综合 能力和资源

简单的说 具体问题具体讨论 ,你必须对问题有深刻的认知并且 对自己有足够的了解

2.在这个追 求效率的时代 ,要去思考和学习底层原理,是一件很难的事情,因为 时间不允许

事实上绝大多数事物的不成功,就是 没有足够的时间

在时间的维度上,再无知的新手也有一个宽泛的坐标,那就是 寻找一个参数方法的时间和解析一个参数方式的时间都大致明确的

比如找到并使用某个参数方法大概需要 2分钟-10分钟 ,正常情况是5分钟,而解析一个方法原理,需要的时间是不确定的,确定的是 大于等于10分钟 ,可能是30分钟,也可能是几个小时,这 与效率不符 ,从利益上看也不划算

寻根究底是需要的,但它的 重要等级 排列在熟练了解全局内容之后

重温知识点也是如此

3.高级新手在一个熟练的框架里有所经验,有所作为,但是换了一个框架, 复用原来的知识 ,就显得生涩了

在学习的过程中,要不断的 举一反三 ,一个例子刻意练习三遍以上,一个例子做出不同的三种效果,一个例子应用在三种不同的情境等等等,学会 触类旁通

在第三阶段,从业者现在能够 建立问题的概念模型 ,并 有效 的使用它们

他们可以独立的解决自己遇到的问题, 并开始考虑如何解决新的问题 ——那些他们之前没有遇到的问题

你可能会看到,处在这一水平的人通常被认为有 主动性 和足智多谋

他们往往在团队中发挥领导作用(无论是否有正式的头衔),他们是 团队里的好人 ,既可以 指导新手 ,也不会经常骚扰专家

以上是胜任者的明显特征,所以跨越胜任者有以下几个步骤

1. 教是最好的学 ,当你可以胜任工作,可以独自解决大部分问题,已经比较 完善 了

这个时候要追求 知识的深度 ,想要进一步提升,就需要整合以前所有学习的内容,资源以及学习方法,在底层原理上,还有很多需要融汇贯通的地方, 通过教授新人和他 人,能够完善自己的知识体系,找到自己的薄弱点,以 另一个层面的角度来重新调整视野

2.学习与之 相关的领域, 这些内容你不一定会用到,或者不是在你的职责范围之内,但是学习之后会让你的本职做的更好, 让你的知识更加全面

前端胜任之后,可以适当学习后端,也可以适当学习UI,往 全栈的方向 ,学了python之后,也可以学学java, 了解不同语言之间的优点和缺点 ,运用不同的内容适当的解决问题

对比思维,左右辩证 ,看似把时间花费在精通之外,实际上效果一样会 反馈到核心事物上

广度和深度是一个 选择题 ,在时间上,只能 二选一 ,适度就行

精通者有足够的经验, 他们知道下一步会发生什么 ,如果没有发生又需要什么

他们非常明确哪些计划需要取消,而 应该采取什么行动

处于精通者的人更像是 初级专家 ,而不是高级胜任者

1.精通者一定是 身经百战 ,给一个项目,他能在一开始就判断出这个项目需要多长时间,分为那几个步骤,需要什么人员

从一开始就是 了然于胸 ,排除可能出现的错误,剩下的只是按部就班的走正确的流程就好,达到 高效,高质量,少错误的效果

这个阶段的人,已然有了质的变化,想要如何往上跃迁,还需要另外的 质的改变

终于我们来到第5个也是 最后一个阶段 :专家

专家是各个领域知识和信息的 主要来源

他们总是不断的寻找 更好的方法 和方式去做事

他们有丰富的经验,可以在恰当的情境中选取和应用这些经验

他们 着书,写文章,做巡回演讲 ,他们是当代的 巫师

思考:

1.自我测评,你处在哪一个阶段?

2.如何做才能提升到下一个阶段?

3.针对你的行业,细分阶级,比如十个阶级?哪十个阶级?

㈣ 为什么很多牛逼的程序员和计算机专家都是美国人

因为发源地在人家那边,用的是人家的语言。现在也有汉字写的程序,叫易语言

㈤ 程序员,如何少走弯路,成为一名技术专家或者架构师

#1 专业技能

@首先当然基础知识要扎实,一些经典的专业书籍一定要看。比如,设计模式,算法,数据结构,所在领域的编程语言的专业书籍等.关于不同的能力阶段,需要读取什么类型的书籍,请参考ThoughtWorks(中国)程序员读书雷达,每年都有更新。
@作为架构师,review别人的代码并给出合理的建议是基本功,比如变量或者方法命名的规则;所以代码大全,重构,改善既有代码的设计,Clean code 等等肯定需要看。
@ 对于某一个技术领域或者业务领域,一定要有一门技术是精通的,因为这样你才能体会到以后遇到自己不懂的技术的时候,如何能够快速成为这一方面的行家。
@ 平常有时间一定要多多进行代码的训练,也就是Martin Flower常说的Kata练习,这个比喻来自于跆拳道,跆拳道选手一般每天都会找一些基本的招式,进行反复的练习,从而训练肌肉的条件发射,那么对于我们程序员来说,一定也要进行持续的编程训练,比如上面提到的那位同事,给的建议是,虽然把大部分时间花在了沟通和协调上面,没有机会写代码,但是自己一定要利用业余时间,自己找一些例子来联系,比如,参与开源项目,或者到网上去搜索一些大师的经典Kata联系的例子;或者看工作里面是否有一些小工具,是否能够提升自己的沟通效率,当然已经天天写代码的童鞋们除外。请参考我转发的另外一篇文章和另外一篇介绍能在线练习Kata code的文章.
@ 最好能够在精通一门语言的基础之上,学习其他的语言,从而站在一个更高的角度,对于程序语言有一个更高层次的抽象认识,比如,学了Java之后,可以学学Ruby,Groovy,C#等等,其实语言之间都是相互借鉴的,比如Lamba表达式,连java也慢慢的向函数式编程方向靠拢。
@ 如果有时间,一定要自己维护一个博客,既然选择了架构师,就决定了自己以后不仅仅是一个技术专家,同时也要成为一个布道师,为企业组织或者社会上的其他IT同行们贡献自己的一些微薄之力。
@ 多参加一些社会上举办的软件专业会议或者活动,了解当前比较流行的技术和框架。
@ 这条不提倡,我以前有一个同事,几乎每年都要更新简历1~2次,目的不是真正的换工作,而是通过面试得到当前市场上大部分公司正在使用什么技术和框架。对于这条,请慎用!!!!
@如果有结对编程的机会一定要好好珍惜,特别是和高手大拿一起结对的时候。
@如果大家上面都已经做的非常的好了,这个时候可以看看架构设计方面的书籍,比如企业应用架构模式,架构之美等等。
@ 去51Job上搜索架构师这个职位标签,看看不同行业的企业对于架构师的技术要求和标准,然后结合自己当前所处的行业和你自己的技术特点,比如擅长前段或者后端,有选择性的学习一些自己感兴趣的技术或者方法。
@ 关于常用的网站,没有定论,笔者主要是根据搜索的结果去发现适合自己的网站,所以需要读者掌握一定的搜索的技巧,笔者一般喜欢用英文搜索,这样的话资料比较全也比较新;如果下载电子书的话或者查看博客的话 一般会首选CSDN;如果是解决工作中的问题的话,在StackOverFlow上面被解答的概率是最大的,此外平常自己也需要去积累一些自己感兴趣的技术的人气比较旺的网站列表,比如一般和Window相关的就是MSDN;如果对Java入门比较感兴趣,可以看看这个网站。对于一些开源的框架,一般都会有想对应的社区,google一搜索,很快就能找到。另外一个德国人写的博客的非常的精致,如果对Eclipse插件开发特别感兴趣的朋友们可以去参考它。
@大家如果时间和精炼允许,最好能在Github开源和分享自己平常写的代码。这样一方面可以熟悉git用法,另外一方面也可以把自己平常练手的代码免费保存,何乐而不为呢?
@如果大家平常遇到什么问题,可以到StackOverFlow上面去寻找答案;当然,如果你能自己注册一个StackOverFlow账号那是最好不过的,这样不但可以提问,还可以帮助别人,同时上面还有很多工作签证的工作机会。
#2 软技能(现代社会,一个合格科学家不仅仅是某一个行业的技术专家同时也是一名专业的社会活动家)

@遇到问题,一定要多想,遇到一个问题,如果解决了,就要反思为什么能够解决,如果以后遇到类似的问题,
如何更快速的解决。
@英语的重要性,不言而喻,因为现在很多新技术的框架的中文文档非常的少,即使翻译成中文,也是二手的了(国内自己的开发的一些开源框架除外)
@ 有时间的话,看一些沟通方面的书籍,如果有参与沟通的机会的时候,一定要想如何把沟通做的更好更舒畅。
@ 如果有机会的话,可以参加PMP的考试,关于如何备考PMP,请大家参阅另外一篇文章:如何备考PMP,但是如果不想参加的话,也没有关系,至少要涉猎到项目管理方面的书籍,否则以后如果成为架构师之后,客户或者管理者给你说一些项目管理上一些专业术语时,到时候就会一头雾水。
@架构师其实从某种意义上就是一种角色,而不是一种职位。一定要时时刻刻保持空杯心态。
@一定要有一颗保持饥渴学习和耐得住寂寞的赤子之心。
@当前的技术节凑是非常快的,特别是结婚以后又有小孩了。一定要好好的利用自己碎片时间,对于一些技术,当时读不懂不要紧,但是一定要记住和了解其关键词,这个主要是为了拓宽自己的视野。比如,当前你想自己开发一个系统,结果已经有一个开源框架实现了,而且还很稳定,这个时候,自己就没有必要重复发明轮子了。
@与不同的技术、编程语言、设计模式和结构等(甚至是它并没有在日常中给予你直接的帮助)打交道。你永远都不知道这些知识是否会在未来派上用场,但是对你绝对是有益无害。
@在工作中,能够帮助到别人解决技术难题,一定要尽量全力以赴,因为这不但可以赢得同事的好感和口碑,同时也能增长你解决问题的经验和提高你的技术思维能力
@ 一定要掌控好自己的时间,对工作没有帮助的会议,能不参加尽量不要参加,当然,企业安全,公司规章制度如果是强制性的,该参加还得参加,但是如果没有工作效率和扯皮的会议,尽量避免参加。
@程序员要耐得住寂寞,要在自己的领域深挖,不能看啥火,就学啥,一定要有自己的想法和判定,如果决定不了,可以向资深的同事或者朋友沟通。
@尽量参与到项目中的编码,因为架构师不能与项目脱离。
@ 如果有机会可以锻炼一下自己在大众环境下的演讲和PTT的能力。
@有机会多做知识分享,因为你一旦分享了知识,你就会对这门技术有深刻的印象,同时也能树立在同事中的良好的技术形象,从而赢得更多的专家影响力而不是职位影响力。
上面只是我当前能想到的,知易行难,知道了上面的一些经验,并不代表年轻程序员们就能马上成功,毕竟这需要一个凤凰涅槃和实践的过程,但是肯定能帮助有志于于此的年轻程序员们少走一些弯路,限于笔者水平,如有总结不恰当或者不到位的地方,还望批评指正。

㈥ 程序员会跟传统技术工程师一样,越老越吃香吗

随着大数据的爆发,中国IT业内环境也将面临新一轮的洗牌,不仅是企业,更是从业人员转型可遇而不可求的机遇。

中关村,被称为中国硅谷,此间程序员比比皆是。然而一眼望去,大多数一线程序员的年龄均在20至30岁左右,40、50岁的人在这个行业内颇为罕见。相较于国外五六十岁仍奋斗在一线岗位的老程序员,国内为什么会出现这种现象?

国内四五十岁的程序员去哪儿了?

造成这种现象的原因是多方面的。首先,程序员的工作大致可划分为两类:开发和研发,相对应的岗位则是开发工程师和研发工程师。开发工程师直接为产品贡献代码,以达成产品功能为主要目的,有比较多重复性工作。而研发工程师则更注重研究工作,任务目标一般没有前车之鉴,多数情况下要靠自身研究创新。

在国内,大多数大型互联网公司的程序员被称作研发工程师,但实际情况是国内几乎没有研发项目,只能称之为开发。开发程序员的工作大多是重复性劳动,容易产生疲惫感,薪资也许在工作2-5年内能达到一个峰值,但较难提升,导致很多程序员最终放弃写代码,转行做了其他。

此外,程序员多处于长时间加班、熬夜和超负荷的工作状态,而年纪大的程序员往往在体力上疏于年轻人。若想继续在IT行业内打拼的程序员便只能追求成为更高技术水平的架构师或转至管理层这两方面寻求职业生涯的突破。一旦转型失败,也只能黯然退出这个为之奉献青春的行业了。一个行业内没有老员工,这其实是病态的。雷军曾在自己的一篇文章中提到,96年时美国主力工程师以30、40岁为主,国内开发的主力是35岁以下的年轻人,近20年过去,情况仍然没有转变。

但是越来越多的IT从业者发现,大数据技术来临之后也许这个现象就能有所改变。

大数据时代,程序员的春天?

首先,大数据从事的是开源工作,更倾向于“研发”,能够重新激起程序员研发程序的热情,职业生涯有了新的追求,这意味着大数据会成为值得程序员长期奋斗不断突破的工作;其次,由于大数据属新兴领域,专业人才比较缺乏,高端人才更是企业争抢的对象。薪资上升容易,职业发展潜力巨大。

《华尔街日报》称:数据已经成为一种新的经济资产类别,就像黄金和货币一样!鉴于大数据巨大的商业价值,大数据专家在企业非常受重视,阿里巴巴集团就已设立首席数据官岗位(ChiefDataOfficer),直接向集团CEO汇报工作。

在大数据行业内生存的时间越久,其经验也会越得到肯定,这也是大多数资深IT人士猜测大数据或将带来50、60岁的“老”专家的原因。面对如此光明而诱人的前景,很多IT从业者试图向大数据转型。

随着大数据的爆发,中国IT业内环境也将面临新一轮的洗牌,不仅是企业,更是从业人员转型可遇而不可求的机遇。如果将IT人士统一比作一条船上的海员,大数据就是最大的浪潮,借浪潮之势而为之,可成功从IT程序员转型成为大数据专家。

世界正从IT时代走向DT时代,未来是大数据的时代,企业最有价值的资产就是数据,你所拥有的数据越多你就越有说话权,因此未来企业里最牛逼的员工应该是和数据有关的职位,比如CDO(首席数据官)、数据科学家、数据分析师、数据工程师等,这些职位或将成为程序员又一个美好的出路。

首先我们来理解一下这几个职位。

CDO主要负责利用数据推进企业与社会的对话,挖掘企业海量数据中潜在的价值,并运营和管理好数据,为企业战略、营销和管理决策提供参考,CDO的能力不仅仅是大数据领域的范畴,他需要同时具有IT、市场营销、运营管理等综合素质。

“数据科学家是指运用统计分析、机器学习、分布式处理等技术,从大数据中提取出对业务有意义的信息,以简单易懂的形式传达给决策者,并创造出新的数据运用服务的人才。

数据分析师能洞悉一个方程式的商业意义,他们知道如何提出正确的问题,非常善于数据分析,数据可视化和数据呈现。

数据工程师是能运行基本数据模型,充分了解文件系统,分布式计算与大型数据库,他们是能提供可建模数据所需平台的人。“【以上三个职位的定义来源于互联网】

如何转型为大数据工程师?

那么,程序员如何转型成为优秀的大数据工程师呢?广州中星信息老师认为,主要是从两者所要求的能力上来分析。首先,大数据工程师是需要有计算机编码能力的,因为面对海量的非结构化数据,你要从中挖掘出有价值的东西,需要设计算法与编写程序去实现,而程序员最牛的能力就是编写简洁高效的代码,去实现人们许许多多美妙的梦想,编码能力越强的程序员越有可能成为优秀的大数据工程师。

其次,大数据工程师需要统计学与应用数学相关的能力背景,数据挖掘与分析是需要设计数据模型和算法的,应该说程序员是有这个基础的,我见过最牛逼的程序员一般都不是科班出来的,通常是数学专业,因此提高算法设计能力是程序员转型大数据工程师的关键因素。

第三,大数据工程师需要具备某一行业的业务知识,大数据的挖掘与分析最终都要服务于市场,并对产品的销售与企业的发展起到重大推动作用,那才是有价值的大数据分析,因此大数据是不能脱离市场的,它必须与某一行业的应用想结合起来才容易产生更大的价值,通常程序员都是在做某一行业的软件,经过多年的学习与磨练,对某一行业的业务知识是有积累的,因此从来这一点上来看,程序员是很容易过渡到大数据工程师的。

当然,以上都只是粗略的分析,真正要成为一名优秀的大数据工程师,程序员还需要更多的学习与努力。

在美国,大数据工程师平均年薪达17.5万美元,在中国顶尖的互联网公司里,大数据工程师的薪酬比同级别的其他职位高出30%以上。DT时代来得太突然了,国内发展势头很猛,而大数据相关的人才却非常地有限,在未来若干年内都会是供不应求的状况。

㈦ 有没有对程序员/工程师比较好听的称呼

对程序员的称呼,一般就是软件开发工程师,it工程师,这算是比较正式的称呼。其他的程序都是比较接地气的比如程序猿,码农等等。

㈧ 程序设计员可以指某一领域的编程专家

某一程度上是可以指在其领域的编程专家,但是要在专业能力非常精深的情况下。
编程序,是程序员的一个基本技能,也是计算机算法实践与验证的基本手段。有句话说的好,巧妇难为无米之炊,这里的米是指我们要具备的领域的基本知识,才能在对应领域的平台上发挥自己的能力。

阅读全文

与专家和程序员相关的资料

热点内容
周转材料核算法 浏览:354
学nodejs还是php好 浏览:275
电信营业厅app怎么买q币 浏览:917
linux退出登陆 浏览:534
python查找相似图片的代码 浏览:334
赵丽pdf 浏览:659
如何苹果手机app不要自动更新 浏览:977
pythonflask路线教程 浏览:256
程序员职业有哪些好处 浏览:711
大都会软件app如何扫码 浏览:436
单片机0x38 浏览:756
程序员浪漫工作 浏览:329
php几分钟前 浏览:308
项目编译及运行 浏览:894
程序员的基本功 浏览:524
遗传算法排班 浏览:291
如何加密金融安全网 浏览:32
家里的wifi太卡了怎么样自己加密 浏览:235
华为链路聚合命令 浏览:428
apache自动运行php 浏览:521