程序员的十年工做创业血泪史,万字长文,仔细读完,受益不浅

 

吉日噶拉(在外企、上市公司工做过,本身也创业失败过,遇到过不少失败挫折,甚至露宿街头,可是最后仍是挺过来了),是一个十几年的程序员了,本文介绍了他的相关经历,以及他的一些经验,不管是对刚入门的程序员,仍是工做了十年八年的程序员都有一些经验值得借鉴学习。程序员

(一)三年前的一个项目经验

做者帮公司拉了一个政府的项目,可是因为经验较少,谈的价格很低,还有不少细节刚开始没有谈到,后面至关于收了不多的钱,給政府干了一个比较完善的项目,这节的经验就是:程序员通常不该该直接和客户谈项目,应该让专业的人去谈,他能把10万的项目谈到50万或更多。面试

(二)2005年个人第一次软件创业,烧掉30万,两年时间打水漂

(1)为何要创业数据库

教训1.手上有技术,可是没有客户,没有产品,就靠着一腔创业的热血和对软件行业的爱好!编程

教训2.团队不稳定,各类经费、杂费、水电给、租房费、设备费,制度不够完善,成本没有控制好。缓存

教训3.本身辛苦培养出来的技术人才,被客户三两下就要走了!人员的思想工做要作好。安全

教训4.小公司创业不要把财务彻底交给别人,熟人也不行。可能最后生意失败,本身一点钱都拿不到了!性能优化

教训5.作公司不是作技术,更多的是作人,我作人本就不到位,作公司必败!服务器

教训6.创业注意的问题点:网络

(2)我是个有经营头脑的人吗架构

(3)如何判断一个项目是好项目

(4)财务预算和控制

(5)如何与人合伙

(6)把本身摆正位置

(7)创业其实改变不了一个失败的打工者

(8)对行业的认识,上游和下游的掌控

(9)害人之心不可有,防人之心不可无

(10)靠人的买卖是最不可靠的

(11)偶然和必然的几率。。。

(三)投递简历请换位思考及前台页面设计比后台实现更值钱

简历

通常要信息全面,排版工整。

前台设计

前台设计是艺术,这个是没那么容易学来的,越日后写程序的会越不值钱,设计的相对会值钱一点。程序是技术,设计是艺术。技术能够批量生产,可是艺术没法批量制造啊。

(四)团队工做氛围很重要,没有好的氛围难出好的产品和项目

一个开发团队、软件公司须要有一个 良好的氛围,你们人心稳定,每一个人都在有条不紊地忙乎实际工做上的事情,天天都有一点点成果,你们平时工做开开心心,一步一个脚印的发展。项目作的有条理,客户也满意,收款也及时,这才是软件公司生存发展的硬道理。软件若是作很差,软件公司确定是开不下去的!

(五)奔三的程序员,平时都忙啥?想些啥?之后有啥计划?

每一个人总要给本身寻找个方向,每一个人都须要有个信念,没有信念,活着就没意思,无聊,以为没有奔头了。做者是比较喜欢作技术那种,能够作到五六十岁那种,而且看到过更老的程序员!

1.比较喜欢技术,会常常学习,人须要不断提升不然很容易落后

2.看一些技术方面的书,管理经营方面也看,毕竟之后颇有可能走上这条路。

3.多关心人情世故,多联系朋友、同事、亲人,努力建设和谐社会!实际上是由于人脉比技术更加剧要!

4.沟通能力很重要,文笔也是须要一点的,写报告,各方面交流都是会有的,毕竟技术能力不低了。

5.参与公司部分销售工做,作技术销售也是很重要的,也要让客户知道咱们公司的技术能力是很强的。

6.软件系统的核心部分、通用组件部分、关键部分、标准样式部分、标准框架部分,这些都是软件系统的核心,不能期望新手来完成。

7.编程不仅是20来岁作的事情,。能够走管理路线,也能够一直坚持技术路线。

8.生活不止有眼前的苟且还有诗和远方!

(六)你要有大客户,要有经济效益好的客户,你赚穷人的钱是很难的。

离职了也别成敌人,开开心心的离职,未来仍是会有合做机会的,说不定还很大的机会。

你要有过硬的技术,让客户相信你,以为这个事情你是专家,让你来作没错,你要时刻让本身的技术超出常人的水平。

拉客户要有个过程,小事情干好了,人家才放心把大事交给你去作,不可能一步登天。

不要作过于廉价的劳动力,那是在破化市场,尊重本身尊重别人,免费給别人固然能够,但若是那样作,IT就更不值钱了。

赚钱的机会不是每天有年年有,要学会抓住机会,错过了这个村就没有这个店了。

大项目都是有比较的,不是随便给你的,价格也不是乱开的,别人赚的钱也不是天下漂下来的,你须要打败对手,才能拿到机会。

(七)走火入魔闭门造车疯狂框架经验分享

好东西多得是,就看你如何看待它们。就像我下载的1G的C#文档同样,电子垃圾一大堆,每天跟在新技术屁股后面,也难提炼出个啥来。由于你永远跟不上时代的进步。你的积累也会变成你的包袱,除非你有惊人的毅力,不断完善你的积累,那最起码你要连续几年不打游戏,节省时间才能提炼出来,或公司出钱给你烧,也能烧出来。

不是新技术出来了,你之前的积累就推倒了,除非你之前的积累是经不起考验的,不然是不会被推倒的,新技术只是锦上添花而已。软件总体的开发不会轻易发生天大的变化,你须要的是不断吸取新技术,了解新技术的长处和定位,而后把须要的新技术消化好,用到本身的总体框架中。

(八)最近几年软件项目的心得体验

1.作软件外包的经验告诉我

作软件须要人海战术,作软件须要大量的体力劳动,而不是脑力劳动

2.咱们技术副总的主导思想

