干了十几年程序员,说点肺腑之言
作者:AWeiLoveAndroid
吉日噶拉(在外企、上市公司工作过,自己也创业失败过,遇到过很多失败挫折,甚至露宿街头,但是最后还是挺过来了),是一个十几年的程序员了,里面介绍了他的相关经历,以及他的一下经验,无论是对刚入门的程序员,还是工作了十年八年的程序员都有一些经验值得借鉴学习。这里我也把这本书中的部分精华分享给大家,希望对大家有帮助(顺便内推几个技术大厂的机会,前、后端or测试,感兴趣可以jinshuju.net/f/o38ijj]试试!
值得注意的是书中的作者本身是一个小牛,没毕业前已经在大企业工作过很长时间了(.Net开发为主,C、java都有猎取),03年前就可以自己接企业项目了,但是后来还是遇到过很多挫折,主要是创业方面的惨痛经历。
通过本书,你会看到,即使你并不天赋异禀,成不了乔布斯和马云,但你依然可以有所成就,成为幸福的人。
主要讲的是作者帮公司拉了一个政府的项目,但是由于经验较少,谈的价格很低,还有很多细节刚开始没有谈到,后面相当于收了很少的钱,給政府干了一个比较完善的项目,这节的经验就是:程序员一般不应该直接和客户谈项目,应该让专业的人去谈,他能把10万的项目谈到50万或更多。
简历 一般要信息全面,排版工整。
前台设计 前台设计是艺术,这个是没那么容易学来的,越往后写程序的会越不值钱,设计的相对会值钱一点。程序是技术,设计是艺术。技术可以批量生产,但是艺术无法批量制造啊。
一个开发团队、软件公司需要有一个 良好的氛围,大家人心稳定,每个人都在有条不紊地忙乎实际工作上的事情,每天都有一点点成果,大家平时工作开开心心,一步一个脚印的发展。项目做的有条理,客户也满意,收款也及时,这才是软件公司生存发展的硬道理。软件如果做不好,软件公司肯定是开不下去的!
每个人总要给自己寻找个方向,每个人都需要有个信念,没有信念,活着就没意思,无聊,觉得没有奔头了。作者是比较喜欢做技术那种,可以做到五六十岁那种,并且看到过更老的程序员!
1.比较喜欢技术,会经常学习,人需要不断提高否则很容易落后 2.看一些技术方面的书,管理经营方面也看,毕竟以后很有可能走上这条路。 3.多关心人情世故,多联系朋友、同事、亲人,努力建设和谐社会!其实是因为人脉比技术更加重要! 4.沟通能力很重要,文笔也是需要一点的,写报告,各方面交流都是会有的,毕竟技术能力不低了。 5.参与公司部分销售工作,做技术销售也是很重要的,也要让客户知道我们公司的技术能力是很强的。 6.软件系统的核心部分、通用组件部分、关键部分、标准样式部分、标准框架部分,这些都是软件系统的核心,不能指望新手来完成。 7.编程不只是20来岁做的事情,。可以走管理路线,也可以一直坚持技术路线。 8.生活不止有眼前的苟且还有诗和远方!
离职了也别成敌人,开开心心的离职,将来还是会有合作机会的,说不定还很大的机会。 你要有过硬的技术,让客户相信你,觉得这个事情你是专家,让你来做没错,你要时刻让自己的技术超出常人的水平。 拉客户要有个过程,小事情干好了,人家才放心把大事交给你去做,不可能一步登天。 不要做过于廉价的劳动力,那是在破化市场,尊重自己尊重别人,免费給别人当然可以,但如果那样做,IT就更不值钱了。 赚钱的机会不是天天有年年有,要学会抓住机会,错过了这个村就没有这个店了。 大项目都是有比较的,不是随便给你的,价格也不是乱开的,别人赚的钱也不是天下漂下来的,你需要战胜对手,才能拿到机会。
好东西多得是,就看你如何看待它们。就像我下载的1G的C#文档一样,电子垃圾一大堆,天天跟在新技术屁股后面,也难提炼出个啥来。因为你永远跟不上时代的进步。你的积累也会变成你的包袱,除非你有惊人的毅力,不断完善你的积累,那最起码你要连续几年不打游戏,节省时间才能提炼出来,或公司出钱给你烧,也能烧出来。 不是新技术出来了,你以前的积累就推倒了,除非你以前的积累是经不起考验的,否则是不会被推倒的,新技术只是锦上添花而已。软件整体的开发不会轻易发生天大的变化,你需要的是不断吸收新技术,了解新技术的长处和定位,然后把需要的新技术消化好,用到自己的整体框架中。
1.做软件外包的经验告诉我 做软件需要人海战术,做软件需要大量的体力劳动,而不是脑力劳动
2.我们技术副总的主导思想 客户的需求变来变去怎么办?客户的需求变了,并不是坏事,让客户填写好变更表,把工作量变化給客户确认,秋后算账。工作不就是干点活做点项目吗?哪里不一样,这个项目工作量越来越大,钱也是越来多,不是坏事。
3.我自己的主导思想 想多赚钱怎么办?直接找上级谈,你能干出啥来?想要多少钱?多长时间过好?对公司有啥好处?都谈明白了,老板也会答应的,大家都有好处,都在影响自己的心情,不能好好干活。
4.身边一直发生的事实告诉我 与领导沟通好,报告写好,比拼命干活效果好几十倍!别总埋头苦干,干得累死累活,没人知道你有多辛苦,及时向领导汇报情况交流。
5.我比较佩服的事业部经理告诉我 不能完成工作怎么办?最愚蠢的做法是通宵几天,突击几天,然后累死累活,最后还是没能按时完成,人也累趴下了。其实,不能按时完成工作多了去,这时要先分析清楚延时的原因,找上级说明原因,让他们认可你的理由。然后把接下来的工作合理的进行安排,有条理的一个个做好。
6.我的自身N年工作经验表明 做软件为什么那么累?因为软件是个细活,不是敷衍了事对付对付就可以的,需要一行行代码写出来,不能思路混乱,也不能偷工减料。不管是太理论也好,太理想化也好,总得有个理论指导实践的主导思想,否则这事就没法干了。
工作要有力度,不能老是没完没了找借口,每个人都可以给自己编织出美丽的借口理由来,听起来事那么地有道理,其实理由都是給自己编的,自己给自己下的套。
你可能有了一个很好的创业思路,就感觉用这个思路去创业,成本地,风险低,成功的概率高,你会跟你的好朋友探讨你的思路,会和你的好朋友讲解你的经营模式、经营理念,甚至带他到你的公司参观感受一下你的成功。这时候你很可能在做一个错误的决策,你的朋友也不是吃素的,他也会模仿你,抢你的生意,抢你的机会。 我觉得我的积累还可以,还做出了娱乐场的计费软件。我以前的合作伙伴偷了我的成果,销售了几十套。你的成果很容易被被人偷窃,你要学会保护你的劳动成果,你的劳动成果未必给你带来什么经济效益,确定给你的敌人带来更多的经济效益。
小结:
1.开公司首要的是要明白你做什么可以赚钱,而别人不知道,或者还没抓住。你程序写得好,项目写得好,算个屁啊!全国程序写得好的人多了去了。你努力啥的,更没用,天下努力的人多了去!
2.身边都是虎狼,都是人精,都想吸干你的血,都是指望着跟着你或者从你身上捞一把的人。
3.创业千万不要又出钱又技术。要么烧别人的钱,要么别人出技术。你全出了,风险大,压力也大,甚至都没有精力跑市场。
4.你要找比你强的人合作,你能从他身上学到东西,而不全是你给予别人。与比你强的人合作,你绝对不会损失啥。
5.创业了,玩人一定是比做项目、干活更重要的事
6.小公司把股份分掉,你就是不要股份又能怎么样?等你玩透了,自己再开间公司又能怎么样。你給员工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.后期有没有在挖掘这个客户,有没有在挖出个类似的啥项目来?
当然还有很多很多可以通过实际的项目过程学到的有价值的知识点。
在一定的瓶颈阶段,我们要学会想办法去提高自己,不管是向同事、朋友、网友,都可以进行交流学习,最好是找一段时间面对面的实际交流。并且要诚心诚意,要有交互的过程,不能只是别人教你知识,你也要有可以交换的知识,这样人家才愿意。
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]