0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

程序员如何定义

工程师人生 来源:工程师吴畏 2018-12-18 14:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

起因

先声明,只是谈自己看法,和大家讨论一下,没有别的意思

当了几年的程序员了,一直都在想一个问题,什么是程序员,程序员应该做好那些事情,什么样的程序员是有素质的程序员?什么样的程序员算是负责的程序员呢?

工作当中我发现有不少员工是为了工作而工作,怎么回事呢?他们只是把我分配的工作分毫不差的完成,但从不问为什么?有些程序员是喜欢随便改变需求,自己感觉不错就得改,改了还不做报告,最后上交项目时才发现和需求不一样?于是傻了。

我根据自己的经验把程序员分为以下几种

单纯没有脑子的

这种程序员是最让经理气的一种,因为大多是刚入门的,或是学生刚走出校门,不喜欢问,也不懂得分析,只是一味的很听话,为什么说他们单纯呢?那是因为他们从来不会问,不会说也没有自己的想法,你让干什么就干什么,让自己怎么干就怎么干,听上去感觉特好的员工,很听话,如果只是这样就好了,可怕的是他们没有脑子,比如你说让他完成一个增加的功能吧,他们很听话的给你做出来,但只是一个增加的功能,他根本不会在增加功能之后再给你处理一下刷新数据的问题,或是做一些必要的验证,更说不上代码的扩展性,那都是见不着边的事,不可能。

你说让做一个查询功能,他完全有可能给你做出来一个查询所有的功能,不会管你要不要根据时间,要不要分页,或是其它的方式的查询,人家还可有理,会告诉你,你需求上没说啊,只说要有一个查询的功能?然后你无语。

有脑子先斩后凑的

这类程序员大致是工作有一年或是两年工作经验的人,自认为自己有些经验了,做了几个项目,感觉自己NB的不得了了。分配一个功能总有一些自己的想法,其实他自己不知道这些想法还不成熟,只是个人主观意向,你说让人家做一个导航条吧,你清楚的告诉他是在头部用的,要直排下拉类型的。

好了得到需求了,他根本不管你为什么要这样做,在做的过程中,他发现自己以前做一些项目里有导航条的,而且很好看,他们想,经理是怎么想的,设计的还不如我设计的好看,我给他改一下说不定还能得到他的奖励,于是自己把直排下拉的导航改成了,直排出面板那种的,因为好看,而且还不告诉经理,想给大家一个惊喜,谁知道经理一看,说怎么改需求了,客户不要这样的,然后他就跟你讲理,说这样的好看,而且什么扩展性还好,技术先进,流行,然后你会很无耐的告诉他,你做的确实很好看,但是客户不付钱怎么办,于是没办法在你的“强逼”之下他不得不改,于是你对他的工作很不满意,首先是这个人不好管,老自己做主,不把你当回事,怎么办,好点的经理会慢慢引导一下,脾气大的经理会直接扔出两字“滚蛋”

我们来分析一下他的心理,第一种可能就是感觉自己做了很多项目,有一点自大,目中无人的心态,看不起别人设计的东西,总以为自己的技术和代码很棒了,因为自己在程序界摸爬滚打一两年了,也算是有所见识了。但他们确不明白,现在的自己正像当前的曹仁学曹操一样,只是学得其形而为尽其神。大部分的软件,网站,不能只看网站本身的价值,成功不成功,不是自己说了算,也不是经理说了算,还得看客户,一句话客户喜欢的就是好东西,客户不懂技术啊,你写的再好,客户不懂哦,所以一定不要乱改需求,软件要和市场结合才能真正体现出它的价值,做让大家喜欢的软件,而不是单纯的技术堆积。

第二种可能就是,自己懒,因为两年内也写了不少代码,手上有很多的源代码,直接找个好点的能上就行了,为什么要自己写啊,而且好看还快速。

第三种可能是自己实现不了,而又不想学习,感觉浪费时间,所以直接改动一下得了。感觉自己如果写的话,写好了还好说,写不好,耽误时间,一个导航几天能不完,会很丢人的。于是要加速。

这类程序员有脑子,但是不听话,管理是问题,一定要好好的引导,也希望在这个阶段的朋友们注意了。加强学习,认真做项目,让自己正规化。不要入魔道了。多看看资深的程序员的代码,想一下经理为什么要这样做,听听他的理由,在改需求的同时一定要写报告,或是直接找经商量一下,不要自己做主。

有脑子,很听话,很认真,但基础不好,代码有局限性

