返回首页

如何成为程序猿?

68 2023-09-13 05:37 admin

一、如何成为程序猿?

如果你想好了的话,自己努力补习一下高等数学,C语言,算法与数据结构。这几门是基础,然后就是进阶就是计算机组成原理,操作系统,数据库原理,编译原理。学完之后有第一部分的基础后,学习其他的各类语言都会很快。然后就是使用各种框架,各种软件。如果想更高一步,就上深度算法,机器学习等等。也可以计算机底层研究,操作系统等等。最后再更上一层楼,就是防脱发,脊椎恢复等等。注意身体。

二、什么叫程序猿?

“程序猿”是网友们对“程序员”的爱称。

程序员(英文Programmer)是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。

三、什么是程序猿?

程序猿就是程序员,是从事程序开发、维护的人员。 一般指从事软件开发职位的职员,学不到新技术,同时也是部分从事软件开发工作人员的一个自嘲的称号。现如今从事程序开发、维护的人员都可称为“程序猿”。 “程序员”也被叫成“程序猿”,“程序猿”随着电脑技术的发展而出现,是信息革命的产物,随着社会的发展而发展。

四、该怎么给程序猿定 KPI ?

先问问自己:为什么要定KPI?

定KPI无非是一个核心目标,那就是通过“奖勤罚懒”来引导员工,使得他们努力工作——当然企业没有罚款权,因此一般会变通为“定一个较低的基本工资,其它算到奖金上;然后只有A级卓越奖、B级优秀奖、C级合格奖和D级无奖”。说白了还是一回事,朝三暮四的把戏而已。

然后呢,怎么识别勤快/懒惰的员工呢?

很简单,计件。A一天装配了10个轮胎,B只装了8个,C只有6个,D装了3个还歪了一个……

那么,如果单件工资是X的话,给A的报酬就应该是10X,B是8X,C 6X,D 2X。


很遗憾。这个看起来天经地义一般的解决方案是傻子才会搞的——如果你发现手下有个管理者这样管生产线工人,嘉奖他;但如果他这样管技术类工种,请尽快撤他的职。

这是因为,技术类工作,产出是独一无二的。压根不能像流水线工人那样评估。

甚至于,技术类工作,产生的“量”和“质”往往是背道而驰的。

当你只顾考察他的量时,你只能得到一堆垃圾——而且技术类成果会有很多很多的衍生效应,比如会造成其它同事工作对接困难、比如会导致本来普通计算机10%CPU占用就能搞定的工作你得掏大钱砸几十上百台电脑进去搞一个集群……

但在你眼里,后者玩的那可是集群!高科技!而前者嘛……一个512M内存的破机顶盒级电脑有什么好玩的!

很遗憾。前者那才是真正的高科技。那叫算法优化。

后者嘛,那叫一将无能,累死千军。

这并不是笑话。我就遇到过这样的神人。他把一个大型交易系统的数据库查询复杂度“优化”到了O(N^3)级别——但实际上给真正懂行的技术人员,这个复杂度就应该做到O(N)!

当然,你可能看不懂大O标记法。简单说就是:一个原本打算支持2000万用户的系统,如果给靠谱人设计,那么搞个服务器水平扩展架构然后按需增加机器即可,至多几百台服务器就能搞定(线性增长嘛);但一旦搞成O(N^3),这个系统就会随着用户数增长指数级增长——于是,100个用户,这个系统几秒钟就能完成盘点;500用户,这个系统盘点一次要半小时;当用户达到1000人时,这个系统盘点一次就要六个小时……依此类推,当用户数真的达到两千万时,公司就需要组织一支军队,把全世界已经生产出来的电脑全部抢过来、再奴役三星台积电等半导体厂让它们啥都别干先专心造八十年芯片再说……

什么?这样能不能满足要求?没那事,你得给别人找点事做,不让就显得你无能了。折腾他们八十年,你死之后哪管洪水滔天。

可想而知,这会对公司造成多大的损失——但看KPI,谁能比他更忙、做的事情更多吗?!

作为对比,那个把事情做对的人,实际做了什么?