客户的需求变来变去怎么办?客户的需求变了,并非坏事,让客户填写好变动表,把工做量变化給客户确认,秋后算帐。工做不就是干点活作点项目吗?哪里不同,这个项目工做量愈来愈大,钱也是越来多,不是坏事。

3.我本身的主导思想

想多赚钱怎么办?直接找上级谈,你能干出啥来?想要多少钱?多长时间过好?对公司有啥好处?都谈明白了,老板也会答应的,你们都有好处,都在影响本身的心情,不能好好干活。

4.身边一直发生的事实告诉我

与领导沟通好,报告写好,比拼命干活效果好几十倍!别总埋头苦干,干得累死累活,没人知道你有多辛苦,及时向领导汇报状况交流。

5.我比较佩服的事业部经理告诉我

不能完成工做怎么办?最愚蠢的作法是通宵几天,突击几天,而后累死累活,最后仍是没能按时完成,人也累趴下了。其实,不能按时完成工做多了去,这时要先分析清楚延时的缘由,找上级说明缘由,让他们承认你的理由。而后把接下来的工做合理的进行安排,有条理的一个个作好。

6.个人自身N年工做经验代表

作软件为何那么累?由于软件是个细活,不是敷衍了事对付对付就能够的,须要一行行代码写出来,不能思路混乱,也不能偷工减料。无论是太理论也好,太理想化也好,总得有个理论指导实践的主导思想,不然这事就无法干了。

(九)不要給本身编织过多的理由,借口是永无止境的

工做要有力度,不能总是没完没了找借口,每一个人均可以给本身编织出美丽的借口理由来,听起来事那么地有道理,其实理由都是給本身编的,本身给本身下的套。

(十)打工和创业不一样的心态

这几年给人打工,感受真是太幸福了,每月无论业务好很差,无论客户给不给钱,老板都会按时给我发工资,卡里有钱了,不愁吃不愁喝,真幸福。

本身不开公司不知道赚钱有多难,本身不当老板不知道給员工的工资已经很高了。不要觉得本身创业就比打工能够赚更多钱,我见过不少朋友,本身创业创得很辛苦,可是他们打工的活能够很轻松拿到10K以上的薪水,可是他们非要本身创业,非要往火坑里面跳。

(十一)IT创业光技术好,谋略定位很差,可能照样会死得很惨。

你可能有了一个很好的创业思路,就感受用这个思路去创业,成本地,风险低,成功的几率高,你会跟你的好朋友探讨你的思路,会和你的好朋友讲解你的经营模式、经营理念,甚至带他到你的公司参观感觉一下你的成功。这时候你极可能在作一个错误的决策,你的朋友也不是吃素的,他也会模仿你,抢你的生意,抢你的机会。

我以为个人积累还能够,还作出了娱乐场的计费软件。我之前的合做伙伴偷了个人成果,销售了几十套。你的成果很容易被被人偷窃,你要学会保护你的劳动成果,你的劳动成果未必给你带来什么经济效益,肯定给你的敌人带来更多的经济效益。

小结:

1.开公司首要的是要明白你作什么能够赚钱,而别人不知道,或者还没抓住。你程序写得好,项目写得好,算个屁啊!全国程序写得好的人多了去了。你努力啥的,更没用,天下努力的人多了去!

2.身边都是虎狼,都是人精,都想吸干你的血,都是期望着跟着你或者从你身上捞一把的人。

3.创业千万不要又出钱又技术。要么烧别人的钱,要么别人出技术。你全出了,风险大,压力也大,甚至都没有精力跑市场。

4.你要找比你强的人合做,你能从他身上学到东西,而不全是你给予别人。与比你强的人合做,你绝对不会损失啥。

5.我特地整理了一下,里面的关键不是靠几句话就能讲清楚,因此干脆录制了一些视频,不少问题其实答案很简单,可是背后的思考和逻辑不简单,要作到知其然还要知其因此然。若是想学习Java工程化、高性能及分布式、深刻浅出。性能调优、Spring,MyBatis,Netty源码分析的朋友能够加我新建的Java群:650385180,我会在群里分享我从业多年的工做经验,以及Java大型互联网技术的视频免费分享给你们。

6.创业了,玩人必定是比作项目、干活更重要的事

7.小公司把股份分掉,你就是不要股份又能怎么样?等你玩透了,本身再开间公司又能怎么样。你給员工1%的股份,他都会很开心。甚至你卖股份給员工,还能够融资一把。

(十二)为何咱们每作一个项目软件,总要被折腾得死去活来

1.软件是个庞大的工程,不像盖小民房,能够看得见摸得着,软件是一个看不见的庞大工程,因此一个像样的项目,通常没那么容易就能搞定的。

2.客户的需求变来变去,咱们也要跟着被折腾来折腾去,没有一个很肯定的功能需求。

3.咱们的技术不过关,写的代码质量不过关,稀里糊涂,对付来对付去,咱们的代码经不起客户的折腾,没折腾几下,就可能被客户的需求給弄死了!

4.客户的需求一望无际,没有一个明确的范围,其实客户的需求范围是须要限定再某个明确的范围内的,工做就在这个明确的范围内开展。

5.可能咱们没有一个成熟的开发框架,每一个人都在摸索,每一个项目都在摸索,那是很浪费人力物力财力的。

6.咱们没有严谨的分工分界思想,哪些功能应该是再哪些模块作,哪些功能是在哪一个实现才对,哪些功能应该在前台作,哪些功能应该在后台作,可能都是混乱的。

7.咱们一直追求“差的很少就能够”,致使咱们作出来的程序很差用。漏洞百出,错误多多,没法将注意力都集中在客户的业务上。

8.公司没啥积累,一切都要从新来过,作一个项目走一批人,一年又一年,原地踏步。

9.项目组人员,同时负责好几个项目,东搞搞西搞搞,没法集中精力作好一个项目,哪一个项目都是半成品,都是个噩梦!

10.拉一个项目,招聘一批人,各路神仙,思路不同,作事风格不同,写代码不同,驴唇对不上马屁股,没法协调好!