这类型的程序员大多是工作一到两年的程序员,但和上面的不同,他们很有脑子思路很好,而且很听经理的话,做东西很认真,做不完了自己会加班写,学新的东西也很快,但是有一点不好的是,他们有很多理由说自己没时间学习基础,这些人一般是在学校没有学好,出来之后后悔了,学起来很认真,由于学了些新的知识,起点高,看不起基础的东西,从不想着没事去看看编程基础,看看算法,看看数据结构,总是以为我都能做出这样的项目了,还看那些小东西会很丢人的,于是在公司从不看回家更不想看,时间长了,技术会有很大的局限性,对某一块技术很不错,但是对其它技术不怎么好,于是在接到一个项目时,总喜欢使用自己现有的,会的技术去实现,转了一圈又一圈总算是把东西写出来了,而且还是加班完成了,但是代码的性能,稳定性,和效率上差的很远,扩展性也谈不上,时间一长,项目一多起来,就会出现多次反工,因为需求是会不断变化的,于是自己的代码也要变化,感觉很是理所当然,一个项目没事,接手的多了就麻烦了,新项目刚到手,老项目就出问题了,不是这里有点小毛病就是那个功能要升级,于是新项目放下,着手改老项目,手上能有三四个项目时,就会忙个不停,改的多了,没办法再改了就得重新设计,或是直接说这个功能实现不了。

其实在这个阶段的朋友很有潜力的,只要花点心思补习一下自己的技术缺陷,多看看高手的代码,写之前想一下,设计一下,自然事半功倍,千万不要有眼高手低的心态。

真正的高手Nb人物是怎么工作的------------程序员

1.不随便改变需求

他们不会主观的改变一些东西,不管是对还是错,如果要改的话他们会在开会时,或是私下跟你提出来,通过后再改,否则会按需求办事

2.不写没有思想的代码

在写功能时会加上一些人性化的功能,比果加个小图标,加一些验证,处理一些操作习惯,加加快捷键,处理好Tab顺序,等这些,不用你说,他们自己会处理好。

3.不写没有远见的代码

他们在写代码时会想,不会是单纯的实现功能,他要想,如果别人也要用这个方法怎么办,以后要改的时候怎么办,代码这样写是不是合理,是不是会影响性能,然后才会”吝啬“的出手。

4.不写不负责任的代码

我们写代码一是为客户用,二是方便其他人看,不单单是自己维护,要对自己的代码负责,从自己手上出去的代码代表的就是自己的脸,代码不好,人家会“打脸”的。他们不愿意挨打所以他们负责。

高手在编程效率方面可能并不比普通程序员快多少,因为他们会吝啬自己敲下的每一行代码。这种“吝啬”有两方面的含义,一是项目的架构性和整体性考量,二是从性能和优化的角度进行Coding。其实,这里所映射的是一个开发者的技术视野。

有多位技术专家强调项目执行时的全局观。面对一个项目,即使是团队中的普通一员,也要力求从项目整体架构的角度审视开发需求,对各个模块、接口通信做最优化的预想和配置。这样可以从全局审视整个项目的技术布局,预判可能出现的问题。

在确定了整体之后,落实到具体的模块实现,每一行代码不但有上下文的考量与规划,还要具备模块间的整体布局。这是模块内的技术视野,比如接口的定义、注释的可读性、代码的执行效率等。当你写下一行代码前,要考虑它是否会对整个系统造成影响,是否方便其他接口进行调用,这些都是一个开发高手的“技术潜意识”。

据一些经常带领入门级开发者的技术经理介绍,多数人只考虑自己所负责的模块进行开发,缺乏一个全局性的技术视野和对代码性能苛刻的态度,这样虽然能按交付日期完成项目,却对项目质量和开发者的自我提高有很大阻碍。

开发高手是代码阅读者。大多数技术专家的代码阅读量是普通程序员的百倍,代码阅读的时间比写代码的时间要长得多。