答案是什么都没做。除了数据库表设计从一开始就没搞那么复杂、使得将来围绕着数据库开发时,大家都不用做太多事之外。

换句话说,这种情况下,一个技术人员的价值,恰恰体现在他没有做那些多余的错事上。


从头追查这件事,就会发现,优秀开发人员和滥竽充数者的价值差异,运气非常好的时候,也只会在两年之后才让你发现——当后者问题爆发时,就会知道他吹的天花乱坠的玩意儿……不过是驴粪蛋外面光。

但是,如果真到两年后问题爆发时你才知道他是草包……砸进去的几千万甚至上亿开发费用已经打了水漂。

身为股东,你可能只剩两个选择。一是家大业大扔点没啥,二是破产自杀。

不想扔也不想自杀?那就难办了……

不过也不是没办法。古人已经有解决方案了:

齐宣王使人吹竽,必三百人。南郭处士请为王吹竽,宣王说之,廪食以数百人。宣王死,湣王立,好一一听之,处士逃。

没错。这就是办法。别让人吃大锅饭,一个个考察。从小项目开始识人、提拔,找到合适人再慢慢组织团队搞中大型项目。

你可能会说:但是现在我已经有一个五百人的团队了啊……

这就是软件工程的重要性了:真正会做工程的,一定是把一个大项目拆成一堆中型项目、中型项目再拆成小项目、小项目拆成函数来做的——合格的技术专家眼里就不存在大项目,只有基本函数库构成的小项目、一堆小项目构成的小项目以及小项目构成的一堆小项目构成的小项目……

换句话说,考察你的中上层项目经理,看他们有没有本事把一个大项目三言两语说清楚、分成简单清晰、各自独立的几个模块——没这能耐?请他吃铁板炒鱿鱼吧。

类似的,考察你的每个程序员,看他们能不能清晰简洁的实现自己的任务、能不能把自己的任务实现的边界清晰、便于复用——然后,这些边界清晰的一个个小项目,你还考察不了他们的完成速度、效率、可靠程度吗?别整来整去,最该吃鱿鱼的是你自己吧?!

软件开发就要用软件开发的方式管理。软件工程不会?没有金刚钻,谁给你的勇气揽这瓷器活。


综上,KPI只是你关于软件流程管理、开发人员能力评估等专业知识的外在体现——事实上,这KPI还就是当年引进的、国外软件企业的先进管理理念。

但这玩意儿想玩转,要么你是管理和技术两手一起抓,两手都要硬;要么呢,公司内部两条线,一条技术线,一条管理线。

技术线里面的负责人叫项目经理,他必须是一个软件工程高手,具体技术可以不精,但总体性的把握能力必须有。他负责识人、把工程师带好,确保项目保质保量按时完成。

管理线里面的负责人是业务经理,他掌管资源调配等工作。软件团队立项,要告诉他大概需要多少人多久时间开发、需要的软硬件投资额等信息;他来判断这个项目有没有前景、能不能挣到钱,决定要不要上、最高可以投资多少钱做研发。

将来,软件团队要对按时保质保量完成开发任务负责,业务经理则对项目能否赚钱负责——更复杂的模型里面还要有市场部/客户部/客户代表、产品经理等角色:市场部/客户代表提出需求,软件部决定能不能做、需要多少人月;产品经理确保人机界面设计合理……但最终,要不要上马项目、可以给多少开发经费,这还是要业务经理拍板。

注意各自负责的范围以及职责。尤其注意合作流程非常关键——如果你让客户经理/产品经理直接干预了开发过程,那么造成的延误该谁负责?

现实是,绝大多数产品经理、客户经理、项目经理是不合格的——而他们的不合格,是因为业务经理乃至更高层领导不合格。

因为他们的不合格,很容易出现:

  • 项目经理不懂软件开发规划,尸位素餐当甩手掌柜
  • 客户经理/产品经理作威作福,直接指挥开发人员,任意改变既定目标
  • 最终,所有人疲于奔命,忙死忙活却不出成果
  • 病急乱投医,找KPI、OKR之类“灵丹妙药”,试图一抓就灵
  • 结果是,灵丹妙药不仅不解决问题,反而成了各方推脱责任的借口……
  • 为了推脱责任,劣质经理们不得不带领一伙人“表演式加班”,甚至把表演式加班本身当成KPI