11.老板不懂技术,觉得有几我的就能够搞定,没有测试,没有质量管理,没有需求分析,瞎搞乱搞,折腾来折腾去。

12.软件不像其余行业,是须要每行代码仔细写的,仔细琢磨,不能靠吹就能吹出来的,须要精细的编写,最后才能出来结果,也不是买过来,卖过去那么简单!

13。公司大部分都是眼高手低的家伙,平时东扯淡西扯淡,不踏实干活,尽搞些虚无缥缈的东西,没人干实事。

14.公司里每每耕地的牛是不讨主人喜欢的,汪汪叫的小狗却会讨主人疼爱,主人更喜欢小狗。可是作项目须要的是牛,不是靠小狗叫叫就能够了。

15.公司氛围很差,心情也会很差,压力会增长,代码量也是会降低。

(十三)一个完整的软件项目,最起码要注意什么

1.项目是谁拉来的?如何拿到了这个项目?公司给了多少业务经费?若是本身是业务员,收入会如何?

2.客户谁说了算?谁是这个项目的关键人物?这个项目的关系人都有谁,他们在项目中起到了什么重用?

3.项目的工期是多久?都须要哪些功能?客户经理的理想工期是多久?客户的指望值是什么?

4.项目的成员是如何组织的?人员是如何管理的?项目里分工是如何划分的?

5.项目的预算是多少?预算谁说了算?计划工期是多少?

6.项目总开发中的错误是如何管理的?

7.项目中遇到的难题是怎么解决的?

8.项目里的都用了什么技术框架?

9.项目里的技术分层是如何实现的?

10.后期发生的问题,是怎么处理的

11.上线是如何进行的

12.后期有没有在挖掘这个客户,有没有在挖出个相似的啥项目来?

固然还有不少不少能够经过实际的项目过程学到的有价值的知识点。

(十四)学习提升要积极主动,诚信对待别人,别人也会诚信对待咱们

在必定的瓶颈阶段,咱们要学会想办法去提升本身,无论是向同事、朋友、网友,均可以进行交流学习,最好是找一段时间面对面的实际交流。而且要诚心诚意,要有交互的过程,不能只是别人教你知识,你也要有能够交换的知识,这样人家才愿意。想要提升本身的,能够加个人Java交流群:650385180,进群备注好信息,阿里Java高级架构师免费直播讲解知识点,分享知识,多年工做经验的梳理和总结,带着你们全面、科学地创建本身的技术体系和技术认知!

(十五)如何突破月薪大关

IT软件人生,人生的几回升华:

1.能独立完成任务,能作项目,升华一次。

2.技术过硬,思路严谨,升华一次

3.学会与别人工事,团队协做,升华一次。

4。当项目主管,升华一次。

5.经营一个公司,升华一次。

6.安稳下来,有本身的家,升华一次。

7.结婚,升华一次

8.当爸爸,养孩子升华一次!

若是能力不够仍是要用力提高本身,能力够了能够向上级提出要求,或跳槽都会有薪资的提高。

(十六)辞职也要辞得帅,辞得你们开心

辞职要注意的事项:

1.辞职须要提早一个月说好,最好能有书面的的邮件方式給相关的领导。

2.辞职的时候,最好先跟部门的经理说一下,不要直接跟老板讲,管理上比较重视不要“越级”

3.辞职前,把手上的工做都整理好,把能结束的工做尽可能结束。

4.若是是跳槽到到新单位上任,不要太急,最好等能最长的上岗时间,由于你跳槽了还须要办理不少事情,例如你的档案、养老金、公积金等等。并且规范的单位要初始上一个单位离职的证实,因此不要和上一个公司闹扳。

5.年末不要轻易辞职,通常不少单位都有年终奖,通常多少都会有一些。

6.不要和同事的关系闹僵,由于你的辞职,会致使有些事情要让别人擦屁股,还有些恩恩怨怨,积累多了,不太好,人总要有一些朋友的,若是你结婚或办什么喜事,想请一些朋友来乐一乐,也不会来几个。

7.须要有一颗感恩的♥,咱们的技术、水平、机会,并非靠本身的努力,不少是从同事那里学来的,是公司給的机会提升了咱们的水平。

8.其实一个城市的IT圈子的不大的,颇有可能你跳来跳去,仍是跳到原来的公司,或者你之前的同事跳到了你公司当了部门主管。因此平时要注意不要得罪同事,不要觉得好马不吃回头草,其实天下大也大,说小也很小。

9.有些机会是朋友、之前的同事、之前的客户提供的,因此要珍惜眼前的同事、朋友、客户。

10.不要说本身的公司的坏话,若你之前的公司很很差,那就表明着你也很通常。

11.就算辞职了,也要学会说人话,要感谢公司的培养,要感谢部门经理的栽培,要感谢同事的关系。你说点好话,公司领导也会另眼看你,说不定你在新单位混很差,混不开,还能够回到原来的单位工做!

12.其实这些软件公司的老板们相互之间也是一个朋友圈子,也常常有来往的,你跳槽到另外一个公司,他们也会经过其余途径了解你在原工做单位的表现、为人、技术水平。

13.本身也曾经当过不成功的老板,也能感觉到员工跳槽的痛,明明公司和客户有外包关系,一看对方的公司比本身的公司有实力,就跳槽到对方的公司。生意也受到损失,培养的员工也都跳槽到客户那里去了,还怎么赚客户的钱?因此要选择好及要的效果是损人利己仍是损人损己?最好是哪一个都不要损比较好。

14.跳槽从另外一个层面考虑,也能变成好事情。

(1)从公司的角度考虑:这个公司不错,别人肯挖这个公司的员工,说明信任这个公司培养出来的员工。

(2)从员工同事的角度看:跟咱们水平差很少的人能够进入更好的公司,能拿到更高的薪水,那之后有机会了,咱们也能拿到更高的薪水,会有更好的前途。

