① 成为程序员后你明白了什么
成为了程序员才知道他们都是一群内秀而很有趣的人。我有一个同事,熟悉之前每天都是一张严肃脸,看到我就会点个头,嘴里喊“艾姐”。我有几次跟我朋友说,感觉自己突然成了黑帮大姐大,有一种收了小弟的感觉。后来熟悉了,发现他每天笑得很没心没肺的,讲话也是荤素不忌,一脸逗比样。
程序员最爱送女朋友的礼物就是U盘,键盘和鼠标。我对面的小同事七夕的时候给他女朋友买了个U盘,他说这已经是他买的第三个U盘了,他女朋友太迷糊,常把U盘弄掉。私以为他女朋友就是不喜欢U盘而已,不过我没说。办公室好几个同事买了机械键盘,说打起来带劲,青轴黑轴说起来头头是道。
格子衬衫是真的很多,有一天在办公室看了四五个同事穿,大同小异,搞得一群异姓兄弟似的。
程序员真的比较聪明,逻辑思维很强。有一次我们团建玩了狼人杀,他们可以很快速地分析,找出狼人。程序员很善于用脑图,把一件事表达得很清楚,条理清晰,外人一看就懂。
程序员的世界比较单纯,没有勾心斗角,有实力就会被崇拜,成为“大神”。
② 在大家眼中,程序员是一个怎样的职业
为什么有人在技术造神
大家应该已经感受到,技术圈这两年已经和娱乐圈创业圈差不多的氛围了,这其实是有原因的。
最主要的原因是,创业公司和创业媒体越来越多,他们需要大量的程序员投身到创业这个高风险的行业中,而造神,正是让程序员们自动跳进火坑的绝佳办法。不是说程序员不能创业,我是说,创业媒体们故意模糊了创造和创业的界限,把程序员们的创造冲动偷换概念,鼓吹了太多不适合的人去创业。
另一个原因是,招聘成本高涨,CTO 们为了能提升影响力,不得不频频出席各种大会刷脸。文笔好的再做做自媒体和技术社群,既能强化个人品牌提高身价,又能在融资的时候提升成功率。
总之,这个行业出现了各种技术大神。
这些大神在普通人类和初级程序员眼里是无所不能的,是他们向往的目标;在中级程序员和高级程序员眼里,这些大神就是他自己,只不过他还没红起来而已…
于是攀比心理也开始泛滥,全国第三的架构师比比皆是,整个圈子渐渐就浮躁起来。
然而绝大部分程序员,依然是雇员
媒体们在包装时,最喜欢按独立开发者的路线来整。“从小就对技术有天分”、“大学时曾在某编程大赛一鸣惊人”、“写了个 APP 玩结果一个月有了千万用户”、“从公司离职自立门户三年上市”。
OK,这的确是程序员的一条职业路线图。但是媒体们不愿意告诉你的是,一:只有极少数程序员是通过这个路线成功的;二:这条线其实需要太多非程序员职位的技能,比如产品设计能力和销售能力。
程序员的价值决定
绝大部分互联网公司的程序员职位,没有技术门槛
然而不幸的是,绝大部分互联网公司都不是技术驱动的公司。真的就是鸟哥说的那样,绝大部分技术岗位,其实技术门槛都不高(门槛在工程上,后文细讲)。技术不过是这些公司的护航舰,而不是破冰船。
先别打我,冷静下来想想,到底有多少你会的那些技术,是你的同行们不会的呢?不多,对吧?
几年前亿级别的搜索还是问题,现在已经到处是通用解决方案了;几年前千万到亿级别的网站和 APP 解决方案还在大公司手里,现在各个架构大会都讲烂啦,而且其实都差不多;就连 DeepLearning,带 API 接口的框架也开始涌现,只需要把图片用 REST 传进去就能取到结果了。
很多事情,已经没有难度,只需要持续投入。是的,对绝大部分程序员来讲,他们不需要成为科学家,而需要成为工程师,成为从科学家手里接过火种,去燎原大地的人。
怎样才是一个好工程师
工程的本质不是创造,而是去风险化。
工程是关于如何低成本、高效率、按时按量完成既定任务的。所以判断一个工程师是否优秀,并不是他多有创意多有名气,而是看他有多稳,看他能多 GettingThingsDone,中文就是“靠谱”。
有时候一个好的解决方案,未必采用了最新的技术和框架,而是看上去朴实无华,功力都包涵在背后的细节里。就像顶尖高手打的斯洛克台球,每一杆都平淡无奇,只是因为上一杆的回球太到位。
有同学问,那我工程做的太好,岂不是没有机会遇到一些高难度挑战了么?放心,一般公司都雇佣了产品经理来帮你制造高危事件。
同样的,一个好的工程师,会选择最适合需求和团队的方案,考虑开发效率和系统效率的均衡,从而已达到最优效果;而不是整天和别人去争论什么语言最好、哪些框架过时了。
工程的另一个要求是进度控制和质量控制。
在项目立项之后动工之前,对要做的事项作出详尽的规划,对未来一到两周的工作给出细致的排期,这是进度控制的基础。
代码的及时入库与合并,自动化测试和每日构建,CodeReview 和文档编写,这些看似无关紧要的习惯则决定了项目质量。
不幸的是,很多程序员把这些工程上至关重要的东西当成垃圾,视为对他们“创造力”的压抑。
他们总是以创造力为借口去寻求自身的自在,比如上班不带胸牌不打卡,中午休息时间在公司看视频打游戏,最好可以远程上班,项目到期之前再来检查进度,公司不要用统一框架,只有傻逼才写文档。
对职业的理解偏差和工程能力上的荒芜,培养了大批能写代码但死活写不好代码的“码农”,反而让那些有着彪悍工程能力和良好习惯的程序员变得奇货可居。
最后,来说说程序员那无处安放的创造力
有了锤子想找钉子是很正常的原始冲动,但我们必须认识到,创造力对于程序员这个职业来讲,是锦上添花的东西。如果你没有强大的工程能力,那么创造力也不过是无本之木。所以扎扎实实的把工程基础打好,这是最根本的。
在此基础上,我比较推荐程序员采用内外两条线来培养自己。在公司内的项目上采取相对保守的策略,尽力把稳定性做到最好,培养出自己卓越的工程能力;然后在公司外的开源项目和自己的独立项目上,采用一些新的技术、实践一些新的想法、充分发挥自己的创造力,梦想还是要有的,对吧。
这样做最明显的好处是,你可以了解到新技术和激进方案的优缺点,从而在进行方案选型时,有更多的依据;还有一个职业发展上的好处:如果不是主负责人,公司的项目往往不能代表你的能力;但独立项目却可以作为一个非常好的能力证明出现在你的简历里边。
你可以是一个身怀绝技的手艺人,在自己家里你尝试各种手法各种风格的个人作品;但当你参与颐和园这种级别的工程时,好好的把自己负责的石头雕成总设计师要求的样子就好 —— 毕竟这个时代一个人已经很难负责整个项目了。这就是我所理解的程序员的工匠精神。
③ 你对于程序员最大的印象是什么
程序员也称软件工程师,是指对软件进行开发及维护的人员,程序员的级别也分为好多种,分为初、中、高级程序员以及架构师,程序员所追求的也都是希望自己可以早日成为架构师,然而这是非常难的,不仅需要过硬的技术还需要天赋和努力,并不是所有的程序员都可以到达这个级别。如今,程序员的工作十分好找,就业前景也是比较好的,很多公司都需要这方面的人才,说起程序员我最大的印象有以下几点:
①理工男,情商低很多程序员都是在大学选择了这个专业,这个理科专业女生选择的也是非常少的,还有一些半路转行的基本也都是男生。这部分男生有时候一心就扑在电脑上,对于制造浪漫、追求女孩子这些事情上,往往显得有些木讷,常常不懂得如何获得女孩子的芳心,说话也都是非常直接的,不会花言巧语,为人比较老实。
程序员其实是一个非常不错的择偶标准,普遍都是比较宅,工资比较稳定,是一项要求技术能力比较高的工作。
④ 要做程序员需要学会什么
其实简单来说,程序员的工作就是使用编程语言,根据需求写出一个程序。
但是,在这个过程中,涉及如下几个方面:
使用的编程语言 程序员需要选择一门或者多门语言来编程,不同的语言适合编写不同的程序,目前主流编程语言包括,Java、JavaScript、Python、C++、php以及其他小语种等等,每种编程语言适合开发的程序有所不同。目前从程序应用分来,主要可以分为三类a 企业应用,主要用于解决企业业务。各种企业管理后台系统,银行系统,公安系统,图书管理系统等等。
b 互联网应用,面向互联网用户,为互联网用户提供各类服务。比如现在的京东淘宝各类电商系统等。
c 移动应用,各类在移动端使用的APP,有面向互联网用户的APP,也有面向企业内部的APP。
目前相对而言,在移动应用和互联网应用方面,资本投入比较热的风口,程序员的薪资较高。企业应用,发展了很多年,相对平稳。
2. 明白需求,实现需求
需求就是编写程序的要求。一个程序要编写成什么样子,具备哪些功能,都是由需求来具体说明。程序员要需要能看懂需求文档,并且能准确地使用编程语言,根据需求中的要求来编写成程序。企业开发的项目,往往会由该程序的架构师提供一个程序框架,程序员在该框架的规范下进行编程,实现需求的功能,以确保程序的规范、可读,以及可维护性。
3. 日常工作写程序
一个软件开发一般流程是产品经理根据用户需求做一个项目出来,然后UI设计师做一些图片设计,前端开发编写页面,后台开发编写核心编程,然后介入一些大数据和人工智能,通过测试之类上线实施,后期还有运维进行相关维护。
程序员一般大多指的是前端和后台写代码程序的开发人员,除了编写代码,可能还需要通过接口和其它系统对接,实现系统间的数据交换。像单体测试,是程序员对自己写好的程序单元进行测试,检测这个程序单元数据输入和数据输出是否符合预期等等。测试出来的问题,需要修改正确,然后再测试,直至没有问题。和同事共同开发的时候也需要联合测试,以及用户测试过后如果存在BUG继续进行修改。
⑤ 讲讲你是怎么样看待程序员这个职业的吧
感觉还不错,工资待遇都非常的高,而且也不用担心会失业,就是经常会加班,如果你操作起来比较熟练,你会在其中找到很多的兴趣的。
⑥ 程序员是做什么的
程序员一般的工作是从事程序开发、程序维护。
程序员是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。具体工作职责如下:
1、负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态。
(6)谈谈对程序员的认识扩展阅读:
职业要求
一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的。
大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位。还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。
尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。
一个程序员虽然没有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。
对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务技术,他的技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员在自己的领域中分级或者不断并排前进。
⑦ 大家如何看待程序员的
程序员在普通人眼中就像是魔术师一样充满了神秘感,这一点我深有体会.
但是只有程序员自己才知道,这份工作并不是普通人想象中的那样潇洒神秘,有时甚至是死板老套一成不变的.
程序员不应该像你这样没有自信,老是觉得别人可能看不起自己,觉得自己是个没出息的打工仔.确实在某些人眼里,程序员是个类似于打杂的工作,并不被他们看好,那是因为他们接触的大多是低级别的程序员,觉得工作就是整天敲代码,密密麻麻的一串,人也像个机器似的不会说话.这只是极少数人的表现.
一个技术精湛的程序员是非常受人尊敬的,即使别人是外行,看到你的精神状态,甚至是你的高薪收入,别人也会肃然起敬.
所以,作为程序员,首先一点是自信,程序员并不低人一等,其他年份的我不清楚,但是从08年到今年,IT一直是中国收入最高的十大行业之一,最高(平均工资)的两个IT职业应该是3G工程师和系统架构师,但这并不表示其他职位收入就低,在我和我认识的所有高级别程序员里,平均月收入两万,这并不代表程序员钱容易赚,IT行业的脑力艰辛和极高的耐心是其他人很难想象的.
所以,要为自己是个程序员而骄傲,而不是自卑,当你奋斗到事业巅峰时,没人会看不起你.
⑧ 你对底层程序员有何看法他们的主要工作是什么
你对底层程序员有何看法?他们的主要工作是什么?
程序员,外面都说人傻,钱多,死得早。
不过我本人是程序员,所以不完全认同,但是也不能说没有。程序员因为天天和代码打交道,代码是很多逻辑的部分,所以程序员一般逻辑思维不会太差,但是整体来说和人交接和情商就比较低。
c
1.自己把技术学到位。往大公司发展,才能真正地学到东西。2.实在不行,用做程序员这几年的资金,做点小生意,有魄力,就往大的方面发展。要不就安安逸逸过一生。
⑨ 什么是程序员
一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力
团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力6、 团队组织管理能力
⑩ 如何评价程序员这个职业
程序员的职业生涯,和大多数其他后台专业职业一样,有一个最大的问题,即缺乏社会普遍性资源。
中国社会在目前的共存状态下,这种明确的规则和规则,可以掌握一般的资源,或者可以接近一般的资源,是一个专业人士能否有一个重要的先决条件来获得额外的收入。
程序员的职业目标环境和开放。美国的代码农民也是高收入阶层,不是最高的,但绝对是中产阶级。
在其他方面,程序员没有说最低收入水平,可以进入社会的前20%。此外,收入高,程序员的性格一般是房子,纯粹,整天在家,玩游戏最多。
最后,我补充说,信息时代已经进入了信息时代,因此可以看出,技术在未来变得越来越信息化,最好的行业应该是其中之一。只要你喜欢,就请大家勇敢去做吧。