程序员能力

[转]《吐血整理》系列-顶级程序员工具集

喜欢而已 提交于 2019-12-10 09:41:10
你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub 上已经开源 https://github.com/JavaFamily 有一线大厂面试点脑图、个人联系方式,欢迎Star和指教 前言 这期是被人才群交流里,还有很多之前网友评论强行顶出来的一期,就是让我介绍自己常用的一些工具给他们安利一下,我一听很高兴呀,帅丙我这么乐于奉献的人是吧。 主要是能水一篇文章就很开心,不过写下来发现花的时间完全不比写技术少, 点赞 !!! 千万不要白嫖, 真香警告 ⚠️。 但是我在构思这篇文章的时候发现我贴个标题,然后发下软件信息会不会太乏味了,于是创作鬼才我呀,准备用一个产品的研发流程,是的就是 用这样的一个思路 去写这个工具集的介绍文章。 因为读者很多还是学生,还有很多应届生,对一个需求的研发流程都不是很熟悉,还有可能对于以后自己需要使用到的工具都不是很熟悉,那我就一一罗列一下,帅丙我作为一个还算有点小经验的程序员都使用哪些工具呢? 那下面就跟随 暖男 的脚步,走进 顶级程序员的百宝箱 吧(我所有的标题都是噱头就为了夸大其词,我是低级程序员,大家看了也不能吊打面试官,笑笑就好了)。 注意 :下面的软件我都是简单的介绍下是干啥的,因为太多了,真正的功能需要大家深挖的,能力允许的朋友下载正版 正文 既然都说了 帅丙 是要用一个产品的研发流程角度去介绍软件,那我们先看看一个产品有哪些研发流程

程序员应具备的基本素质

半腔热情 提交于 2019-12-10 06:09:02
1.学习和总结的能力 程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。 善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。 请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。 2.团队精神和协作能力 这是程序员应该具备的最基本的,也是最重要的安身立命之本。任何个人的力量都是有限的,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。 3:规范化,标准化的代码编写习惯 良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。代码具有良好的可读性,是程序员基本的素质需求。没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。 4.需求理解能力 程序员要能正确理解任务单中描述的需求。程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求

【转】优秀程序员与普通程序员的区别【这里绕过大神级别程序员】

爱⌒轻易说出口 提交于 2019-12-09 16:28:18
1.对待需求的态度 优秀程序员:在有需求与任务时,会不断地询问需求与任务,并且多次确认想要的结果,再动手写代码。 一般程序员:接到任务就闷头写代码,反正做错了也是你们要求的,不是我的锅。 2.编码习惯 优秀程序员:他的代码读起来是赏心悦目的,若遇到难理解的实现点时,他也会写下清晰的注释来帮助后来人理解。 一般程序员:我有我的代码风格,我看得懂就行了。几个月后我也看不懂了,那就重写一遍吧。 3. 善于学习 优秀程序员:遇到没接触过的技术时,他会主动搜索资料去学习钻研,并以此为乐趣。 一般程序员:疯狂地找插件,类库和框架,常常做代码搬运工,安慰自己不要造轮子。 4. 对工作精益求精 优秀程序员:会抽时间review自己的代码,并思考如何提高性能。 一般程序员:只喜欢开发新项目,不喜欢维护旧项目,万一搞崩了呢? 5. 有钻研精神 优秀程序员:遇到问题,会考虑独立寻求解决办法,提升自己处理问题的能力。 一般程序员:喜欢把问题交给别人,把代码发给别人,让别人帮他找问题。 6. 良好的情绪管理 优秀程序员:理解需求是会不断变化的,不会把消极情绪表达出来,能控制好情绪,能跟产品经理和谐愉快沟通。 一般程序员:因为需求反复修改就索性说这个代码实现不了。 7. 态度很谦虚 优秀程序员:对新的技术敏感度,保持学习的热情,而且为人很谦虚,不觉得自己有多牛。 一般程序员:生怕别人不觉得他是大牛,到处瞎逼逼

如何提高程序员的生产率 (2)

走远了吗. 提交于 2019-12-06 18:50:47
版权声明:本文由韩伟原创文章,转载请注明出处: 文章原文链接: https://www.qcloud.com/community/article/252 来源:腾云阁 https://www.qcloud.com/community 接上篇 如何提高程序员的生产率 (1) 三. 开发过程 沟通 软件通常都需要经过很多人和很多次的沟通才能生产出来,但是沟通本身又往往会影响软件的开发速度。这是一段很矛盾的关系。好的沟通方法能降低开发中因为信息不透明导致的开发资源浪费,而又尽量减少沟通所占用的精力。 1. 需求沟通 在任何一个软件产品中,如何应对需求的变更,都是至关重要的。需求一直是软件工作得以成功或者失败的最重要因素。软件开发中很多技术和方法都是围绕着需求来设计的。 需求的沟通是需求工作的第一个环节。首先沟通的对象必须是经过挑选的,以免添加不必要的需求混乱。最佳的需求沟通是和用户或者用户代表。但是他们往往他们缺乏必要的计算机知识。而程序员却很少有丰富的需求领域的知识。这个鸿沟需要双方共同去弥补,最重要的做法是,不要光靠口说。 程序员应该认真研究需求领域的知识,仔细查看涉及的单据、原型产品、现有工作流程等,而且必须用笔记录下来,之后再去整理问题,逐条咨询用户。在仔细了解情况之前,不宜开始设计整体程序结构。 当你有一定了解之后,程序员就可以动手开发一个快速的原型,如果没有足够资源

