![](https://i-blog.csdnimg.cn/blog_migrate/508d10f0086affb53808f8ded054986c.webp?x-image-process=image/format,png)
吉日噶拉(在外企、上市公司工作过,自己也创业失败过,遇到过很多失败挫折,甚至露宿街头,但是最后还是挺过来了),是一个十几年的程序员了,本文介绍了他的相关经历,以及他的一些经验,无论是对刚入门的程序员,还是工作了十年八年的程序员都有一些经验值得借鉴学习。
(一)三年前的一个项目经验
作者帮公司拉了一个政府的项目,但是由于经验较少,谈的价格很低,还有很多细节刚开始没有谈到,后面相当于收了很少的钱,給政府干了一个比较完善的项目,这节的经验就是:程序员一般不应该直接和客户谈项目,应该让专业的人去谈,他能把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群:537775426,我会在群里分享我从业多年的工作经验,以及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交流群:537775426,进群备注好信息,阿里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.每个年代学习的的途径不同。我按当时的方式来讲吧,想到图书馆去找,哪个本子都会翻翻看,然后哪个图解多,我就会有买哪个的意向。而且图解多的,看起来不累,还可以有个参考,就算没电脑再旁边,也会大致看明白啥意思。还是比较喜欢台湾人写的书,几乎全是图,没几个文字,而且学习的效果往往很好。还有就是,我一般购买