老程序员有技术为啥不单干?非要在公司呆这!

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zhugeaming2018/article/details/80335570

>>原创文章,欢迎转载。转载请注明:转载自IT人故事会,谢谢!

>>原文链接地址:老程序员有技术为啥不单干?非要在公司呆这!

 

        网上不知道什么时候加的好友,他应该是做销售的,他突然问我你是做软件开发的啊?我说是啊老铁咋了?他一句话触碰了我,你有这么多技术为啥不自己干,如果自己干早发财了?我只是呵呵没回答,这样的问题之前碰见过一个同事的女朋友也问过这个问题,为啥你们不自己干啊?软件这么赚钱自己干绝对比打工强啊。

        一入IT深似海,一个人写不了像样的程序 ,我原来以为产品经理没啥用 。其实产品经理 ,UI ,包括推广人员的作用都非常大。为什么你的印象里程序员就是要单干啊。身为一个厨师,就要自己开餐厅?身为一个销售,就自己开办公司?身为一个程序员,就要自己写程序单干?这个没有逻辑关系啊。不是你工作会用的技能,就能转化为自己单干。这个没有绝对的因果关系啊。

        诸葛亮那么牛逼,为什么不废了刘禅,自己单干?我准备创业了,其他的什么都准备好了,就差一个程序员了。三国正史里,有无数出色的谋士:诸葛亮、司马懿、周瑜、庞统、法正、郭嘉、贾诩、荀攸等等等等,有的号为卧龙凤雏,得一可安天下;有的身怀经天纬地之才、安邦定国之术;有的文武双全、谈笑间樯橹灰飞烟灭。为什么他们都选择了给曹老板、刘老板、孙老板打工,而不自己单干?你能发paper不叫牛逼,能拉来项目才叫牛逼;你能做项目不叫牛逼,能要来钱才叫牛逼!你双花红棍一个人再猛也不牛逼,能叫来猛人心甘情愿跟你干才叫牛逼。不是所有的牛逼的工程师都适合当老板,一个要出谋划策,一个要做最终决策,就跟一个公司的总经理和董事长一样,为何总经理不出来单干?总经理是出谋划策的,董事长是最终决策的。

        现在社会分工越来越精细化了,原来我记得姥爷说过,他们那时候一些小孩想拜师当小偷,从小就要练,练的中指和拇指一样长,热水里面捞肥皂。现在的小偷的只要有人负责挤,有人负责转移注意力,有人负责偷就可以了,技术实力要求不那么严格,而是配合分工要求越来越高。

        程序员写程序就如同造飞机、造火车,一个人是干不了的,为什么那么多人愿意上传到github上,因为他贡献了自己代码和思路有人愿意和他一起贡献也就成就了比较好的开源项目。但是顶级的开源项目都是团队完成的。

        程序员的本领是技术,然而要赚钱的话,技术只是其中一环。

 


        从本篇开启--》新的系列《程序员真实的生活》

 

 

展开阅读全文

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

01-06