15.总的来讲,公司是你的跳板,是一个台阶,你须要有点感恩的♥。辞职时,跟部门里关系好的同事吃上一顿饭。

16.辞职从贬义理解就是

“逃避责任,逃避现实”

,其实无论是在哪一个公司混,都差很少,咱们比拼的就是技术能力、人品、为人处世而已。你在这个公司混不还,到另外一个公司也是很难混得开。

17.辞职了,虽然脱离了苦海,可是颇有可能进入另外一个苦海。人走了,也不要一刀两断,能维护的,最好继续给维护,能交接的尽可能交接。之前的工做都是你的血与汗,别白流了,能让后人重复利用,尽可能重复利用。说白了,那也是你的孩子,你真的忍心抛弃你的孩子无论吗?

18.从原公司辞职,公积金、养老金中止缴纳了,最后一个月工资有争议了,到新公司,又有三个月的试用期打八折。其实仔细算一下,这个一来一往,差距仍是比较大的,因此多给个四五百就别跳槽了。我曾经的原则就是要多给个2000到3000才考虑。

(十七)一个老程序员的将来十年计划及目标

废话很少说,把本身的目标列出来,给你们参考参考:

1.如今本科学历有点混不开了,我一直没有时间读硕士,应该抓紧时间读个硕士来,再考虑是否读个博士。无论是读在职的,仍是花钱深造都是能够选择。不然有可能未来很很差混了,扫地的都是本科的了。

2.年纪也不小了,也该考虑,婚姻和孩子的事情了。

3.如今是公司的中层干部,争取经过努力工做,拼搏到公司的高层,年收入有个稳定的三十到五十万左右,养家糊口不成问题。

4.将本身的注意力从技术上转移到人的方面。更多的不是玩技术,而是关注技术和管理,关注身边的同事和客户,同事再技术方面也但愿跟上发展的脚步,不要落后太多,最起码什么都懂一点。

5.劳逸结合,身体是革命的本钱,不能为了赚钱不要命,身体垮了,谈什么事业,谈什么未来。平时注意休息,锻炼,争取不得大病,小病也尽可能避免。

6.作个全国行业内有点知名度的产品来

7.年纪大了,对泡妞也没兴趣了,总得有个喜欢的东西作作,例如钓鱼、收藏、那我就来个以作软件为兴趣爱好。打发打发时间。

8.要成为某个领域的专家,精通此行的管理(固然不能说是软件开发领域的专家,这个太不值钱,竞争也太激烈的,更新得又快)

9.开拓几个有实力的合做伙伴,也没有必要太多,精一些就能够了。

10.关注纯软件之外的知识领域,例如工业制造、数据采集,指纹系统,人工智能。也不期望深刻底层,只要掌握一些集成的经验及应用就就能够了,毕竟技术有专攻,跟行家是无法比的。

(十八)我是如何学习一门开发语言的

1.每一个年代学习的的途径不一样。我按当时的方式来说吧,想到图书馆去找,哪一个本子都会翻翻看,而后哪一个图解多,我就会有买哪一个的意向。并且图解多的,看起来不累,还能够有个参考,就算没电脑再旁边,也会大体看明白啥意思。仍是比较喜欢台湾人写的书,几乎全是图,没几个文字,并且学习的效果每每很好。还有就是,我通常购买

清华大学出版社

的书,相对质量会好点,其次是

人民邮电出版社

的。

2.学习也会很容易形成原地踏步的状况,由于你学前几本书的时候,学到的东西不少,当时后面看的不少书,内容会相似,因此须要本身把握好。

3.书都本身购买就太浪费钱了,因此我通常是从图书馆中借书来看。

4.参加工做后,个人学习方式就有些改变了,常常看网上的技术文章,看技术文章的时候内心会想着我也要成为别人羡慕的高手,这样就颇有兴趣看技术文章了。

5.其实也不要怕买书浪费,你能收获到的知识的价值确定比你买书的价值是要高不少了,前提是你买了就要看,否则就不要买。其次,不要买过期好久的书,由于如今知识更新仍是蛮快的。

(十九)曾经想学不少不少,最后发现本身只能专心学好不多的那么几个必杀技

1.软件行业最终出来的仍是产品,在某个领域不断地优化,干多久就优化多久。固然要有敏锐的洞察力,能想先知同样知道客户未来须要什么,会须要什么,那你就离成功不远了。

2.一把宝剑与1000把粗制滥造的刀比拼,最后哪一个会胜利?1000把烂刀都拼不过人家一把宝剑。

3.十年后发现,不少东西,丢弃的丢弃,落后的落后,淘汰的淘汰,惟独这么一个轻量级的开发工具库一直伴随着个人茁壮成长起来。

(二十)程序员12点,你睡觉了吗

谈谈个人心得体会:

1.晚上熬夜,早上起不来,那就是天大的痛苦。早上赶车、挤车,由于你精神不够很容易出事,或被小偷光顾。

2.你的领导、同事、客户看到你平时工做精神不集中,对你的评价会比较糟糕,之后有好事情也通常轮不到你,这会影响你的前程。

3.因为晚上没休息好,工做效率会很低,思路会很混乱,该作的事情没仔细作好,迷迷糊糊、稀里糊涂的一天就过去了。

4.一个做息不规律,邋遢、作事稀里糊涂的人,我就是有个漂亮的妹妹也不会介绍给他。

5.不按时休息,极可能会影响家人。

6.晚上加班了,没几我的看到你加班,可是早上迟到了,全部的同事都看到你迟到了。

7.年轻时身体像铁同样,等过了30岁,通宵一夜要痛苦三四天才能缓过来。若年轻时,不珍惜,过了30岁,啥病都找上门来了,赚的钱可能没药费多。

8.早上起来太晚,通常来不及洗脸刷牙,头发也没注意,形象仍是要主意好的,能给别人好的印象。

同窗们,常常熬夜真的会影响你的前程,仍是按时休息吧,除非时要命的事。

