程序员能力

2年的程序员之路

时间秒杀一切 提交于 2019-11-29 10:24:50
  2015年5月26日,正式入职IT行业,成为一枚程序猿。经历了两年多的IT生涯,敲了两年多的代码,到今天,才真真正正的思考这个行业。 2014年末,即将大学毕业的我,面临着找工作的迷茫,算是随大流的跟着二十几位同学参加了软件培训班。自此,工作方向暂时是有了,未来,则是培训班里那些老师描述的美好未来。没错,初入IT行业的我,对程序员行业充满新鲜和信心,充满着斗志,在我所以为的未来下。刚参加的第一份工作,参加的第一个项目,因为工时预算短,每天过着朝九晚十一、上六休一的工作。状态持续了半年,我没有一句怨言,因为我对我的未来始终充满着信心,相信努力就会有回报。之后再换第二份工作时,面试官对我说工作忙时可能会加班,我心里说“切,加班而已,我那么强度的加班都加过了,还怕这点‘小打小闹’ ”。所有的一切都是因为我相信我的未来,我有我的目标,我相信我能在这个行业打下一片自己的阵地。后来,来到现在的J公司,刚进公司遇到的项目微信摇一摇,也是因为预算时间不合适,然后紧跟着也是加班赶进度。当忙完这个项目,终于不再高强度加班之后,我有了更多的时间。我参加各种活动,参加各种培训课,不断充实自己,学习其他更多的东西。渐渐地,自己在技术上沉不下心了。不知道从什么时候开始,觉得自己不适合软件行业了,觉得自己不适合做技术了。我发现原来自己有很多别的能力,在别的领域或许也可以做的很好,为什么非要做技术

培训班出来的怎么了?

人盡茶涼 提交于 2019-11-29 10:24:24
前两天我在公号转载了一篇关于程序员生活的文章,文章中作者有提到培训班的一点事情,其实文章的主体和培训倒没有太大的关系,结果就有一个哥们给我留言: 培训班出来的全是垃圾,没有例外。一个优秀的程序员首先是兴趣和热爱这个行业,其次是思维方式和学习能力。短短几个月的培训班只会毁了你,让你变成面试机器而不是塑造你。 虽然他的留言稍微偏激,但其实也能代表了行业内很少一部分人的观点,甚至有时候一些公司招聘的时候,也会特别注意从某个培训机构出来的学生,因为从他们机构出来的学生有少部分简历造假,简历统一写着各种电商项目,当你准备和他细谈电商的技术架构时,一问三不知。 这类的简历因为毕竟难找到工作,因此会不断流转到市场中,导致大家对培训机构出来的人可能有一些偏见,但是仅仅因为这一少部分人就完全否定整体,绝对是 SB 行为,可能你不知道正是中国这些年兴起的培训机构,支撑起了一大片中国互联网江山。我们真正应该鄙视的是这些简历造假的程序员,而不是从培训机构出来的同学。 在前几年,随着互联网高速发展,各个互联网公司对人才的渴望是非常迫切的,而中国高校每年输出的那点计算机相关专业的毕业生,完全不能满足中国IT行业快速崛起的用人需求,想象下手里拿着大把钱也有很好的项目,却找不到合适的人是多么痛苦的一件事。 可能你的同事是毕业于化学系、物理学、数学系或者机电系的都比较常见,随着行业的发展慢慢的你会发现学医的

非科班程序员和科班程序员的差距到底在哪里?