[b]摘要:[/b]rn20多年前我就开始写代码,很喜欢写代码,直到现在为止仍然热度不减!人生总是会和你开点小玩笑,我在多年之前走上了”非程序员“之路。我觉得无论你将来是否继续走技术路线,你的程序员经历将为你打下雄厚的基础。本文为你分享我的一些心得,为你分享一些程序员也应该掌握的”非程序员“技能,希望对你有帮助。rnrn[b]什么是”非程序员“?[/b]rn什么是程序员?这应该不用解释了。所以”非程序员“就很容易解释了,只要你从事的是IT类工作,但又不是写代码的,你就是”非程序员“!rn”非程序员“常见的职位有:项目经理、产品经理、测试工程师、配置管理员、实施工程师、SQA等;除此以外还有部门经理、副总、总经理、老板!rn按照时间顺序,我做过的职位有:程序员、项目经理、研发中心经理、副总经理、常务副总,后来我创业了,所以老板我也当了一回!(PS:我这个老板是光棍司令)rnrn[b]我的程序员之路[/b]rn如果我问你:你写过代码吗?rn你肯定会说:写过,而且还写了很多!rn请你留意,我说的是”写“代码,而不是”敲“代码噢。rn我的运气比较好,高中一年级的时候学校就开课《BASIC语言》这门课。当时电脑是很稀缺的资源,家里没有计算机,虽然学校有计算机房,但上机的时间并不多。当时我编写程序的方式就是用笔在练习本上写代码,调试程序的方法就是在脑袋里面运行这个程序。平时我写下大量的代码在练习本上,非常珍惜上机时间,想榨干在电脑房中的每一秒中。虽然当时我的大部分时间是在练习本上写代码,在脑袋中运行,但就是因为这样的编程方式打造了我的编程基本功和素养。rn我对计算机编程的强烈兴趣,驱使我报考大学时的第一志愿就是计算机软件,但我的高考成绩不理想,只考上了第二志愿……rn我大学读的是”城镇建设“专业。这是一个”伟大“的专业,我们的系主任说:这个专业是用来培养建委主任的(现在叫建设局局长)!当时我们兴奋和自我陶醉了一翻,结果毕业时我们没有人能找到”建委主任‘的工作,直到现在好像也没有同学坐上了这个岗位。rn大学毕业后我在某事业单位从事市政方面的工作,但我很快憋不住,我找到了一份新工作,在某软件公司做程序员,开发建筑预算方面的软件,正式开始了我的程序员的生涯。接着下来的5年时间,我写下了大量代码。当时整个公司13个,其中程序员4人,但作为程序员的我除了写代码,还需要自己分析需求,自己测试自己的软件,自己管理自己等。这样的工作模式,让我得到全面的锻炼。rnrn[b]我的非程序员之路[/b]rn公司规模不断扩大,开发人员的数量增加了不少,后来做的项目一般都会配备几名程序员和一名测试,而我“理所当然”地当上了项目经理。最开始做项目经理的时候,还可以写一些代码,后来要花更多的时间处理需求、客户关系、项目管理、团队建设等事情,基本上没有时间去写代码了。rn不多久,公司打算将我推向“研发中心经理”的职位,这是一个莫大的诱惑!刚接任研发中心经理一职,还期望能有一半时间来研究技术,实际上这是不可能滴。后来我还先后负责了ISO9001、CMM3级和CMMI5级的工作。rn我从心里面其实是更喜欢走技术路线的,当初选择了管理路线让我踏上了“不归路”。我原本在技术上有很多“第一”:公司中编程最熟练的第一人,第一个最熟悉C#,第一个最熟悉SQLServer等等,多年所从事的“非程序员”工作虽然让我掌握了不少新技能,但同时也在技术上“废掉”了我的武功。rnrn如果上天再给我一次机会,我会不会仍然选择这样的 一条路呢?rn世界上没有这么多如果,我们只能做到总结以前,把握现在,面向未来。rn上文简介了我的经历,下面开始为分享一些我的心得体会,无论你是否打算继续走技术之路,希望对你能有帮助。rnrn[b]关于程序员的几个误区[/b]rn1.)30岁不能再干程序员rn当年不知道谁说程序员不适合干到30岁,因为人脑越老越不适应这样的工作,程序员要趁30岁前做好转型的准备。我当做了研发中心经理,选择了管理路线,其中一部分原因就是受这个“30岁不能再干程序员”的影响!rn国外四五十岁的程序员很多,人家写的代码越老越牛B,脑袋的思考能力完全不见到减退,反而越发厉害,所以"30岁不能再干程序员"就是一句坑爹的话!rn当然这句话在中国说是有背景的,那就是程序员没日没夜的加班,如果是这样的状态,当然是很难挨到30岁的。所以我们要保护好自己的身体资源,特别是脑袋,记住两句话:rna)加班有害健康!rnb)工作是公司的,身体是自己的!rnrn2)程序员 = 码农rn一些外行领导认为程序员就是一种低技术含量的工种,随便在街上可以抓一把,你不干还有很多人干!就算是我们程序员本身,也将自己自嘲为“码农”。rn程序员是高技术含量的工种,如果你掌握了核心技术,你是相当值钱的!但是在我们中国高技术含量项目或软件太少了,所以如果你连续几个月觉得自己技术上没有什么进步的话,你要想办法找一些更有挑战的工作了。rnrn3)掌握的开发语言越多越潮就越好rn开发语言不在多,在于精!对于编程老手来说,掌握一门开发语言的语法可能只需要几天的时间,但编程的素养和深厚的编程功力是需要多年沉淀的。rn我刚学会我的第一种开发语言BASIC,自认为感觉良好,自以为凭借自己小聪明就能运用BASIC写出很强大的程序。后来参加了程序员兴趣小组学习班,系统地学习了一些算法,才发现自己是井底之蛙。刚开始工作的几年开发语言用的是VB,还学习了一些设计模式,自以为自己很OO,后来随着工作经验的积累和遇到不同的问题,才发现自己是多么的肤浅。rn编程基本功需要在学校阶段就打造,并且要让自己爱上编程。除了要认真完成所有编程课程的课后作业、练习和课程设计外,你自己还要尝试去挑战一些高技术难度的题目。rn给几个题目你参考一下:rna)写一个五子棋(或象棋)之类的程序。rnb)写一个画UML图的程序。rnc)写一个视频播放程序,要自己写解码器。rn自己独立完成需求、设计、实现和测试等全部工作。rnrn[b]程序员应该掌握的几个非程序员技能[/b]rn程序员不仅要学习技术,也需要掌握一些“非程序员”的技能,这些技能能帮助你开阔视野,加速你的成功!rn1)需求分析能力rn2)活用UML分析及解决问题的能力rn3)软件测试能力rn4)项目管理基本知识rn5)口头表达能力和书面表达能力rn6)团队协作能力rn以上知识不能只看书本,更关键是实际操练,操练的最有效办法就是:自己独立完成一个软件的所有工作;当自己具备一定基础后,就和几个同学或朋友去挑战更高难度和复杂度的软件项目。rnrn[b]职场上的一些小建议[/b]rn1)想清楚自己想干什么。rn星爷说过:人生没有理想,和一条咸鱼没有什么分别!rn人生能有多少个十年,要尽早发现自己想干什么,并要尽早做好通盘规划。rnrn2)多为自己着想,不要太过顾全大局。rn读大学时,老师给我的评价是:综合素质和能力很强。工作后,老板给我的评价也是这样。但这样的评价,可能会带来杯具的事情……rn因为我综合素质和能力强,所以在安排工作的时候,别人都可以挑一些他喜欢或他擅长的事情做,而我因为是“全能”的,所以我要去干一些别人不喜欢或不擅长的事情。我曾经试过好多次将自己想研究的技术点让给别人,久而久之我就失去了很多掌握高精尖技术的机会。至今为止我在技术上的一个最大遗憾就是,没有能精通C++编程,我曾经有机会和有条件去开发C++的绘图程序的,但我让给别人了……rn“人不为己天诛地灭”这句话很有道理,当然不是要你去自私自利,但也不能太过于“大公无私”,根据自己的发展路线,要主动去争取一些能提升你的技能的机会。rnrn3)不要说少多做,要多说多做。rn“少说多做”被誉为一种美德,但每个公司都会有办公室政治,少说多做会让你吃大亏,你需要的是多说多做!除了要干好事情,也需要让你的老板、同事及时知道你的工作成绩。成功人士不仅仅是靠实力的,还需要包装和宣传。rnrn4)精通技术能帮你创业,精通管理可能只能帮你找到好工作。rn大学毕业之前,我的职业规划是这样的:争取几年内达到月入过万,然后争取5年左右的时间能通过打工积累一点点的钱和技术,然后通过自己的技术去创业。可能很多程序员都有这样的类似想法。rn我曾经试过两次创业:rn第一次创业:我打工的同时和一些朋友合伙成立一个公司,我负责开发软件,我的合作伙伴负责市场方面的工作。但最终还是失败了。rn第二次创业:从2010年开始我辞职出来单干,全职做软件研发方面的咨询和培训服务。目前正在进行中……rn如果你技术足够牛B,能找到合适的合作伙伴,并且能找到投资人,那么成功的机会是很大的!有技术你就有创业的本钱。rn我第二次创业就比较尴尬了,当时我已经干了很多年的管理工作,技术上已经被废武功,我的去路可能只有两个选择:rna)找一个新公司任职管理层的职位;rnb)创业搞咨询和培训方面的事情。rn我不想再打工,所以选择了b),但搞培训和咨询其实是很难做大的,每次上课其实都是体力活+脑力活。rn这与我多年前的梦想是完全不一样的,我期待自己的公司具备核心技术,并且这个核心技术能为社会带来很大价值,公司能通过这样的模式赚到很多钱。rnrn[b]小结[/b]rn每个人都会有自己成长之路,每位企业家都会有自己的创业之路。rn我走了不少弯路,本文分享一些小心得,希望能对你有一点点小帮助。rnrnrn[color=#FF0000]我是CSDN博客之星2013候选人之一,如果你喜欢我的文章,欢迎投我一票![/color]rn投票链接:rn[url=http://vote.blog.csdn.net/blogstaritem/blogstar2013/u010825142]http://vote.blog.csdn.net/blogstaritem/blogstar2013/u010825142[/url]rnrn谢谢!rnrnrn[b]本文来自我的博客,欢迎多来拍砖![/b]rn[url=http://blog.csdn.net/fireball1975/article/details/17758883]http://blog.csdn.net/fireball1975/article/details/17758883[/url]rnrnrn[b]作者:张传波rn[/b]rn创新工场创业课堂(敏捷课程)讲师rnrn软件研发管理资深顾问rnrnCMMI首席专家rnrn《火球——UML大战需求分析》作者rnrnwww.umlonline.org创办人 论坛

