年薪百万程序员的成功基础

对于程序员而言,技术过关当然是非常重要的,这是硬实力。然而只会技术也是不行的,毕竟大多数的程序员还是要与人打交道,软实力也是不可或缺的。怎样才能算合格,我认为有以下几点:

1扎实的基础

计算机领域是一个快速更新换代的领域,每隔一段时间都会有新的语言、框架、思想产生,追随每一个新技术很累。但仔细想想,事实上并没有那么多新东西。很多新东西只不过是已有技术的封装、或者借鉴的其他领域的技术。

比如缓存数据库redis、memcached,其基本思想不就是操作系统中的缓存吗;分布式存储中的分片与复制集,不就是文件系统中RAID的扩展吗;还有Google的MapReduce框架,不就是来源于函数式编程语言的map reduce吗。掌握好计算机基础知识,能够更本质的看待新技术。

2善用工具

磨刀不误砍柴工,打造好自己的工具集非常重要。

开发中会用到大量的工具,不管是编辑器、调试工具还是监控工具。大家都喜欢争论哪个IDE更好,然而这并没有多大意义,关键在于能够熟练的使用自己喜欢的工具,掌握各种快捷键,高度自定义,这样能够大大提高工作效率。

强调程序员必备的两个工具,浏览器和VPN。后者大家都懂的,不多说,主要是有了后者才能发挥浏览器的威力。浏览器大家天天都在用,但是如何高效的使用,比如在指定网站搜索、通过标题、url过滤、选择合适的关键字 还是值得研究一下。

3过得去的英语

不得不承认,在软件创新领域,国内还是落后于国外的,新的技术、一手的资料都是英文的。当新技术被广泛应用之前,我们在百度搜到翻译要么是machine translated,要么错误百出。

看翻译的最大问题取决于翻译者本身的水平,即使翻译水平都很高,但同一个单次往往有不同的翻译,导致看文章的时候会有困惑,最好还是直接看英文原文。大多数原文,除去专业词汇、还是比较好理解的,而且,我发现很多牛逼的项目,都有非常通俗易懂的文档。

4良好的编码习惯

代码是写给机器执行的,同时也是给人阅读与维护的。维护者可能是别人、也可能是几个月后的样子。良好的代码规范,必要的、清晰的注释可以让自己少被问候祖宗十八代。

对于代码风格,网上争议也很多,最重要的是保持项目内的统一。做为技术负责人,一定要在项目开启之初就顶号规范,当大量代码被堆出来之后就很难统一了,然后做好新人的review。

5保持学习

程序员这个职业,相比其他职业,可能还是要年轻许多。特别是在国内,最老的一批程序员好多都转管理了,再过10年20年,我们会怎么样呢,没人知道。

前段时间华为35岁程序员被离职的事情,给我们敲响了警钟,悲哀之余,只有尽力学习了,拼不过体力就拼能力与经验吧。

学习这个事情说起来就复杂了,两点很重要:基础、学以致用。

6独立思考

合格的程序员解决的是问题,而不是实现某个解决方案。产品经理的某个需求可能只是某个问题的解决方案,他认为这个方法可以解决他的问题,于是把解决方案当成了需求,而不是真正的问题。程序员应该主动沟通,多问几个为什么,了解真正的问题,也许能有更好的解决方案。

产品经理经常改需求这是程序员最头疼的事情,作为程序员应该也站在PM的角度思考,帮助PM分析出本质的需求,这也许可以减少需求的变更。当然,前提是得干一行爱一行,需要对业务有一定的了解。

7先思考后行动

写代码的时候先想清楚了再下笔,而不是先写出一堆代码,然后在开始修bug。

修bug的时候,多看看上下文,搞明白为什么出bug,修改这个bug可能带来的影响,然后再修改。反面教材有两种:第一种随便改改就把代码改好了,但自己心里并不清楚为什么这样修改就修好了,撞运气,也许还有其他同样的bug也发现不了。另一种就是,头痛医头脚痛医脚,不仔细评估修改的影响,这样往往会引入新的问题。

程序员成长的一个办法就是修bug,修别人用不了的bug,但前提是搞清楚bug的缘由,这样才能避免类似的错误,有所收获。

8顺畅沟通

不是巧如舌簧、也不是忽悠达人。需要的只是耐心倾听,然后清晰表达自己的意见。

现在的软件开发,已经不再是单打独斗的年代,大多数的软件、产品都需要多人、多部门的协作。而交流、沟通是非常耗时耗力的。沟通之前,先想好目标,组织好语言,尽量不要发散、不要跑题,对事不对人。对于重要的事情,保留沟通记录,最好有邮件,免得说不清。

沟通是门复杂的艺术,最基本是听明白、说清楚。

9管理好自己的暴脾气