喜欢而已 提交于 2019-11-29 10:23:17
阅读本文大概需要 5 分钟。 作者:黄小斜 作为一名典型的非科班程序员,我在学习和工作一段时间之后,发现了自己跟科班程序员还是有很多的的区别,不管是思维上还是做事风格,以及对待问题的解决方式,都感觉有些差强人意。 今天我就给大家梳梳理一下,科班成为相对于非科班程序员,他们的优势到底在哪里? 第一点那就是算法能力。为什么要强调这一条呢,大公司总是喜欢考算法,平时有些项目也有可能用到算法,总之算法就是衡量一个程序员的一把利器,作为非科班程序员,大部分时间,学习算法都只能靠自己,作为计算机领域的一门难题,没有老师指导,没有一些好的学习方式,那么你在算法上面的成长,可能也会很少。 对于算法问题,即使是科班的程序员往往都很难以去克服,更别说我们这些半路出家的程序员了,记得我当初连数据结构,都不知道是个啥,这种情况下去学习算法,真的就是扯淡,学会了数据结构之后,发现也只是学了皮毛,等真正接触一些面试算法题,才发现计算机的世界原来如此的博大精深。 除了算法之外,更要命的东西来了,就是计算机基础,传说中的四门专业课,我相信这几门课程也是横亘在科班程序员和非科班程序员之间的一道巨大鸿沟,科班程序员基本上在大学期间都有机会接触到这些基础课程,而非科班程序员几乎是无法接触到这些课程的。 一般来说,他们能够掌握一门语言,并且学会了如何做项目之后,就觉得自己已经学的很多了,很多非科班的程序员都不知道

程序员的“非程序员”之路

烈酒焚心 提交于 2019-11-29 10:22:16
摘要: 20多年前我就开始写代码,很喜欢写代码,直到现在为止仍然热度不减!人生总是会和你开点小玩笑,我在多年之前走上了”非程序员“之路。我觉得无论你将来是否继续走技术路线,你的程序员经历将为你打下雄厚的基础。本文为你分享我的一些心得,为你分享一些程序员也应该掌握的”非程序员“技能,希望对你有帮助。 什么是”非程序员“? 什么是程序员?这应该不用解释了。所以”非程序员“就很容易解释了,只要你从事的是IT类工作,但又不是写代码的,你就是”非程序员“! ”非程序员“常见的职位有:项目经理、产品经理、测试工程师、配置管理员、实施工程师、SQA等;除此以外还有部门经理、副总、总经理、老板! 按照时间顺序,我做过的职位有:程序员、项目经理、研发中心经理、副总经理、常务副总,后来我创业了,所以老板我也当了一回!(PS:我这个老板是光棍司令) 我的程序员之路 如果我问你:你写过代码吗? 你肯定会说:写过,而且还写了很多! 请你留意,我说的是”写“代码,而不是”敲“代码噢。 我的运气比较好,高中一年级的时候学校就开课《BASIC语言》这门课。当时电脑是很稀缺的资源,家里没有计算机,虽然学校有计算机房,但上机的时间并不多。当时我编写程序的方式就是用笔在练习本上写代码,调试程序的方法就是在脑袋里面运行这个程序。平时我写下大量的代码在练习本上,非常珍惜上机时间,想榨干在电脑房中的每一秒中

告别程序员生涯,一点感慨,与诸君共勉(转CSDN)

我与影子孤独终老i 提交于 2019-11-29 10:22:03
告别程序员生涯,一点感慨,与诸君共勉(转CSDN) 帖子地址: http://topic.csdn.net/u/20110331/00/37ad95f8-f559-497f-b527-191eb701ef77.html?99610 再过几天,我就正式告别程序员生涯了,这也是我最后一次以职业程序员身份在CSDN发表文章。 小弟谈谈入行几年来的感受,做一个人生阶段的自我总结,同时希望能给后来者带来点参考意见,能在这段路上走的更好。 本人2002年下半年正式入行,至今2007年4月一直从事软件开发工作。 上大学选择这个专业是阴差阳错,但接触之后对计算机产生了强烈的兴趣,对写软件有一种强烈的冲动。 软件成型后,那种成就感和自豪感能给我难以名状的满足。 那时,喜欢看侯捷的书,对核心技术和核心技术人员由衷的崇拜,对技术的追求和水平的提高有一种莫名的狂热,当时我想只要能从事软件开发的工作,起初的薪金待遇可以不计,等我技术方面成熟后,自己就有更高更好的选择了,程序员-系统分析-项目经理-自己的软件公司,这是当时我一个朦胧的程序人生规划。 现在想来,不禁一番唏嘘。 我记得我在培训的时候,一个培训的老师当时是本地一家有名的高科技企业的CTO,确实是专业人才,就是不太会讲课。我问他做程序员的感受,他说经常写程序经常写到凌晨2点钟,很累不过很有意思,因为他喜欢这份职业(当然喜欢啊,他月薪7000-8000