初级到中级再到高级程序员的进化之路

空扰寡人 提交于 2019-12-06 14:34:36
一、初级->中级 通常在初级这个阶段,是进步空间最大的阶段,这个阶段是不存在天花板。 编码:编码是初级阶段最需要经常做的事情,古话说孰能生巧,写代码也是同样的道理。 * 写什么样的代码 在公司要多做业务,尝试不同的业务,目标是让自己成为一个熟练工。下班后也可以折腾点 小项目做,可以选择自己感兴趣的内容,尝试自己实现一遍。 * 如何写代码 学会模仿,参考大牛的编码风格,照葫芦画瓢。如果公司有代码规范,跟随着公司的代码规范走,如果没有,参考业界代码,并用工具(如elint)约束自己。遇到一些不会写的,哪怕找到可以参考的代码,跟着抄一遍也行。 学习 初级阶段是需要通过大量的学习来提升自己的能力。 1.明确自己的学习目标学习是为了提升能力,能让你胜任更复杂和有挑战的工作。 2.应该学习什么内容 前端基础,JS、CSS、HTML反复学习。工作中用到的一门前端MVVM框架。 了解一些广度知识,比如HTTP、正则表达式、Web安全、性能优化、设计模式,数据结构和算法。 3.找到合适的学习方式 看书+编码:购买经典的书籍阅读,并作为平时写代码的参考工具,看书和编码是一个反复的过程, 基本就是看书->编码->看书->编码循环3-4次,这个过程就是不断修炼内功。 视频:慕课网的入门实战视频,根据自己的需求购买,要充分学习自己购买的每一个视频,认真的跟着老师学习一遍写一遍,遇到不懂的要积极提问

程序员修养

筅森魡賤 提交于 2019-12-06 02:50:53
1,要有自己的思想,思辨能力 //重深度发展,不要横向扩展!!! 2,两门语言 :java+php / java+python(起点太高,适合有情怀的程序员) 3, 服务端相比前端省心,成本低一些(喜欢那个选哪个) 4,前端一定要有一定的审美能力 5,服务端要有一定的大局观,架构能力!!! 6,举棋不定选服务端,因为前端变化快 7,服务端更接近编程本质,前端会浪费大量时间在UI 8,踏踏实实做好手头工作最重要,不要异想天开,杞人忧天 9,对自己要高要求 10,人生很多的困境,都是因为适当的年龄没有干适当的事情 11,少玩游戏,要玩就玩大制作单机游戏,3A游戏.......... 12,甘于平淡,耐得住寂寞 13,成就感,做出有人用的东西!!! 14,程序员的独立性:过去不分前后端的,现在分离了让程序员变脆弱了,应该前后端都要会,一个完整的产品是前后端都有的!(从产品的角度没有前后端) sku(复杂的业务逻辑)?spu?cms? 15,学习(一门课程)不仅要学习技术,还要用这个技术写一个项目,才能有收获,有成就感!!! 16,程序员确实辛苦,需要不断学习,不断历练(及时当勉励,岁月不待人) 17,代码大全2,黑客与画家,浮生六记(原版) 18,语言看书,框架看视频 职场: 19:提问是一个人综合素质的体现,要学会提问题!(准确,描述清晰) 20,80%可以debug解决,19

一年java程序员的迷茫

筅森魡賤 提交于 2019-12-06 02:14:24
写这篇文章的原因是我毕业一年多了突然发现自己的进步实在是太小,没有努力吗?不,我努力了。可我努力的结果呢?收货呢?写下这些话是求助也算是总结。 不知道有没有人像我一样,在大学里每年拿着奖学金是别人眼里的好学生乖乖女,可等到毕业了突然发现自己好像一无所长。做为一名计算专业毕业的人,即使专业知识不丰富,编程能力几乎为零,我仍然选择了从事专业相关的工作。 现在的我是一名java程序员。虽说是开发,但我自己都不知道我算不算是个java程序员,对自己的工作我好像都没有一个精准的定位。 2016年5月16日,我进入了现在的这家公司。公司不大,我所了解到的业务主要是云招生、银行项目等,在南京我所在的所谓的开发中心里只有8、9个人,跟公司其他人联系只能通过微信和电话。我每天的工作就是根据业务顾问分给我的工作去添加或修改别人的代码。之所以说是添加或修改,是因为现有的程序已经封装的近乎完美了。我每天重复的进行增删改查的工作。我不知道是不是所有的初级程序员(暂且这么说吧)都是这样的工作,没有技术含量,没有挑战,我只需要搞懂业务需求明白数据设计就可以完成。 我明白自己没有技术没有知识太复杂的工作我好像也完成不了。于是,我尝试着去学习。可我又突然发现自己需要学习的太多,突然又没有了方向。作为一名javaweb程序员, 我需要学习java基 础知识 、web前端的知识、jsp、