你看,问题的关键压根不是什么“如何定KPI”,而是你,你的同事,你们这一干人,究竟懂不懂开发?懂不懂管理?

如果懂,那么你怎么搞怎么对——无论是散养、KPI还是OKR,你总是能保质保量按时完成任务、且团队成员还轻松惬意按时上下班。

但如果不懂,你搞什么都是和尚念经。

再说一遍:问题的核心是经理的能力,不是外在的具体表现。能力到了,怎么玩怎么对;能力不到,越是东施效颦,死的越难看。

五、程序猿是什么动物?

程序猿(英文Ape Programmer或 Code Monkey)是一种非常特殊的、可以从事程序开发、维护的动物。其实就是程序员,(英文Programmer)是从事程序开发、维护的专业人员。

正是因为他们——程序员。让我们有了QQ,有了微信,有了淘宝,有了美图软件,有了好玩的游戏,有了让人震撼的特效,更是有了他们,让我们的生活更加丰富多彩,也是因为他们让我们每天刷刷微博,逛逛朋友圈变成一种习惯。还是因为他们,让我们的现代生活更加便利!

六、程序猿有时间出国旅游吗?

其实程序员现在被打上太多标签,事实上程序员跟大多数工作岗位一样,公司并不会对程序员做更多的限制。

出国旅游=有时间+有钱,而题主说已经有钱了,担忧的是没时间。

图片来源于互联网,侵删

如果你是一个普通的程序员,我相信大部分公司都是有给年休假的,就算是5天年休假,加上两个双休,也有9天,够出国 Happy 一下。

如果你是公司核心的程序员,公司离开你运转不得,首先我相信事实上这种存在是极少数的,如果是这个层次的,我相信应该也不用码代码了,很多时候出去旅游下,远程监控下团队应该也不是不能实现。

当然我所说的一切都是理论,很多都是结合自身实际情况来看。也希望程序员小伙伴们,在紧张的工作之余,多学会放空下自己,安排好生活与工作的调节,有一个好的身体,才是最重要滴~

推荐阅读:

2020年程序员是否过剩?程序员界有哪些经典的笑话?

七、谁解释下搞it的为什么叫程序猿?而不是程序猴?程序猫?

程序猿是一种非常特殊的、可以从事程序开发、维护的动物。一般分为程序设计猿和程序编码猿,但两者的界限并不非常清楚,都可以进行开发、维护工作,特别是在中国,而且最重要的一点,二者都是一种非常悲剧(加班)的存在。

学编程 首选Python 入门课免费送

程序猿是一种近几十年来出现的新物种,是信息革命的产物,在行为和物种归类上我们也可称为码字猴。

程序猿的进化之路。

我专门建立的Python学习扣QUN:②⑨⑦⑤⑦③⑤⑥②从零基础开始到Python各领域的项目实战教程、开发工具与电子书籍。与你分享企业当下对于python人才需求及学好python的高效技巧,不停更新最新教程!点击加入我的 python学习圈和你们不一样的程序员,有着自己神一般的追求。精神力早已笼罩整个世界......

程序猿是人类在科技研究上的一种新兴进化,拥有无与伦比的耐力、超越时代的智商、横穿社会的苦逼相和低于人类平均寿命的显著特点。

这不是黑眼圈,只是化的妆而已。千万别误会哈

一天工作简单的很,也就三件事。工作使他们兴奋使他们快乐,大道至简最适合他们。

程序猿,眼睛很尖,动作很快,一般是常人的九倍反应速度。

不懂程序猿的标配,你永远无法了解程序猿。

如果说时间是他们的血液,那代码就是他们的生命。

至今科学尚不能证实程序猿的逆天之路,这是上天都在嫉妒的一个种族。

要嫁就嫁灰太狼,错!要嫁就嫁程序猿,原因就一个:钱多话少!

你想程序猿写简历,你太OUT了。能用代码解决的事为啥用文字?just SO So哦!

从来不花时间来看世界,脑壳里的BUG才是最好的风景。我有BUG我就有了全世界