(二十一)春节后被面试和面试别人的经历

1.被人面试

书中的做者,投递的简历方向都是十年左右的工做经验的岗位,基本都是有面试通知,接着就是成果讲解,项目介绍是少不了的。基本也是能上岗位,可是仍是选择了稳定的一点的那个。

2.面试别人

主要从下面几个方面跟你们分享,对面试官和面试者都是有必定的借鉴价值:

(1)简历环节

①曾经跳槽单位不要过多,总要有几个待了很长时间的公司,不然很难有高薪的机会。

②项目经历不要写那些幼稚的学习项目,写上一百个都是没有用,一看就是入门糊弄小孩的项目。

③项目经验不要太假,工做才两年,上十个项目,这么可能啊?蜻蜓点水?能长啥经验?

④工做年限、指望工资写清楚。

⑤其余方面,好比我的的详细资料,联系方式都是要有的,而且排版整齐

(2)笔试环节

①咱们不是研究高新技术的,咱们考的是你的基础功,虽然面试题目很简单,可是须要仔细认真的写,代码也要写工整些。

②简单的题目不会作,难的题目更不会作,无聊的时候仍是要翻翻基础语法的书,SQL的书等等。

③不要藐视简单的题目,通常都是暗有玄机

④我没见过笔试很糟糕的,真正干活却很厉害的人。我记忆中的同事,平时工做厉害,笔试也不差。

(3)面试环节

①首先你不能有口臭吧,再穷也要买个口香糖,把口臭问题解决掉。

②带上纸和笔方面不时之需。有厉害源码或项目的能够带上电脑。

③头发梳理干净,穿得像模像样,第一印象是很重要的

④没法表现出对编程的热爱,会是好员工吗?

⑤笔试很差能够理解,可是几乎没有一个说得出口的本身擅长的东西,是不行的。

⑥沟通能力很差,或者本身的思路表达不清楚,通常是很难找到合适的工做的。因此平时工做要学会多交流,别跟你旁边的同事Q来Q去,学会直接张口对话不时坏事。

⑦咱们更愿意录用那些看上去顺眼,性情稳定,目标明确,有一计之长,工做经验丰富、有实际工做业绩证实的人。

(4)老板环节

①虽然前面两关过了基本上不会有啥问题,可是也不要太随意,上层领导更看重精气神的表现。

②一些细节也要注意到:好比,敲门进入,坐着不要翘起二郎腿。

③老板也会很在意你的沟通能力,职业规划,价值观,知识等方面

(二十二)想快速提升技术水平吗?你须要找高手,给你的代码来个深刻点评

1.咱们国内的程序员大多都不善于交流,即便善于学习,提升的仍是不明显。很多工做了五年的人与工做了一年多的人的水平本质没啥区别。这种原地踏步的状态,会让人感到迷茫。

2.咱们大多喜欢看技术文章,可是不喜欢把本身的代码拿出来交流,让高手看。说白了,其实高手也懒得看菜鸟的代码,因此你得求人家看才行!由于大师給你点评,你就知道,你与他们的能力差距体如今哪里,哪些没有注意到。

3.记得刚开始工做的时候,别人指出我,有些命名习惯很差,有些逻辑思惟判断能够更简单写,刚开始我是有点抵触的,可是,后面想一想,不少最基础的东西都没作好,怎么能算一个好的程序员呢?直到我如今认为,哪怕是一个字母的大小写没弄好,或包名没设计好,都是很不该该,很幼稚的错误!

4.那些难以提升的人的特色:

(1)目中无人,自觉得是的程序员

(2)听不进别人的意见,总想抢着讲本身的观点的程序员

(3)不关心别人,每天闭门研究,并且着手与研究十年八年才能成功的项目的程序员—世界很大,你正在研究的不少问题,别人作就解决了!

(4)工做中,没遇到大师和高手,想交流和切磋没办法,只能考网络学东学西,再买几本书看,难以掌握系统知识的程序员。

一般来讲,拿来主义每每是见效最快的。有效的沟通交流,比本身努力强上至少5倍。不少时候,研究别人的成果比本身从头研究要节省不少的时间。程序员总不是靠吹出来的,还须要静心写一写,但别忽略了沟通交流的重要性。

(二十三)接近60岁的日本IT软件小老头在干什么?咱们能从他身上学到什么?

不少软件开发人员,好像过了30岁就迷茫了,30岁没当上管理职位就面子过不去了。还记得在上海遇到一个60岁的IT小老头,看看人家在干什么:

1.整个系统构架,都是由他选型的。例如整个系统分几层,用什么开发语言大多,固然包括数据库的选型。

2.到底用哪些三方组件,例如报表、三方协议处理软件、展现控件,并且对他们了解很是深刻。

3.整个系统的例子程序基本都是他写的。并不仅是选择系统构架,他把构架选好,还能让它跑起来,而且把范例程序写好(你们都是安装他的写法写程序)

4.编码规范、注意事项,都是由他起草,而且写得很规范。

5.几乎全部的设计文档,包括页面的初步设计,都是他作的。他知道整个系统须要多少个页面,每一个页面须要什么功能,有很明确的说明,很详细。

6.数据库的详细设计都是他负责的,包括每一个表、每一个字段的名称、类型、默认值等。

7.项目中难题的攻克,特别是控件上的特殊处理,都是这个老头在负责维护更新。

8.项目的验收、与客户的沟通问题,项目的进度的安排和跟进、费用的计算都是由这个老头来负责。

跟这样的人一比,那些十年八年的老程序员,简直是小菜。没有个二三十年工做经验,哪里来的那么强的技术能力。可是坚持学习二三十年的技术也不是一件容易坚持的事!

你们就当一个参考吧!

(二十四)技术人员须要先学会作人,在学会作事,以后才能成事。以成名得利。

1.其实两我的作项目,既能体验工做的乐趣,又能相互学东西,多了不少安全感,少了很多孤独感。