apache 为啥老停止响应?

07-04

windows2000 server +apache 2.0.49 rnapache主要作转发用,它的指向是weblogic的集群。rnrnapache运行一段时间后,就开始停止响应rn在apache控制面板上点击restart后,还是没有响应,必须先点击stop然后点击 start,才能恢复正常,有谁能告诉我这是这么回事吗?rnrn附error.log的部分日志:( 在12:39的时候,停止了响应)rn[Tue Jul 04 12:23:42 2006] [notice] Parent: Created child process 5040rn[Tue Jul 04 12:23:42 2006] [notice] Disabled use of AcceptEx() WinSock2 APIrn[Tue Jul 04 12:23:42 2006] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]rn[Tue Jul 04 12:23:42 2006] [warn] RSA server certificate CommonName (CN) `e-trade.bociim.com' does NOT match server name!?rn[Tue Jul 04 12:23:42 2006] [warn] Init: (18.1.9.1:443) You configured HTTP(80) on the standard HTTPS(443) port!rn[Tue Jul 04 12:23:44 2006] [warn] RSA server certificate CommonName (CN) `e-trade.bociim.com' does NOT match server name!?rn[Tue Jul 04 12:23:44 2006] [warn] Init: (18.1.9.1:443) You configured HTTP(80) on the standard HTTPS(443) port!rn[Tue Jul 04 12:23:44 2006] [notice] Child 5040: Child process is runningrn[Tue Jul 04 12:23:44 2006] [notice] Child 5040: Acquired the start mutex.rn[Tue Jul 04 12:23:44 2006] [notice] Child 5040: Starting 250 worker threads.rn[Tue Jul 04 12:23:44 2006] [notice] Child 5040: Listening on port 443.rn[Tue Jul 04 12:23:44 2006] [notice] Child 5040: Listening on port 80.rn[Tue Jul 04 12:23:44 2006] [notice] Child 5040: Listening on port 80.rn[Tue Jul 04 12:35:29 2006] [notice] Parent: child process exited with status 128 -- Restarting.rn[Tue Jul 04 12:35:33 2006] [warn] RSA server certificate CommonName (CN) `e-trade.bociim.com' does NOT match server name!?rn[Tue Jul 04 12:35:33 2006] [warn] Init: (18.1.9.1:443) You configured HTTP(80) on the standard HTTPS(443) port!rn[Tue Jul 04 12:35:33 2006] [notice] Parent: Created child process 5384rn[Tue Jul 04 12:35:33 2006] [notice] Disabled use of AcceptEx() WinSock2 APIrn[Tue Jul 04 12:35:34 2006] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]rn[Tue Jul 04 12:35:34 2006] [warn] RSA server certificate CommonName (CN) `e-trade.bociim.com' does NOT match server name!?rn[Tue Jul 04 12:35:34 2006] [warn] Init: (18.1.9.1:443) You configured HTTP(80) on the standard HTTPS(443) port!rn[Tue Jul 04 12:35:35 2006] [warn] RSA server certificate CommonName (CN) `e-trade.bociim.com' does NOT match server name!?rn[Tue Jul 04 12:35:35 2006] [warn] Init: (18.1.9.1:443) You configured HTTP(80) on the standard HTTPS(443) port!rn[Tue Jul 04 12:35:35 2006] [notice] Child 5384: Child process is runningrn[Tue Jul 04 12:35:35 2006] [notice] Child 5384: Acquired the start mutex.rn[Tue Jul 04 12:35:35 2006] [notice] Child 5384: Starting 250 worker threads.rn[Tue Jul 04 12:35:35 2006] [notice] Child 5384: Listening on port 443.rn[Tue Jul 04 12:35:35 2006] [notice] Child 5384: Listening on port 80.rn[Tue Jul 04 12:35:35 2006] [notice] Child 5384: Listening on port 80.rn[Tue Jul 04 12:39:17 2006] [notice] Parent: child process exited with status 128 -- Restarting.rn[Tue Jul 04 12:39:21 2006] [warn] RSA server certificate CommonName (CN) `e-trade.bociim.com' does NOT match server name!?rn[Tue Jul 04 12:39:21 2006] [warn] Init: (18.1.9.1:443) You configured HTTP(80) on the standard HTTPS(443) port!rn[Tue Jul 04 12:39:21 2006] [notice] Parent: Created child process 5164rn[Tue Jul 04 12:39:21 2006] [notice] Disabled use of AcceptEx() WinSock2 APIrn[Tue Jul 04 12:39:22 2006] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]rn[Tue Jul 04 12:39:22 2006] [warn] RSA server certificate CommonName (CN) `e-trade.bociim.com' does NOT match server name!?rn[Tue Jul 04 12:39:22 2006] [warn] Init: (18.1.9.1:443) You configured HTTP(80) on the standard HTTPS(443) port!rn[Tue Jul 04 12:39:23 2006] [warn] RSA server certificate CommonName (CN) `e-trade.bociim.com' does NOT match server name!?rn[Tue Jul 04 12:39:23 2006] [warn] Init: (18.1.9.1:443) You configured HTTP(80) on the standard HTTPS(443) port!rn[Tue Jul 04 12:39:23 2006] [notice] Child 5164: Child process is runningrn[Tue Jul 04 12:39:23 2006] [notice] Child 5164: Acquired the start mutex.rn[Tue Jul 04 12:39:23 2006] [notice] Child 5164: Starting 250 worker threads.rn[Tue Jul 04 12:39:23 2006] [notice] Child 5164: Listening on port 443.rn[Tue Jul 04 12:39:23 2006] [notice] Child 5164: Listening on port 80.rn[Tue Jul 04 12:39:23 2006] [notice] Child 5164: Listening on port 80.rn[Tue Jul 04 13:18:03 2006] [notice] Parent: Received shutdown signal -- Shutting down the server.rn[Tue Jul 04 13:18:03 2006] [notice] Child 5164: Exit event signaled. Child process is ending.rn[Tue Jul 04 13:18:05 2006] [notice] Child 5164: Released the start mutexrn[Tue Jul 04 13:18:33 2006] [notice] Parent: Forcing termination of child process 304 rn[Tue Jul 04 13:18:53 2006] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]rn[Tue Jul 04 13:18:53 2006] [warn] RSA server certificate CommonName (CN) `e-trade.bociim.com' does NOT match server name!?rn[Tue Jul 04 13:18:53 2006] [warn] Init: (18.1.9.1:443) You configured HTTP(80) on the standard HTTPS(443) port!rn[Tue Jul 04 13:18:55 2006] [warn] RSA server certificate CommonName (CN) `e-trade.bociim.com' does NOT match server name!?rn[Tue Jul 04 13:18:55 2006] [warn] Init: (18.1.9.1:443) You configured HTTP(80) on the standard HTTPS(443) port!rn[Tue Jul 04 13:18:55 2006] [notice] Parent: Created child process 5232rn[Tue Jul 04 13:18:55 2006] [notice] Disabled use of AcceptEx() WinSock2 API 论坛

没有更多推荐了,返回首页