作者(在外企、上市公司工作过,自己也创业失败过,遇到过很多失败挫折,甚至露宿街头,但是最后还是挺过来了),是一个十几年的程序员了,本文介绍了他的相关经历,以及他的一些经验,无论是对刚入门的程序员,还是工作了十年八年的程序员都有一些经验值得借鉴学习。
(一)三年前的一个项目经验
作者帮公司拉了一个政府的项目,但是由于经验较少,谈的价格很低,还有很多细节刚开始没有谈到,后面相当于收了很少的钱,給政府干了一个比较完善的项目,这节的经验就是:程序员一般不应该直接和客户谈项目,应该让专业的人去谈,他能把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.后期有没...