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

普通的程序员和大神级的程序员有什么区别,第1张

多隆在公司大多数时间是沉默的,从2000年加入阿里以来只专注于写代码,现在多隆在阿里的层级是P11。

多隆不爱带团队,团队一般沟通成本高、水平参差不齐,而他一个人就能顶一个高效顶尖的团队。作为淘宝最早的程序员之一,很多产品早期就是他一个人开发维护的,文件系统tfs、key-value系统tair,cache、搜索、通讯框架等等,引用阿里云总裁行癫对他的评价:

在内网的标签上,他被称为神,这不是恭维,在所有工程师眼中,他就是个神。多隆做事一个人能顶一个团队,比如说写一个文件系统,别人很可能是一个项目组,甚至一个公司在做,而他从头到尾都是一个人,在很短的时间内就完成了。从03年到07年,淘宝搜索引擎就是他一个人在写,一个人在维护,而且这还不是他全部的工作,另外他还做了其他很多事情。

有个很偶然的机会,行癫听说NETAPP不太稳定。当时他恰好在看一个JAVA的分布式文件系统,便让多隆研究研究。看了一阵之后,多隆说还不如自己写一个,这次连行癫都表示有点怀疑。不过,行癫相信既然他说行,就一定能行。

没过多久,多隆便完成了原型,三个月后就提供了一个能够运行的产品。而这一切,基本上是他一个人利用平时闲暇时间完成的。这个系统就是现在TFS,淘宝的文件系统。它成功地解决了大量小尺寸文件分布式存储的可靠性与读写的性能问题。如今,仍然有以T字开头的产品运行在淘宝的生产环境中

普通程序员的一天可以大致分为四个阶段:准备工作、编码、测试和维护,具体如下:

1 准备工作阶段:在上班前,程序员需要查看邮件、简报和任务列表,了解当天的工作安排和完成情况,以及与项目相关的问题和需求。这个阶段还可以进行代码审查、阅读技术资料和学习新技术等。

2 编码阶段:程序员会花费大部分时间编写代码,根据需求和设计文档,选择一种或多种开发工具和编程语言来开发应用程序。可能需要进行后端API开发、数据库设计、前端页面设计等工作。程序员在这个阶段需要严格遵守编码规范,注意代码简洁、可读性强、可扩展性好等方面的要求,以确保代码质量。

3 测试阶段:在编写完代码后,程序员需要对其进行严格测试和调试,以发现和修复错误和缺陷。测试包括单元测试、集成测试、回归测试等,采用不同的测试工具和方法来确保代码质量和软件稳定性。

4 维护阶段:在软件投入使用后,程序员需要对其进行维护和升级。这包括诊断和修复软件问题、更新代码、添加新功能等,以满足客户或用户的需求。同时还需要维护文档、处理问题反馈和进行沟通等工作。

举个例子,一个普通程序员的一天可能包括以下任务:

1 9:00 - 10:00:查看邮件、简报和任务列表,了解今天的工作安排和完成情况,并回复相关邮件和信息。

2 10:00 - 12:00:根据项目需求,完成后端API的开发,使用Java和Spring框架进行编码,并进行单元测试。

3 12:00 - 13:00:午餐时间,与同事交流,了解其他项目的进展和困难,商讨解决方法。

4 13:00 - 14:30:继续完成后端API的开发,与数据库设计师沟通并进行数据库设计。

5 14:30 - 16:00:开始进行前端页面的设计和开发,使用HTML、CSS和JavaScript等技术进行编码,并进行集成测试。

6 16:00 - 17:30:接收产品经理的问题反馈和建议,修改代码并进行部署,同时对新功能进行测试和调试,确保无任何问题。

7 17:30 - 18:00:总结今天的工作,编写工作日志,提交代码库,准备明天的工作计划。

这只是其中一种可能的工作安排,不同的程序员和项目有不同的工作负责和时间分配。

首先,这个平衡点肯定是模糊的,定性而非定量的。而且偏主观,所以大家一般都会说 “拿捏一下” 平衡。在对方提出与自己不同的意见时,妥协之前我们需要尽可能地进行一番就事论事、有理或有据的辩论。然而,并不是每个决策点都能看出不同方案的明显差距的。所以会出现双方都有一定的道理,但谁也说服不了谁的情况。说白了,就是大家的侧重点不一样,导致最终的选择也不一样。面对无法通过辩论而达成一致的情况,有以下几种解决方案:1 双方做进一步的理论或资料调研,再次 PK2 通过纸上原型、展示页面效果图或可交互 Demo 进行用户测试(User Testing)3 两套方案都开发,投放至线上进行 A/B Testing4 一方主动/被迫妥协然而,采取第 1 个方法很可能还是无法达成一致,因为双方的侧重点依然不同;第 2 个方法成本较高,适用范围也较为狭窄;第 3 个方法显性成本最高,在A/B 测试有什么局限性? - 郑坚义的回答中有讨论;第 4 个方法,即一方主动/被动妥协,是最常见的做法。但妥协也是有技巧的,最重要的一点是抓大放小。也就是说,在关键的决策点上不能够轻易地妥协,因为它决定了方案质量的 level。而对于一些不影响大局或方案效果差异不大的决策点,则允许在一定条件下进行妥协(相关回答:高级产品经理和普通产品经理有哪些区别? - 郑坚义的回答)。允许妥协决策点不意味着就要主动妥协,可以观察和猜测对方的坚持程度。如果十分坚持,则妥协,这样可以让自己在下个决策点上掌握更多的话语权,就像谈判一样。如果察觉对方态度其实也并不坚定,则可以强硬一些,尽量把方案拿下。但一定要避免大比例地进行妥协,否则将丧失产品经理基本的影响力。其实,倘若在平常的工作中已经建立了良好的影响力,遭遇到的不同意见会少很多,因为大家都选择信任你。

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

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

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

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

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

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

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

8、负责对业务领域内的技术发展动态进行分析研究。

扩展资料:

岗位分类:

世界上第一位程序员是英国著名诗人乔治·戈登·拜伦的女儿AdaLovelace,曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。

由于其在程序设计上的开创性工作,AdaLovelace被称为世界上第一位程序员。美国国防部开发的ADA语言就是为纪念这位世界上的第一位程序员而命名的。

计算机科学发展到今天(21世纪初期),程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类:

asp程序员、web前端开发程序员、delphi程序员、php程序员、powerbuilder程序员、C程序员、linux程序员、net程序员、vb程序员、java程序员、javascript程序员、C++程序员、Python程序员、ABAP程序员、android程序员、iOS程序员。

参考资料来源:百度百科——程序员

如果可以的话,建议还是在老东家吧,做熟了一个项目,做熟了一个公司。换公司伤害自己太大。

实在遇到必须要换的公司,现在有很多外接单的网站,上面也有一些单量可以做,但是是一个软件行业的TB。上面也是很多竞争。

可以上去看看,实现一个工作室。一开始小单接点。这样的网站很多就不过多的说了。百度一下,很多,不过要准备被割一次韭菜。

或者直接在网站上面发帖寻找一些想做程序的,做教育也是可以的。

以上就是关于普通的程序员和大神级的程序员有什么区别全部的内容,包括:普通的程序员和大神级的程序员有什么区别、普通程序员的工作是怎样的、产品经理如何找到妥协与坚持需求的平衡点等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存