关爱自己?有没有搞错!每年都有一天救猿日的好吧

每年的10月24日被称为救猿日。

学编程 首选Python 入门课免费送

八、猿推推小程序怎么进?

1 打开微信,搜索「猿推推」或扫描「猿推推」小程序码进入小程序入口。2 点击进入小程序主页,可以在这里进行登录、注册、发布等操作。3 如果没有账号,需要进行注册或者使用微信快捷登录功能进行登录。4 注册成功或登录后,可以开始使用猿推推小程序的功能,如发布任务、接受任务、查看任务等。

九、小猿搜题程序异常?

如果说你用小猿搜题的话,它显示程序异常,一方面可能是由于当你在搜索题的时候,你的网速加载的比较慢。然后你上传题目需要一定的时间。这个时候你的网速跟不上,上传的速度就会显示网络异常的情况。这个时候你需要重新切换一下网络再登进去。

十、前端开发程序猿都用哪些编辑器啊?

1. VScode(最好用)

Visual Studio Code,vscode同样也是一个轻量级但功能强大的跨平台的文本编辑器,可在桌面运行,适用于Windows,MACOS,和Linux平台。

它内置了对JavaScript,TypeScript和Node.js的支持,并且具有丰富的其他语言(如C++,C#,Java,Python,PHP,Go)和运行时(如.NET和Unity)的扩展生态系统。

2.Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。

Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

3.WebStorm

WebStorm 是Jetbrains公司旗下一款JavaScript 开发工具。

目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等,继承了IntelliJ IDEA强大的JS部分的功能。

4. HBuilderX

HBuilderX 简称 HX,HBuilder,H 是 HTML 的缩写,Builder 是建设者。

是为前端开发者服务的通用 IDE,或者称为编辑器。与 vscode、sublime、webstorm 类似。它可以开发普通 web 项目,也可以开发 DCloud 出品的 uni-app 项目、5+App 项目、wap2app 项目。

5. vi

vi编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下。

由于不需要图形界面,vi是效率很高的文本编辑器。

尽管在Linux上也有很多图形界面的编辑器可用,但vi在系统和服务器管理中的功能是那些图形编辑器所无法比拟的

6.vim

vim是vi的增强版,完全兼容vi。

vim优势主要体现在以下几个方面:

1、多级撤消

我们知道在vi里,按u只能撤消上次命令,而在vim里可以无限制的撤消。

2、易用性

vi只能运行于unix类中,而vim不仅可以运行于unix,windows ,mac等多操作平台。

3、语法加亮

vim可以用不同的颜色来加亮你的代码。

4、可视化操作

就是说vim不仅可以在终端运行,也可以运行于x window、 mac os、 windows。

5、对vi的完全兼容

某些情况下,你可以把vim当成vi来使用。

7.Brackets

Brackets是由Adobe Systems开发并在GitHub上发布的开源前端开发工具。它可以免费使用。

它支持HTML,CSS,JavaScript三种通用语言,而且除了这三种语言之外,它还提供30多种语言版本,只要你用的是一般语言,就可以毫无问题地使用它。

8.Atom

Atom 是github专门为程序员推出的一个跨平台文本编辑器。

具有简洁和直观的图形用户界面,并有很多有趣的特点:支持CSS,HTML,JavaScript等网页编程语言。它支持宏,自动完成分屏功能,集成了文件管理器。

9.EditPlus

EditPlus是一款小巧但是功能强大的可处理文本、HTML和程序语言的Windows编辑器,拥有无限制的撤消与重做、英文拼字检查、自动换行、列数标记、搜寻取代、同时编辑多文件、全屏幕浏览功能。

10.DW

DW利用对 HTML、CSS、JavaScript等内容的支持,设计师和程序员可以在几乎任何地方快速制作和进行网站建设。

Adobe Dreamweaver使用所见即所得的接口,亦有HTML(标准通用标记语言下的一个应用)编辑的功能,借助经过简化的智能编码引擎,轻松地创建、编码和管理动态网站。可快速了解 HTML、CSS 和其他Web标准。

2022年怎么自学web前端?