2.经历N多失败也不是什么坏事,只要你不被失败完全战胜就好。没有惨痛的教训,就没有深入的体会。

3.之前总想用实力来证实本身是最强的。认为把实实在在的实力拿出来了,别人应该不得不认可你的能力。其实,好胜性格的人在刚开始工做每每会碰壁,身边的同事也大都反感。

4.无论作什么事情,咱们要记住一点。首先要获得领导的承认,从上而下执行的事情,每每会跟顺利一些。

5.一些建议:

(1)压住好强心理。

(2)先不要急于作事,低调低调再低调。

(3)遇到事情不要立刻就和同事沟通,想把思路捋好,试一试可行的办法先。不要浪费人家大把时间。

(二十五)程序员找老婆—相亲节目引起的一点思绪

简单的说吧,在大城市里面的程序员找老婆不容易!年纪大了,程序员不少都是会去相亲。

相亲方面的劣势:

一个方面性情不够开朗,兴趣不够普遍,物质条件优点不大。并且陪老婆的时间不会太多。

还记得看非诚勿扰,一个片断,一个相亲的男的说我是个PHP程序员,而后场上的灯,立刻灭了一大片,像打机关枪同样,主持人都一脸懵逼。这个引人发笑,可是倒是值得咱们程序员深思的!

(二十六)技术水平很高,可是正规公司为何仍是不录用这些人?

其实公司都是但愿来的都是大牛,可是也要合适的。

※ 不容易被录用的状况:

1.越是规范的大公司多来的人,越不容易被录用。由于大公司出来的人通常都只懂局限的一部分工做,综合实力相对很弱。

2.越是规范的的大公司过来的人,每每不喜欢啥都本身作,已经习惯了作单种工做。

3.越是大公司来的人,薪资要求越高。

4.越是大公司过来的人,资历高,眼界广,管理难,你怎么指挥人家未必会听。

5.一我的的力量毕竟每每是有限的,就是招聘了这么一个大牛,他也未必能在短期内干出重大业绩来。

6.不少所谓的牛人,都是两手空空的牛人。

★ 容易被录用的状况:

7.至少有两年的工做经验。实习生是很折磨人的,学得很差,公司又不想要,学的好的,又颇有可能不久就跳槽!

8.作过几个像样的项目,手上有实际工做成果演示。不少时候公司不是要你的代码,而是看你的工做能力。

9.笔试成绩好,思路严谨,程序也写得不错,数据库SQL语句也写的条理性很强。

10.行业开发经验越接近越好。

11.正规的大学本科毕业。

12.薪资要求合理。

13.长相虽然不要求很英俊,可是不能影响公司的形象,看上去干净整齐。

14.经历过一个完整的项目周期,从项目开始到项目结束为止,不只会写代码,还能写一些相关的文档,有必定的设计能力,有必定的沟通表达能力。

15.肯努力工做,不时思路紊乱型的。水平差点,多教下,努力学习也是能够提升的。

其实程序员也就那么点工资,开始也不期望你作出什么惊天地的高深技术来。固然后期发展看我的状况。

(二十七)对普通员工而言,有效的沟通能力比技术能力更加剧要

体如今下面几点:

1.有些有难度的东西搞不定,也不跟领导讲。不找同事问,不找技术领导问,只是本身闷头研究,好几天也弄很差。其实张张嘴,你身边闲着没事的

寂寞高手也是会愿意为你露一手的。这些人可都是过来人,都是有不少经验的。

2.程序模块写好了,也不跟领导讲一下。写好后接着闷头学习研究新技术,或看新闻等等。其实你的程序可能还有不少未知的问题,或要修改的逻辑。

3.修改了程序也不跟组员讲一下。想怎么改就怎么改。这回让程序代码后期维护很难。

4.修改了Bug也不跟领导讲一下。测试人员不知道,修改后量注解也不加上去。。。

5.工做任务没法完成也不跟领导说一下。不知道是处于面子问题,仍是拍别人说本身能力不行,总之一大堆工做没办法按时完成,也不跟领导讲一下。

其实吧,任务完不成也是偶尔会有的状况,要提早说一下,好让领导有个充分的考虑,从新分配把一些任务,让别人来完成一些,以避免耽误了项目的进度。 不能按时完成任务并非天大的错误,没有及时汇报没法完成任务才是天大的错误。

6.技术不行,你能够学,能够模仿,能够copy过来修改。可是沟通能力不行,不时一天两天就能够改得来的。这就要求你平时要多注意有效的沟通技巧。

(二十八)从代码质量检查中感觉生活的乐趣

因为没有代码检查这个步骤,颇有可能致使最后的错误被放大不少倍。没有代码检查,既要耗费测试人员的时间,也耗费领导的时间,最后你还得改,可能有些功能本身都不太记得了!须要花一些时间理顺思路!

因此及时检查代码是颇有必要的,要把本身的代码当成本身的孩子来看待,你会愿意本身的孩子,天生畸形吗?

代码检查的几个参考点:

1.要有比较可行的编码规范,这样能够统一规范你们,不然不知道谁说了算。

2.你们要有共识,有一个良好的代码质量互查氛围,每一个人都有意识的相互检查。

3.程序如人。程序有无Bug与作人好坏是同样的道理,我写出来的代码程序就是我人的质量。不能容忍代码程序有瑕疵。

4.要有强烈的责任意识。个人软件有问题,哪里还能按时下班,安心的过生活?

5.检查代码也须要有高水平与高境界,不仅是须要有这个意识。检查代码的能力也是能够提高的!

6.一我的努力作事情很重要,你们一块儿努力作事情更重要。

(二十九)谈某些程序顽固的思惟方式

下面是一些程序员的顽固思想例子:

1.没有设计文档

误区:不少人会认为设计文档瞎耽误功夫。