多数程序员只把程序开发当成一份工作,他们在乎平台的前景、语言的优劣、报酬的高低;他们不愿为一个技术点反复钻研,不愿为一个bug精心测试,不愿为自身技术水平的提高多花时间。而开发高手往往具有单纯的技术梦想,愿意为技术付出自己全部的时间。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 程序员
    +关注

    关注

    4

    文章

    955

    浏览量

    30783
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    汇编程序段的定义介绍

    已经由操作系统自动设置为代码段的段基址,数据段的段基址则需要程序员手动装入DS中; ASSUME伪指令用于指定每一个数据段所对应的段基址寄存器。如上面的代码中CODE段的段基址寄存器为CS,DATA段
    发表于 11-21 08:19

    软通国际亮相2025沙中开源与AI科技峰会

    2025年11月11日,由沙特程序员协会(parmg)主办的"2025沙中开源与AI科技峰会"在利雅得盛大启幕。
    的头像 发表于 11-14 17:45 1278次阅读

    奔赴热AI,码力全开!Talkweb House@1024程序员日系列活动圆满收官

    1024程序员日”系列活动至此划上了一个圆满句号。本届1024程序员节以“AI构建世界,智能引领未来”为主题,广邀技术大咖、产业领袖、企业代表与全球开发者齐聚星城
    的头像 发表于 10-27 18:59 410次阅读
    奔赴热AI,码力全开!Talkweb House@1024<b class='flag-5'>程序员</b>日系列活动圆满收官

    开鸿智谷“以赛促学、以赛选才”|1024程序员节暨开源鸿蒙构建大会圆满落幕!

    10月24日,由开鸿智谷联合主办的长沙1024程序员节暨开源鸿蒙构建大会在长沙圆满落幕。本次活动以“湘聚长沙,共赴热AI”为主题,通过技术分享与实战竞赛相结合的方式,着力培养“开源鸿蒙+AI”领域
    的头像 发表于 10-27 17:58 465次阅读
    开鸿智谷“以赛促学、以赛选才”|1024<b class='flag-5'>程序员</b>节暨开源鸿蒙构建大会圆满落幕!

    蜂鸟自定义指令软件讲解和内联汇编(一)

    ((unsigned long*)col_sum);} 通过使用“输出操作数”和“输入操作数”部分的指定,可以 将 C/C++中的变量或者表达式映射到汇编指令中充当操作数。在此过程中,程序员无须关心真正执行的汇编指令
    发表于 10-24 10:51

    程序设计与数据结构

    的地址)出发,采用推导的方式,深入浅出的分析了广大C程序员学习和开发中遇到的难点。 2. 从方法论的高度对C语言在数据结构和算法方面的应用进行了深入讲解和阐述。 3. 讲解了绝大多数C程序员开发
    发表于 05-13 16:45

    计算机网络排错思路总结

    明人不说暗话,这篇文章我们来聊一个非常有用,同时也是程序员必备的技能,那就是网络排错思路大总结。
    的头像 发表于 04-01 17:32 645次阅读
    计算机网络排错思路总结

    如何在 树莓派 上编写和运行 C 语言程序

    ,一本很好的书是BrianKernighan和DennisRitchie所著的《TheCProgrammingLanguage》。这本书对经验丰富的程序员和想学习C语
    的头像 发表于 03-25 09:28 934次阅读
    如何在 树莓派 上编写和运行 C 语言<b class='flag-5'>程序</b>?

    零基础入门:如何在树莓派上编写和运行Python程序

    是一种非常有用的编程语言,其语法易于阅读,允许程序员使用比汇编、C或Java等语言更少的代码行。Python编程语言最初实际上是作为Linux的脚本语言而开发的。Py
    的头像 发表于 03-25 09:27 1509次阅读
    零基础入门:如何在树莓派上编写和运行Python<b class='flag-5'>程序</b>?

    Gemini Vision + Raspberry Pi 化身“数字导盲犬”?

    本文讨论了一位程序员利用树莓派、摄像头、Gemini和Python构建PeregrineEye设备,使其成为“数字导盲犬”为视障者服务的项目经历,包括项目灵感、功能、构建过程、遇到的挑战及未来计划等
    的头像 发表于 03-25 09:20 1688次阅读
    Gemini Vision + Raspberry Pi 化身“数字导盲犬”?

    LDC1000 EVM GUI驱动无法安装,怎么解决?

    每次打开LDC1000 EVM GUI就会出现这个驱动没有安装,请问程序员怎么解决这个问题啊!!!
    发表于 01-17 06:15

    阿里云升级通义灵码AI程序员,全面上线

    近日,阿里云宣布其备受瞩目的通义灵码AI程序员已正式全面上线,为开发者带来更为强大和便捷的编程辅助工具。 此次上线的通义灵码AI程序员,在功能上实现了全面升级。现在,它支持VS Code
    的头像 发表于 01-09 11:16 953次阅读

    TMS320C6000程序员指南

    电子发烧友网站提供《TMS320C6000程序员指南.pdf》资料免费下载
    发表于 12-24 17:19 2次下载
    TMS320C6000<b class='flag-5'>程序员</b>指南

    TMS320C55x DSP CPU程序员参考补充

    电子发烧友网站提供《TMS320C55x DSP CPU程序员参考补充.pdf》资料免费下载
    发表于 12-21 11:36 3次下载
    TMS320C55x DSP CPU<b class='flag-5'>程序员</b>参考补充

    UCD3138A64/UCD3138128程序员手册

    电子发烧友网站提供《UCD3138A64/UCD3138128程序员手册.pdf》资料免费下载
    发表于 12-09 14:42 1次下载
    UCD3138A64/UCD3138128<b class='flag-5'>程序员</b>手册