程序员职业规划:让自己变得重要

放肆的年华 提交于 2019-11-29 10:21:21
昨天在Better Software Magazine上看到一篇文章Make Yourself Essential(杂志不在手边,文章名和杂志期号都记不清了),谈到了IT市场变幻,程序员风光不再,身为程序员应该怎么应对。作者开篇明义:工作外包,公司裁员,是公司的错么?当然不是!一切都是程序员的错。当我们技术沦为大宗商品(所谓大宗商品,就是说商品和商品间的区别主要就是价格了)的时候,我们被收费更低的竞争对手代替的日子也就不远了。而随着技术的进步,很多编程技术也就不可避免地成为大宗商品。而要想增加自己的重要性,变成公司不可缺少的人才,全在程序员自己的努力。为此,作者建议程序员学习企业家精神来提高自己的能力和地位。也就是说,我们的技术相当于我们的产品,那怎么才能让人们需要我们的产品呢?作者提出了四个步骤: 调研。如果你是一家公司的CEO,你会不会因为一个产品有趣,或可能有买家,就轻易投资?显然不会。同理,我们时间精力有限,怎么也不该去学习屠龙术。这点其实对CSDN上很多小萝卜头应该有所启发。成天钻研些i+++++i实在浪费时间。一个企业家在投资前,会花费大量时间精力调研投资可行星。以此类比,我们程序员也应该仔细思考,自己到底应该学习什么东西。作者提出了一些通用的指南,比如学习还处在上升阶段的技术,不要花太多时间在过于大众化的技术,除非你在那方面出类拔萃,等等。 投资。对普通程序员来说

程序员,你当的了吗?——读《高效能程序员的修炼》有感

人走茶凉 提交于 2019-11-29 06:52:25
在我读大学的年代,计算机专业火的不行。那时候从那个专业(包括其他相关专业,比如物理和电子)毕业出来的学生,很大的比例都当上了“程序员”。而很多公司会给它一个更加响亮的名字——软件工程师。多么有份儿的职位名称啊。尤其是里面的“工程师”更是给这个份工作平添了个又大又亮的光环。 当然,这都是别人眼里看到的。我们自己(由此可见,我也是其中一员),却管它叫“码农”。为啥?工程师多好听啊,为啥不叫。没办法,不是不想,是不够资格。软件工程师,你以为那么好当的啊! 我的老板前几天送了我一本书,《 高效能程序员的修炼 》。它的副标题说明了一切:软件开发远不只是写代码那么简单…… 想当程序员吗?想做软件开发吗?嗯,单单会写几行代码是远远不够的。(话说我们也真的很苦逼。会写代码已经很不容易了,这还不够。还要学那么多“乱七八糟”的其他东西才能配得上这个职位。) 翻开书,天哪,要学的还真不少呢。从心理学到团队管理,从人员招聘到用户体验,从团队协作到市场营销,从系统安全到代码测试,我们甚至还要去关心坐什么样的椅子,用多大的显示器。我只是想当个程序员啊。容易么! 不过话说回来,人总是要发展的。你愿意写一辈子Hello World吗?只有丰富了自己的经验,开拓了自己的视野,不但从代码的角度,更要从用户的角度去最求产品的完美,才能让自己得到升华,让自己的代码变成艺术。网络上有句话:我们不是程序猿

程序员如何顺利应对中年危机?