其实吧,有设计文档仍是好一点的。就像向有设计图纸,再有模型。。。设计的程序总要逻辑页面吧,还有必要的备注呢。若一个软件,连像样的设计文档都没有,之后怎么上层次,怎么有提升?

设计文档也是对本身思路的一种锻炼,无论是工具的使用,仍是实际设计。。。

2.拒绝重构

程序里面有一大堆命名紊乱,功能重叠的代码和写错位置的代码,这些不少都是只有当事人才清楚的。

不少人认为程序稳定,不出问题就能够了,可是后期维护的?有时候辛苦的仍是本身啊。

3.拒绝使用如今新的方法和框架

其实就是惧怕学习,通常的来讲,新的东西大都有它的价值,旧的东西会被慢慢取代。好比说如今相应式编程就很流行哦。要多听听比你经验丰富、能力更强的人的建议。

(三十)典型的国内小项目经验分享

国内项目的几个典型特色:

1.项目临时性比较严重,忽然要开发。

2.项目工期短,总共也就两三个月时间。

3.项目人员变得大,开发人员不稳定。

4.项目成员少,有时是两个,有时是一我的开发。

(三十一)创业前,你要思考的问题

有些人头脑不冷静,盲目走上创业之路,创业后本身辛苦不说,生意难作,还会遇到不少生存问题,资金问题,人力资源问题,可持续发展等等诸多问题。

下面是创业须要谨慎问题:

1.同一个时间过一个项目时,人的精力会很集中,这样效率也会高。可是同时作好几个项目,人的精力就会分散,每每处于应付表面的状态,没法对项目进行有力的推进。

2.干本身的事情和干别人的事情境界彻底不同,每每给你干活的人或者与你合做干活的人,不会那么拼命,不要指望过高。

3.项目人员变更的可能性很大,开发的周期相对比较长。并且就算本身不出变故,颇有可能客户会发生变故,整个项目的风险系数比较大。

4.刚创业时每每很难走产品路线,大多走的时项目路线。每个项目的个性化需求,业务需求差别大,没法充分利用上一个项目的劳动成果。

5.为了可持续发展,就得一边作现有的项目,一边接洽下一个项目,这样会耗费不少时间,并且分散精力。

6.若项目不是本身带,每每很难控制它的规范性,严谨性,很容易进入一个一团糟的局面,后期收拾这个糟乱的局面,也要耗费N多精力和时间。

7.一个公司的房租成本、办公成本、平常经营成本、招待费、差旅费等等开支也很多。

8.接下来极可能在不一样的城市和行业,要同时打赢好几场战争很不容易。

9.接一个项目容易,可是每天有项目不是那么容易的。开拓一个信任你的客户比抢别人的客户更难。

创业过程当中一会儿要花费几万块是很正常的事情,和可能折腾几下就亏空了。特别人没有明确产品方向的软件开发人员,创业还要谨慎。

(三十二)感觉 结对编程 的威力

其实就是两我的编程。

一我的编程遇到必定的阶段不免会有松懈,而且思路相对狭窄一些。两我的编程能够一块儿交流,一块儿探讨并认本身的劳动成果时就不会那么无趣了。而且两我的一块儿编程,谁也很差意思偷懒,代码的检查率也高了很多,出错的几率会低不少。

亲自体验了一下结对编程的威力,不错,值得推广。

(三十三)用什么心态对待糟糕的程序员

这些年遇到很多糟糕的程序员。其实正在写程序的人,普通IT公司大概只有1/3,有2/3不适合当程序员。还有部分时比较糟糕的。

为了减小这些程序员的出现,能够注意下面几个方面:

1.招聘时必定要仔细看简历,核实简历的真实性,尽可能防止把糟糕的程序员招聘到公司中。

2.招聘时必定要有笔试。笔试能够不难,就看基本功如何、表达能力是否能够,编程能力合格就行。

3.招聘时尽可能别一个作主,尽可能多作几轮面试。

4.招聘时必定要有试用期,若是时糟糕的程序员能够把试用期延长。

5.若一个程序员比较糟糕,赶忙向领导汇报状况。长痛不如短痛。

6.糟糕的程序员写出来的代码是很糟糕的,后期维护改进是永无止境的痛苦。

7.糟糕的程序员通常思路紊乱。而能把一个不靠谱的人培养成一个靠谱的人,须要遇到高手,若是没有这个能力仍是让别人去培养吧。

8.遇到不靠谱的程序员,就委婉的建议它干其余行业。

9.通常来讲,不靠谱的程序员与学历、工做年限是无关的。

(三十四)国内 IT生意难作,想生存发展你们还得多思考一下,出路在哪里?

国内项目的价格已经压得很低了,还有些公司不计成本,亏本的买卖也干,致使如今国内的项目生意是很是难作的。贱买贱卖的实在太多了。

但愿中国IT行业的残酷的竞争环境能给那些想创业的开发人员泼个冷水,如果积累不过仍是安心地好好打工吧,生活质量会更好。

(三十五)管理重要仍是干活重要?

之前习惯了我的英雄主义,如今更多的是注重团队合做。固然,从心底重视团队合做与嘴上讲团队合做是两码事。

1.咱们国家极可能作开发的人比美国多,可是因为管理水平没人家好,咱们再辛苦,仍是干不过别人,由于缺乏正在核心的管理。

2.虽然咱们国家缺乏很是优秀的大牛,可是相对优秀的开发人员仍是不难找的。

3.能把一个庞大的队伍带领好,指挥好,是很是有挑战性的,咱们又有几我的能管理微软、Oracle、Google这样的公司呢?

做为一个又十几年检验的程序员,我也发现了,咱们缺乏的不是普通开发人员,缺的是有管理经营能力的人。

中国IT行业差的不是程序员,不是钱,而是精英管理人才。

(三十六)建议一我的作项目,也建议使用版本管理

项目管理的好处:

1.有时候因为操做失误,程序覆盖了,找不到原来正确的代码,那会很辛苦的。