作为一个程序员,要被PM怼、要被交互怼、要被QA怼,再变态的需求都可能有,QA给你提的BUG可能也不属于你。而且,还有猪一样的队友(自己在别人眼里何尝不是这样呢)和下属。不管谁是谁非,发脾气、吵架都一点用没有,吵完还是得解决问题。

有怒火也得等个几秒再发作,也许这几秒理智思考一下,就能解决问题。

10负责任

能力与责任心谁更重要呢,都重要。如果一个新人有培养的潜力,那么责任心就更重要。两个人,第一个技术能力很强,但责任心很差,对项目的事情也不上心。第二个能力差些,但责任心强,是自己的问题一定负责到底,即使自己不能解决也能主动询求帮助。

我感觉前者对项目的危害更大,特别是项目紧要时期,因为能力强的人一般负责的是比较复杂、困难的功能,别人上手也需要时间,这个时候如果摞担子,bug也不修,那么就很为难了。

不负责任的典型表现就是扯皮、甩锅:这不是我的bug、不关我的事。有协作的地方更容易出现问题,比如前端与后端、各个部门之间。如果不清楚到时是谁的问题,不妨主动一点,帮助排查。

11不要总是说不会

作为程序员,总有一些工作是以前没有做过的,也许来自产品人员的需求,也许来自项目自发的优化。我见过一些程序员,在面临未知的问题、挑战时,总是习惯于说:不会、没办法、不可能,这样的程序员就算不上合格的程序员。

事实上,这样的程序员是给自己过早地留好退路,事实上问题可能并没有想象得那么困难,也许经过一番探索就能解决。如果习惯于对未知说不,那么在别人看来就是能力不行,影响个人形象与声誉,而且总是待在自己的舒适区也不利于自我成长。

当然,也不是说要盲目自信,急于拍胸脯保证一定能解决,这样往往是坑自己。

所以,面对新的需求,谨慎对待,既不轻易否决也不随意承诺,而是再理清需要先去研究一下,评估是否能完成,需要的资源与时间。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 要成为年薪百万的Java程序员,以下是几个可能有助于实现目标的建议: 1. 不断学习和提高自己的技能:Java是一门广泛应用于企业级应用和大型系统的编程语言,因此要成为顶尖的Java程序员,需要具备深入的专业知识和实践经验。不断学习和提高自己的技能,包括掌握最新的Java技术和框架,可以帮助你成为更有价值的程序员。 2. 拥有卓越的解决问题能力:卓越的解决问题能力是Java程序员成功的关键。在日常工作中,要积极主动地解决各种技术难题,发挥自己的创造力,寻求优化解决方案。 3. 掌握软件工程实践:掌握软件工程实践对Java程序员来说至关重要。从需求分析、设计、编码、测试到部署和维护,Java程序员需要熟练掌握软件开发的整个生命周期。 4. 具备商业和管理技能:Java程序员不仅需要深入理解技术,还需要理解企业的商业需求和管理思想。了解客户需求,沟通协作,管理项目,提供高质量的代码和解决方案,可以让你在职业生涯中迅速成长,获得更多的机会和高薪回报。 5. 加强个人品牌和社交网络:建立自己的个人品牌和社交网络可以帮助Java程序员提高自己的知名度和影响力。参与技术社区和开源项目,分享自己的经验和见解,积极与其他程序员和专业人士交流,可以扩展自己的人脉和资源,提高职业发展的机会和收入。 ### 回答2: 要成为一位年薪百万的Java程序员,需要具备以下几个关键要素。 第一,拥有深厚的技术功底。作为Java程序员,需要熟练掌握Java语言及相关开发框架和工具,并不断保持学习和自我提升。可以通过参加培训课程、学习相关书籍和教程、参与开源项目等方式来提升自己的技术水平。 第二,具备丰富的项目经验。通过参与各类项目的开发,积累项目经验和技术实战经验,能够独立完成中大型项目的设计、开发和测试工作。同时,要注重自己的项目管理和协作能力,能够在团队合作中发挥重要作用。 第三,注重个人品牌和市场认可度。建立个人技术博客、开源项目、Github等个人品牌平台,分享自己的技术经验和见解,积极参与技术论坛和社区活动,扩大自己的影响力和知名度。同时,获得一些相关的认证证书,如Oracle Java专业认证等,也有助于提升自己在就业市场中的竞争力和薪资水平。 第四,寻找合适的就业机会和市场需求。关注行业动态和就业市场,选择有潜力和发展前景的公司和行业,积极了解和学习相关的前沿技术和趋势,提前做好职场规划和职业发展规划。同时,要有良好的沟通和谈判技巧,能够在面试和谈薪阶段充分展示自己的能力和价值,争取到更好的任职和薪资待遇。 总之,成为一位年薪百万的Java程序员需要不断学习和提升个人能力,积累丰富的项目经验,建立个人品牌和市场认可度,同时寻找合适的就业机会和市场需求。这些努力和准备都可以为未来的职业发展带来更好的机会和回报。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值