天涯浪子 提交于 2019-11-29 06:37:35
程序员中年危机的焦虑 说到程序员的“中年危机”,这四个字承载着太多焦虑,而焦虑的原因主要有以下三点: 1、上有老下有小、左有房贷右有车贷,职业选择经不起任性; 2、自己不断增长的期望和实现之间的差距越来越大; 3、行业从业者更加年轻化,互联网寒冬人才需求缩减,自己却一直停滞不前遭遇瓶颈。 时代成就了我们 很长一段时间,我都在想,这些年程序员收入确实不错,程序员因此一度被特别关注,其实深入思考你会发现,我们也只是运气还行,恰好赶上历史机遇了而已,说直白点,这是智能手机和移动互联网带来的行业爆发式增长的结果。 互联网万众创业创新的那几年”猪都能飞起来”。而2018互联网寒冬“猪掉下来摔死了”,互联网也将迎来又一次行业巨变、人才洗牌,下面详解: 越来越多的大学生加入程序员这个行业,计算机专业的学生数量及质量都不断上升。根据教育部的统计,2016 年有高校毕业生 765 万人,为历年最高;而与编程相关的专业毕业人数达到了总人数的 8% 以上,大家可以算一下。 互联网行业正处于波谷期,BATJ等一线大厂招聘需求缩减。BAT 等巨头企业 2017 年的校招需求数量均不足前两年巅峰时期的一半,与此相对的是对高级程序员、JAVA架构师、CTO等高端招聘的需求越来越旺盛。 以“概念产品”取胜追求快收割的创业公司倒闭了不少。 较难继续为基础研发的工程师提供稳定大量的岗位需求

GitHub 开源项目标星 1.6w,但作者月薪却不到 5K?

元气小坏坏 提交于 2019-11-28 22:53:37
本文转自大数据文摘,作者文摘菌,编辑 GitHubDaily 前不久,知乎上一个很老的话题忽然被重提,主要和开发者的薪酬有关。 B 站三年前开源的 flv.js 项目大火,标星超过 1.6w,但项目作者谦谦(网名)被曝月薪竟然还不足 5000,年薪不到 6 万人民币。 许多人看到这里不免感到唏嘘不已,为作者抱不平。 那么,当年程序员的薪资情况到底如何? 根据 “2017 年一线城市程序员工资大调查” 显示,一线城市的程序员薪资平均数和中位数均上 10K,最低只有 3K,最高则有 25K,公差较大。 https://blog.csdn.net/juwikuang/article/details/72888792 如果只看薪酬的话,谦谦只能算是程序员里的 “低收入人群” 了。 那么问题来了,flv.js 到底是什么,为什么有人说这个项目十分牛逼,但开源作者却遭受到如此冷淡的待遇? 中国高中毕业 95 后程序员开发,GitHub 标星 1.6 万 如果只用一句话介绍,flv.js 就是一个使用纯 JavaScript 编写的 FLV(HTML5 Flash Video)播放器。 具体来说 flv.js 到底厉害在哪里?根据作者谦谦介绍,flv.js 主要做了以下三件事: HTML5 原生仅支持播放 mp4/webm 格式,flv.js 实现了在 HTML5 上播放 FLV 格式视频; 使

一个合格的程序员,需要哪些必备技能?

瘦欲@ 提交于 2019-11-28 18:26:49
对于一个Java开发来说,编程技能毋庸置疑是很重要的。 但是,除了基本的编程开发能力,其他方面的能力也是体现一个程序员的能力的很重要因素。 比如,问题排查能力、线上运维能力、项目管理能力、协调沟通能力等。 本文,主要来简单介绍一下,作为一个合格的Java开发,除了自身技术成长之外,还有哪些方面可以提升。 ​类开发技能 第一类,并不是纯coding技能,但是也和开发相关,我称之为类开发技能。 Linux系统 很多人的开发机器是windows,所以平时也基本都是图形化开发界面。但是,这并不意味着你就不需要基本的Linux技巧。 因为,你开发出来的应用可能部署在一台Linux机器上,很多时候你要和这台线上的Linux服务器打交道,所以,Linux系统的安装、开发环境的搭建、Linux常用命令以及Linux环境下项目的部署启动和调试等都是必备技能。 否则,一旦线上出点什么问题,你就会束手无策了。 单元测试 我在 《单元测试的重要性》 中说过,单元测试是很重要的,而且,好的单元测试可以帮助我们节省很多开发时间。单元测试是保证软件可以更好的持续集成和持续交付的一个基本前提。 单元测试也涉及到很多技巧等,比如使用Mock进行单测、使用内存数据库进行单测等。 一个开发人员,要有写单测的习惯,也要掌握基本的单测写法技巧。这样可以尽早的发现问题。 版本管理