从程序员到架构师,有捷径吗?

前提是你 提交于 2019-12-05 22:20:15
架构师,我们程序员打怪升级的主要方向,它不像某些技能报个培训班就可以获得。胜任架构工作需要具备许多技能,如果想尽快转型升级至架构师,那你必须在日常工作中有意识地储备这些技能。网络上有不少架构师技能图谱,但高质量的很少,大部分都是东拼西凑出来的,脉络不够清晰,层次不够分明,杂乱无章,缺乏逻辑,就像拿着错乱的武学秘籍练功,练不成真本领还是小事,就怕走火入魔、浪费时光。 ​ 俗话说:一口吃不成胖子。从程序员到架构师也无法一蹴而就,它是一个循序渐进、稳步提升的进阶过程,每个阶段有每个阶段需要掌握的技能,多项技能之间还存在先后顺序,既有硬技能还有软技能。如果以硬技能为例,我们可以将其分解成下列几个维度: 从职位晋升的角度看,程序员都要历经初级开发工程师、中级开发工程师、高级开发工程师这三个阶段才能进阶至架构师,此后还有架构专家、高级架构专家等职位,再往上就是首席架构师、首席技术官。 从代码规模的角度看,程序员都是从编写函数、类开始起步的,再逐步负责单个模块、子系统、系统、平台等,代码规模从小到大,关联关系从内到外,复杂度变得越来越高,往上有系统群、生态圈等。 从技术堆栈的角度看,程序员入行只要懂某门编程语言就可以了,进阶时需要钻研不同编程语言、开发框架、应用容器、语言运行时、数据库、操作系统、网络协议等,这样才有能力把握各种类型的系统。 从设计方法的角度看,程序员从面向对象设计开始起步

15年老程序员首次分享,年薪200万是怎么做到的

心已入冬 提交于 2019-12-05 11:32:14
亲爱的小伙伴: 你好,我是黄Sir,一名在技术领域从业15年的IT老兵,从刚走入企业的一名程序员到央企的研发经理再到互联网上市公司CTO,直到现在自己创业做CEO,一路走来对技术人员的成长和发展有了越来越多的感悟。 看到了很多技术研发人员长期从事着重复且没有太多技术含量的工作,整日都在被繁重的业务需求压的喘不过气,每日通过体力劳动和加班来获取自己生活的保障以及微弱的加薪晋级机会,更不要谈自己的生活和个人情感规划了,对于大家来说996和日渐稀少的发丝才是标配,连想要升职加薪的想法都慢慢变得微弱,甚至已经向生活妥协。 从新兵蛋子走向研发负责人的成长史 想起十几年前的自己刚刚从学校毕业走向工作岗位,也是壮志满怀,希望通过努力改变自己的人生,确实我也做到了,但非常辛苦…… 记得当时自己所在的项目是一个在甲方现场研发的项目,主要业务方向是金融行业(请大家不要对号入座,这里只谈我自己的成长感受),项目组常年保持在50人以上的团队, 作为一个年轻程序员非常憧憬成为研发经理,研发总监,但在这样一个团队里,如何才能脱颖而出呢? 尤其是在这样一个研发环境和研发技术要求以稳定为主的传统行业里则显的更加困难,每一个程序开发人员都只是一个螺丝钉,即便你转的再快也无法使整个环境发生改变,这种状态也是现在刚进入工作的程序员的一个普遍工作状态,虽有工作热情,但能力和经验不足,是难堪大任的

2019年10月全国程序员工资统计,一半以上的职位5个月没招到人。

大城市里の小女人 提交于 2019-12-05 09:13:03
我每个月第一天(也许是第二天,第三天),会爬招聘网站,并在CSDN发布。 趋势 全国程序员平均工资走势图。图上可以见,6月到8月,工资涨的比较快。之后就停止甚至下跌了。当然,6到8月涨幅过快,后面的下跌可以看作是对之前的调整。怎么感觉我是评论股票的。。。大家听过就算了,别当真。 同时,10月份的招聘人数也大幅减少了。我估计,可能是用人单位不愿意刚刚招来个人,就给他放十一假期,这样不核算。所以宁可推迟招人。 招聘职位的年龄 只有15%的职位是新职位,既9月份没出现的职位。当然,在我上次统计和这次统计之间,有些职位可能挂了上去,然后招到了人,又撤了。这个我也没能力统计了。 绝大多数职位都是【历史】职位。其中52%的职位,已经招聘了5个月了,还没有招到人。 以上是本期的新增内容,以下内容和往期一样,没什么新意。不建议老读者观看。 主要城市程序员工资 编程语言 编程语言 平均工资 haskell 21516 rust 19561 lua 17739 matlab 17690 python 17444 go 17405 perl 16065 ruby 15832 kotlin 15414 c/c++ 15393 julia 15167 swift 14722 typescript 14111 objective_c 13685 java 13259 php 12836 javascript