2.若同行看到你本身一我的写代码都在用版本管理管理软件,他们都会以为你很专业,未来指挥你们也会更容易一些。

3.若是须要别人帮你修改代码,而你很早就在用版本管理器,在加上几我的一块儿开发会很方便,效率也会很高。

因此代码要保存好是很重要的。你最好随时上传到本身的服务器中,或公司指定的服务器中,而且不定时的把本身的代码放到移动硬盘等设备中保存。

(三十七)为何曾经的公司不作外包项目

理解:

1.如今不少商家不够诚信,不遵照合约,在作外包的过程当中每每会采起挖墙脚的战略。

2.若碰到不要脸的、实力强大的客户,他会主动索要你的员工。

3.作外包的过程当中每每会有员工离职的状况,这时又要补充新人,从新理顺项目。

4.作外包的过程当中,不少技术、不少作法,都会被客户学到,客户本身学到了后,不多再有持续的合做,或者下次合做把价格压得很低廉。

5.虽然作外包项目能有小的盈利,可是没法长期盈利。由于作成功的东西的版权都是客户的,不是开发公司的。

(三十八)在北京作银行项目的亲身感觉

总结:

1.银行项目对软件的安全要求比较高,信息的发送接收都须要有安全保障。

2.须要多重密码来保证系统的安全性。例如登陆时须要密码,进行数字签字时须要密码,交易时也须要密码等。

3.全部的数据都须要进行数字签名,采用公钥、私钥的方式进行不对称的签名验证,以确保数据安全。

4.全部的窗体、数据、按钮等都须要有严格的权限管理控制。

5.其余。。。

(三十九)这几年养成的几个比较好的工做习惯

1.作事情要有计划,不蛮干,不瞎折腾。

例如,把须要作的事情都列好,哪一个作好了,就打个勾,一个个把事情搞定。

2.没有事情作了,向领导说一声,领导安排下来的事情作好了,及时汇报领导,能作到这一点是很不容易的。

3.天天作了什么记录下来,每周回顾下,偶尔有空翻看下,之前都折腾啥,之前的折腾是否是好笑,是否是作了正确的事情。

4.平时主张“站立式开会”,你们把须要解决的问题说出来,已经作好了什么,接下来作什么,别扯个没完没了。站着开会很节省时间。

5.尽可能用电话+电子邮箱的沟通沟通方式,电话沟通及时有效,电子邮件有个依据,能留下痕迹,证据。

6.至少看《程序员》杂志,溜达CSDN,博客园,51CTO,了解一下行业的动态,别一不当心成了井底之蛙了。

7.平时多注意积累,不重复劳动,不盲目劳动,把本身的劳动成果尽可能重复利用。

8.只为赚钱折腾,不赚钱的事情,就不折腾,人的精力是有限的,折腾来折腾去都会浪费很多时间和金钱。

若你有这些有点,那很容易变成管理型人才。

(四十)能亲自构架万人并发大数据量的软件应该是职业生涯的荣幸

通常的企业信息管理系统,20几我的用的就能够卖出20万的价格,固然若是商务谈的好能够卖出更高的价格。

作一个大项目,最难的是让别人相信你能把这个高并发高压力的系统搞定,这不是能靠关系或钱决定的,必需要有多年的积累,用事实证实你有这个实力,并且就算出了问题也能立刻解决好。

那么大项目中须要注意什么呢?

1.首先须要有很是好的宽带,若要支持上万人同时录入数据,至少要10M以上。

2.须要有一台牛X的Web服务器+一台牛X的数据库服务器。须要录入1000万条以上的数据,最好采用Oracle数据库,经得起考验一些。

3.须要进行适当的缓存优化策略。不是全部的数据都依靠数据库访问,而要尽可能多的使用缓存策略。

4.须要一个牛X、经得起考验的数据库访问层。若是是很差的数据库访问组件,或者不稳定的数据访问组件,很容易致使系统崩溃。若是占用很是大的内存,也会致使系统崩溃。

5.须要优化分页存取数据的功能,由于有可能有1000万条甚至更多的数据。若是分页没作好,也会致使系统崩溃。若是上万人同一个时间,或者在接近的时间点了查询某页的数据,那系统就真崩溃了。分页存取须要作到极致才能够。

6.须要进行数据库索引优化。有索引和没有索引的性能差别有时候是100倍,有时候是1000倍或更多。

7.严谨的高效的数据库事务处理。因为高并发,并且有些数据是须要同时写入多个表,须要保证数据库的一致性。

8.全部的系统操做日记、异常信息都须要完整记录下来。当系统发生故障时,能够快速排查问题。

9.须要常常检查系统的各项指标。例如各服务的内存使用状况、CPU使用状况,网络宽带使用状况。若服务器快受不了压力了,就得立刻进行负载均衡,网络宽带不够了就须要立刻增长宽带,不要等到系统崩溃看再去作这些事情。

10.HTML、JS等均可以考虑用压缩模式传输,那样网络传输效率会更高一些。

 

(四十一)关于技术

若是文中说到的一些知识体系还没彻底掌握的,还想不明白的,那么你能够跟着个人脚步,我来介绍一下我总结出来的几大致系,若是你想学习这些内容,我能够向你们推荐一下学习交流群:650385180你们想学习的能够加群,但记得备注好信息哦。(记住:加群:650385180请备注好信息)

如下是总结出来的几大致系图:

1、源码分析

2、分布式架构

3、微服务

4、性能优化

5、Java工程化

以上就是我在本文中所要表达的所有,但愿以上的内容能够帮助到正在默默艰辛,遇到瓶疾或者正在本身创业的程序员们,我能帮大家的只有这么多了,但愿你们在日后的工做中,遇到我在文中提到的注意事项时,能够圆满解决。

以为小编写的文章不错,能对本身有所帮助的,能够点个赞,加个关注。

做者:伊竹凌 连接:https://www.jianshu.com/p/2241a2f3c1a4 来源:简书