【 – 写作指导】
第一篇 有一根手指比较短可以当程序员吗
《程序员也能成为作家?什么不可能》
在大家的眼里程序猿是苦逼的,是熬夜写代码的,是围绕一个bug就要费尽半天而且工资很高的。完全想象不到程序猿会写文章,更能把文章写成书籍。今天无意有一个人说,你是干什么出身的,我回答是程序猿。然后他就很好奇,一个程序猿也能出书,成为作家?我确实承认我现在的电子书《90后这么创业才会成功》正在各大网站连载,但是这好像跟我的出身没有关系,不想成为好文案的程序猿不是好创业者。欢迎继续收看实名倪涛的创业之路:看程序员怎么成为写书作家的。
扒一扒程序猿的苦逼生活
我是一名程序猿确实不假,我的第一份正式工作也是程序猿(网站开发)。可以这么说,程序猿在应届毕业生中底薪工资是最高的。还没毕业那会包吃住5k在上海,应该算是比较不错的工资,而且还没毕业。但是这个职位也不是一般人就能干的。
从15岁读高中的时候,开始学习photoshop和dreamweaver两款软件,从设计到切图再到排版,基本都是熬夜熬出来的。这里都不算是程序猿,后面是重点了。因为这两款软件充其量就是前端,而不算什么技术,后来进入大学顺理成章的报了计算机专业。基本上每个夜晚围绕的都是代码,一个简单的英文和中午的逗号都可以让你迷糊半天。
程序猿一般要经过这些才能运行成功一段语句,所以大家的逻辑思维要好一点。“第一次运行,出错了,为啥呢?我知道哪里出问题了,再运行一次,又错了,这次又是为啥呢?这次肯定ok,再运行一次,好吧三次了很正常嘛,程序就是错了改嘛。最后改改改,无数次之后,成功了,这又是为啥呢?”于是我光荣的苦逼了。
大家也应该听说过,程序猿是没有女朋友的苦逼笑话了,面对我的程序猿生活我只能无奈啊。
扒一扒写一本书的苦逼路
一本书多少字,至少得20万上下吧。对你来说真的好远对不对?拿你每天写一千字来说,那也得半年,对你来说估计遥不可及。我从5月份开始写,目前《90后这么创业才会成功》电子书已经在各大网站连载。现在告诉大家如何写一本书,其实很简单,只要围绕一个中心点去写就够了。
没有任何一件事是不苦逼的,写书同样要有层次感。你要很清楚你写书的用户对象是谁,无论你做什么你都要考虑你的对象。我在写的时候就定义为90后创业,很简单我自己就是90后,而90后创业现在就是个热门,我为何不写呢?
刚才提到层次,就是要告诉大家你首先要吸引人,在这个社会心灵鸡汤是没多大作用了。90后是一个随心的年代,喜欢才去看,对于道理或许你们懂的逼比我还多。那么写书从最开始就要构思好,框架在哪里,结构在哪里,亮点在哪里(好像又有点程序猿的味道了)。每一章节讲的是哪里,怎么才能让用户去看你的文章,同样很重要。
我写这本书其实目的很简单,《90后这么创业才会成功》如果大家按照我说的去做了,那你自然也离成功不远了。一名程序猿转型成作家,教你怎么写好文章,需要的请关注我吧。
扒一扒那些奇葩的广告语
现在为大家分享一些关于那引人消费的广告语。相信大家在创业的过程中,总会要亮点的所在,比如“情趣用品马佳佳;秒杀马云王思聪霸道总裁;刷机精灵与卫生巾的不解情缘”。本人写的《淘宝死了中国也不富》,《看看那些“小姐”挣钱就是多》这样的标题是不是很引人呢。
同样别小瞧这些广告语,它们都是很具备商业价值的。我做了一些分析,现在我在头条上写文章,标题往往更能决定我文章的曝光度。如果太普通那肯定上不了推荐,相反吸引人的,比如那些恶搞的,流氓点的,点击量会暴增。相应的粉丝也会暴涨,消费业绩也会提升。
每个人都能写出好的文章
程序猿成功转型其实没什么其他原因,我并没有说让大家看很多书,而是关键在于动手去写。比如报名参加我培训的学生经常会说,老师我真的不会写文章,但是我就很想写。后来我说,你听我的课,然后尝试跟着我的思路去写,我一个程序员都出书了,你还怕你写不出几实名倪涛,每日更新实名倪涛原创文章。
我们是一个90后创业的团队,期待你的加入。微信公众号:smnt1993。
第二篇 有一根手指比较短可以当程序员吗
《新手get起来,老鸟程序员的干货小技巧》
新手get
起来,老鸟程序员的干货小技巧
博看文思厦门IT培训中心在知乎上总结一些老鸟程序员的工作技巧分享给大家,希望热衷IT程序开发的菜鸟可以学起来,有助在个人开发能力上有所提升帮助。
1.重构是程序员的主力技能。
2.工作日志能提升脑容量。
3.先用profiler调查,才有脸谈优化。
4.注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。
5.普通程序员+google=超级程序员。
6.单元测试总是合算的。
7.不要先写框架再写实现。最好反过来,从原型中提炼框架。
8.代码结构清晰,其它问题都不算事儿。
9.好的项目作风硬派,一键测试,一键发布,一键部署; 烂的项目生性猥琐,口口相传,不立文字,神神秘秘。有一根手指比较短可以当程序员吗
10.编码不要畏惧变化,要拥抱变化。
11.常充电。程序员只有一种死法:土死的。
12. 编程之事,隔离是方向,起名是关键,测试是主角,调试是补充,版本控制是后悔药。
13. 一行代码一个兵。形成建制才能有战斗力。单位规模不宜过大,千人班,万人排易成万人坑。
14. 重构/优化/修复Bug,同时只能作一件。
15. 简单模块注意封装,复杂模块注意分层。
16. 人脑性能有限,整洁胜于杂乱。读不懂的代码,尝试整理下格式; 不好用的接口,尝试重新封装下。
17. 迭代速度决定工作强度。想多快好省,就从简化开发流程,加快迭代速度开始。
18. 忘掉优化写代码。过早优化等同恶意破坏;忘掉代码作优化。优化要基于性能测试,而不是纠结于字里行间。
19. 最好的工具是纸笔;其次好的是markdown。
20. leader问任务时间,若答不上来,可能是任务拆分还不够细。
21. 宁可多算一周,不可少估一天。过于“乐观”容易让boss受惊吓。
22. 最有用的语言是English。其次的可能是Python。
23. 百闻不如一见。画出结果,一目了然。调试耗时将大大缩短。
24. 资源、代码应一道受版本管理。资源匹配错误远比代码匹配错误更难排查。
25. 不要基于想象开发, 要基于原型开发。原型的价值是快速验证想法,帮大家节省时间。
26. 序列化首选明文文本 。诸如二进制、混淆、加密、压缩等等有需要时再加。
27. 编译器永远比你懂微观优化。只能向它不擅长的方向努力。
28. 不要定过大、过远、过细的计划。即使定了也没有用。
29. 至少半数时间将花在集成上。时间,时间,时间总是不够。
30. 与主流意见/方法/风格/习惯相悖时,先检讨自己最可靠。
31. 出现bug主动查,不管是不是你的。
32. 不知怎么选技术书时就挑薄的。起码不会太贵,且你能看完。
33. git是最棒的。简单,可靠,免费。
34. 仅对“可预测的非理性”抛断言。
35. Log要写时间与分类。并且要能重定向输出。
36. 注释是稍差的文档。更好的是清晰的命名。让代码讲自己的故事。
37. 造轮子是很好的锻炼方法。前提是你见过别的轮子。
38. code review最好以小组/结对的形式。对业务有一定了解,建议会更有价值(但不绝对)。而且不会成为负担。管理员个人review则很容易成team的瓶颈。
39. 提问前先做调研。问不到点上既被鄙视,又浪费自己的时间。
40. 永远别小看程序媛。
第三篇 有一根手指比较短可以当程序员吗
《从一个程序员到一个销售高手的心路历程》
从一个程序员到一个销售高手的心路历程
0、引言
我大学本科读的是理工科,后来毕业以后,我逐渐走上了程序员的道路。每天面对电脑一行一行的敲代码,这被我们程序员们戏称为“搬砖头”,因为我们所做的事跟民工搬砖头砌墙本质上是相同的,我们也是把一堆代码从一个地方搬到另一个地方,然后改改让它面子上看起来挺好看,用起来结实耐用就算完工了。
干了6年的技术以后,我放弃了已做的非常好的技术和积累起来的成绩,转而从0开始去做销售。后来经过自己的努力,我终于成长为一个销售和业绩翻倍高手,在销售和业绩翻倍方面取得了相当不错的成绩。到目前为止,我个人保持最好的2项业绩翻倍记录分别是:(1)9个月的时间让一家公司营业收入翻了近10倍(从年收入不到50万元人民币增长到了489.3万元人民币);(2)8个月的时间让另一家公司从1家门店拓展到了11家门店和1家两千平方米的加工厂。
我是如何做到这一点的?从技术转到销售的过程中又遇到了哪些困难和挑战?我又是如何克服它们的?本文生动形象地记录了当年我在职业转变最初一段时间里的经历体会和独特的心路历程。希望我的经历能对各位有帮助。
1、我很喜欢钱,你喜欢钱吗?
从大学开始,这么多年以来,我一直很喜欢钱。我试过很多种方法来让我赚更多的钱,虽然中间走过一些弯路,却也取得了一些成绩。
我大学本科读的是理工科,毕业那阵儿,同班同学们基本上都去从事技术工作了,我也就跟着成了一名技术人员,一干就是6年。应该说这6年中,我的技术工作干的还算卓有成效,因为它给我带来了三个最直观的结果:一,赚回来了我的第一套房子;二,把我的户口人才引进到上海;三,凭借技术实力,我进入了一家非常优秀的公司,参与和见证了它从小到大,再到纳斯达克(Nasdaq)的辉煌历程。
在取得了这些成绩以后,我继续研究和实践着如何才能赚回来更多的钱。后来我发现了卖东西的重要性,于是我又转去做销售。随着销售工作的深入开展,它又帮我赚回来了我的第二套房子。 在这个过程中,我喜欢并快乐地赚着我的钞票。可是我却遇到了一些前所未有的反对,有些甚至是非常强烈地反对,这让我特别地难过。那段时间,我曾一度非常迷茫。
那时我有一个朋友,他对我的这种喜欢钱的价值观很不以为然,他强烈地批判着我。他说我不应该这么喜欢钱,不应该这么总想着去多赚些钱。他还说他就不喜欢钱,钱对他来说并不重要,除过钱之外,还有很多,比如爱情才重要。后来我才反应过来,原来那段时间他正在享受着爱情的浪漫。
他那段时间经常这么强烈地反对
着我,他认为我这样喜欢钱的想法和做法是错误的,是不健康的,是应
该立刻、马上、彻底地改正的。他的这种反对和批判,在相当长的一段时间里,给我造成了极大的迷惑和痛苦。我不知道他说的是否对,我也不知道我是否正确,我很想知道别人是否和我一样喜欢钱,是否和我一样在钻研和实践着如何才能合法地、光明正大地通过自己辛勤的劳动和付出,赚回来更多的钱?我很想知道,是不是我这种喜欢钱真的错了?是不是只有我一个人才有这种所谓不健康的想法?那段时间,我一直在极力地反思着这个问题。但是我想不出来结果。
2、不喜欢钱的人捡到钱后却非常兴奋
有一天下午,阳光明媚。我和我的这位不喜欢钱的朋友一起从人行横道线上过马路。我们正走在一大群人中间,我感觉到他突然拉了我一把,然后就迅速地跑向了马路对面。
等我跟着人群走过了马路后,才发现他手里拿着几张百元钞票,迎风向我晃动着。他整张脸都绽放的像盛开的花儿一样鲜艳,双颊泛红,双眼发光,显的兴奋极了。
他在兴奋中揍进我的耳边,悄悄地告诉我,他刚过马路时发现路上有一小块红色的东西,于是迅速地弯腰捡了起来,才发现原来是三张一百元的钞票整整齐齐地叠在一起。
他非常兴奋地告诉我,以前他从来没有一次就捡到过这么多钱。那天他极度兴奋,以至于后来相当长一段时间内,他走在马路上,都会对路面上红色的东西格外留意。
看着他那兴奋的样子,我一点也没有被感染,相反却非常地纳闷和不理解。我问他,你不是不喜欢钱嘛?为什么捡到钱会这么兴奋?但是兴奋中的他并没有理会我的疑惑,也没有回答我的问题。 后来又有一次,他去一家银行取钱,发现自动取款机下面地板上掉了一张一百元面额的钞票,他立马飞快地捡起来,连要办的事都不办了,匆匆地逃离了那家银行。后来好多天,当我和他一起路过那家银行门口时,他要么急匆匆地走过去,要么撇下我一个人绕道走了。我问他为什么。他说他害怕银行保安通过当天的摄像画面认出了他,问他要那一百块钱。
他的回答让我哑然失笑,可是我仍对他的行为感到极度的纳闷和不理解。
按理说他不喜欢钱,应该看到钱也不捡,或者捡起来交给警察同志,或者干脆再把它扔掉,或者顺手交给我,这样才是合情合理的啊。因为他不喜欢嘛!有谁会把不喜欢的东西当宝贝?至少他不应该表现出这么兴奋才对呀?可是,他实际表现出来的反应,不但没有这么做,反而还极度地兴奋。
我很纳闷他的言论和他的行为之间的这种矛盾。我努力地想了很久这是为什么,可是我
却一点都想不出来合理的解释理由。
3、不喜欢钱的真实含义
那段时间,他还是会不时地对我进行着强烈地批判,我的心里仍然充满着痛苦和疑惑,继续在思考着这一切到底哪些才是对的?而哪些又是错的?于是,我见到熟人后,也常常会问他们是否喜欢钱,和他们探讨喜欢钱是对还是错。
这样子的状态持续了很长的一段时间,我一边赚着钱,一边接受着批判,一边探讨和思考着这个问题。
探讨总结的多了,我才发现,其实大多数人都是或多或少喜欢着钱的,所不同的是,面对钱和别的东西时,他们会重新衡量一下得与失,或者会依据自己的价值观来选择那个他认为更有价值,或者更重要的东西。倘若两样选择并不矛盾,或者根本不用选择,就可以直接得到没有任何附加条件的金钱;或者得到金钱的同时也不需要他们额外付出太多的艰辛努力;或者付出同样多的努
力能够获取更多的回报,那么大多数人还是会毫不犹豫地欣然接受,并愿意为之去努力奋斗。 我的朋友那些所谓的金钱并不重要,爱情才重要的观点,只是表示在他的人生那一阶段中,金钱与爱情相冲突了,他才不得不放弃金钱而已,或者表示他不愿意为了钱和我一样去辛勤地努力工作,而并不是说他真的不喜欢钱。
4、喜欢钱却不沉迷于钱
等我想通这些问题时,我也就发现了喜欢钱本身并没有对与错之分,对与错之分的只是以什么样的方式去喜欢钱,又怎样获得和使用钱而己。
倘若并没有像文艺作品中描写的的葛朗台们那样只是欣赏“钱”本身,而是通过自己的智慧和辛勤地努力,合法地赚取更多的金钱,然后让我们自己和家人,以及我们周围的人,都因为我们而生活和工作的更好,让我们所在的企业为社会创造出更多的财富,让我们生活的家园和我们的祖国更加美好,这样的喜欢钱,就是健康的,就是该提倡的,就是正确的。
自从我想明白这个喜欢钱却不沉迷于钱的道理后,我就更加专心地研究和实践着我的赚钱理念。在后来的工作和生活过程中,我还真发现总结了很多行之有效的方法能让销售业绩快速增加。我又把这些方法用在我周围人和我所服务的公司里,都起到了明显的效果。有一根手指比较短可以当程序员吗
这些努力的过程和实践的结果,也就汇聚成了这本书。
5、努力尝试各种可能增加收入的方法
还在大学读书的时候,我就在努力地寻找和探索各种增加收入的可能办法。我本科读的是理工科偏技术类的专业——应用电子技术专业。除过专业课外,我几乎读过我们学校图书馆藏书中所有能够找到的有关经济和管理类的书刊、杂志和当时的报纸。现在看来,那时的努力确
实对我现在的成绩有着相当的帮助作用,至少帮我打下了坚实的基础,并拓宽了我的视野。
读书的同时,我还在努力地实践着各种可能的赚更多钱的办法。我试着推销过冷饮,也发表过文章赚稿费,还玩过股票。毕业后,同学们大多都去做了技术,我也跟着成了一名技术人员。在这个过程中,我开发过很多项目,也帮别的人接过案子,卖过自己开发的办公软件。这段时间,我主要靠自己的技术吃饭。
6、发现赚钱的基本模式:东西+卖
在这些努力的过程中,我一边实践,一边总结,一边思考着如何才能赚更多的钱回来。
经过长期的观察思考和总结,我注意到一个很简单的现象。我发现通过任何形式的赚钱都有一个共同的规律,那就是找到一样东西,然后把它卖掉,再收回来钱,付过成本,就是多赚出来的钱。当然也完全有可能成本过高出现赔钱的情况。所以要做的就是如何找到或创造出来这样的东西,然后把它卖的足够好。
我把这个归纳成一个公式,把它称作为任何形式赚钱的基本模式:
赚钱 = 东西 + 卖
其中的东西可以是找别人现成就有的,也可以是自己完全从无到有重新创造个,或者自己去把几个现有的东西组合包装一下弄成一个新的东西。这样的东西可以是产品,也可以是某种技能服务,
比如智慧咨询或者技术服务。要是实在没有东西可卖,那就卖自己和自己的服务,比如卖自己的服务来换取工作收入。总之得要有个什么东西,然后把它卖掉。
东西可以常有,但是把东西卖好却不一定。不同的人卖同样的东西,卖出来的价格也不同。同样是东西,为什么有些卖掉赚的钱多,有些卖掉赚的钱却少,甚至赔钱。同样是人和服务,为什么有的人能卖到10个亿,而普通人的服务却只能卖到几百块到几千块?
这就是赚钱模式中的另一个至关重要的因素——卖,正是这个卖在起着作用,决定着能最终赚到多少钱。
由此看来,每一个人,只要想赚更多的钱,不管是做什么的,拿怕只是公司上班的普通小职员,都应该好好地研究一下“卖”,至少应该把自己和自己的服务卖个更好的价钱。
7、两件很费解的怪事
自从我发现“卖东西”原来这么重要后,我就努力地去研究它,搞懂它,掌握它。我也因此放弃了6年的技术沉淀,转而去做销售,去实践着卖东西的能力了。
在刚开始做销售卖东西的过程中,我发现了两件非常奇怪的事情。
第一件事情,是我家门口同一条街上,两家不同的商店,一家生意非常好,人流量很大,可是另一家却生意冷冷清清,没几个人上门。一家饭馆生意火爆,而另一家却几乎没生意,开不到多久就不
得不关门。
到现在为止,我还经常发现这种情况。我家附近有几家大超市,以前我经常去。可是我发现有一家生意非常好,经常是收银台排长长的队伍,里面人满为患,可是另几家就是生意冷冷清清没有它好。我就反复在想,同样是商店,同样是超市,同样是卖东西,为什么差别会这么大?
我发现第二件奇怪的事情,是有一阵子我和我的团队非常地努力,非常地辛苦,可是我们的销售业绩却并不好,卖不出去多少东西,也赚不到多少钱。我们的东西也很不好卖,别人一听说我们的东西,马上就说不要。而在这之前,我是在盛大网络公司跟陈天桥一起做的,当时我们的产品非常好卖,根本就不用这么费力地去推销,客户争着抢着要我们的东西。我就在想,为什么反差会这么大?
而且我跟陈总做的时候,我们很轻松就可以赚到很多钱,可是销售别的东西很累很辛苦,赚钱却很少,甚至我们团队中的有些销售人员还要经常因赚不回来钱,不得不饿着肚子工作。
我还发现我周围有一些非常优秀的销售员,他们宣称几乎能在任何时间任何地点把任何东西卖给任何人,他们绝对要比陈天桥努力辛苦的多,可是他们赚的钱却远远没有陈总多。
我甚至怀疑我前面发现“卖东西”那么重要的观点是否正确。因为如果让陈总去卖和我们一样的东西,处在一样的状态下,只要他不说他是陈天桥别人也认不出他是陈天桥,我估计他很有可能还没我们卖的好。可现实生活中,他却是最有钱的。
所以那段时间我就反复在想,同样是卖东西,为什么差别会这么大,而所有这一切到底是为什么?
8、几个很痛苦的反思
这两件看起来很奇怪的事,让我陷入了痛苦的反思当中。我也曾和我周围的人交流过对这两件事的看法,但都没有完整、合理的解释。我只有像以往一样,一个人努力地去寻找答案。 那段时间我集中思考的,有以下几个问题:
一、销售(卖东西)是不是惟一赚钱的途径?不做销售是不是也可以?是卖东西重要,还是技术重要?如果是卖东西重要,那为何我做技术赚的钱比做销售赚的钱还多?而我做技术一样可以活的很好啊,还不用这么累的。那我只做技术,不去做销售,是不是可以?
二、做销售是不是一定可以赚到很多的钱?
为什么那些所谓的销售高手,却并没有多少钱?为什么那些销售神话大师们却没有陈天桥钱多?如果真让陈总去和那些销售大师们在相同的情况下,一起推销同样的东西,很有可能陈总还没他们卖的好,为什么陈总的钱却比他们都多?
三、销售是不是真的很重要?
从理论上来想,销售卖东西当然很重要,只有把
东西卖出去才能赚回来钱,可现实情况看起来却与理论上的设想是完全矛盾的,这是为什么?难道销售卖东西并不重要?
那段时间我每天除过工作中忙起来外,别的时间几乎都在本能地思考着这些问题,甚至睡着后的潜意识也在思考,每天上下班的车上,阅读时,做别的一切时,都会本能地思考着这些疑惑不解的地方。
这样子的状态持续了差不多好几个月的时间,在这期间,我仍继续在努力地带领着我的团队卖着我们的东西,可是,我还是想不通这些问题,所有的疑惑似乎很简单,但我却理不出头绪,也找不出合理的解释。
9、一次重要的思想顿悟
有一天照例推销很碰壁,没有卖出去任何东西,连感兴趣的人都没有,我心里特别地难过。吃过晚饭后,我一个人躺在阳台椅子上,怀里抱了一本书随意地翻阅着。
那天我翻看的是一本历史书,书中记录了当年毛主席率领秋收起义部队刚上井冈山那会儿的艰苦创业过程。
书上说毛主席和战友们在清晨睡觉时,部队遭受到当地*地主武装的袭击,部队被迫仓促应战,再加上人地生疏,战斗失利,部队不得不被迫紧急撤退。撤退的过程中,部队曾一度暂时被打散,几百人的部队最初只剩下了四十多人,战士们又累又饿,连吃的东西都没有。
当天我的心情因为推销受阻而难过,但是看到毛主席等老一辈无产阶级革命家们,在创业之初遭受那么严重的挫折情况下,仍能率领战士们克服重重困难,坚定地为中国人民的解放事业而努力奋斗,我的心里又充满了力量。联系这次革命部队遭受的挫折,我就在想,毛主席和他的战友们当年是不是也很害怕打仗的呢?当时是不是也没经验不擅长打这种仗呢?
可是事实上,毛主席却是很伟大的军事家,哪有伟大的军事家害怕打仗的道理?这不是很矛盾吗?我放下书本,躺在椅子上,静静地思索着。有一根手指比较短可以当程序员吗
战争,害怕打仗,伟大的军事家,销售,害怕销售,初到井冈山的痛苦和失败,勇敢地面对挑战,这些东西绞织在一起,脑子里一团乱。我躺在椅子上,闭上了眼睛,心中渐渐地归于平静。 突然,一道念头闪电般划过脑海,我一下子就豁然开朗了,整个人心中都通透通透亮了。瞬间,我意识到我找到想要的答案了。思考了好几个月的心中迷团,也因此一下子全部被打开了。
10、谜底被揭开,原来这么简单
原来我发现打仗分两种形式,一种是肉博战,就是两队人马放对撕杀,相互肉博,直到一方打败
第四篇 有一根手指比较短可以当程序员吗
《程序员高手和菜鸟的区别是什么?》
程序员的价值绝对不在于技术本身,而在于做出好用且好看程序的能力,这是一个开放性的话题,每一个人都是菜鸟过来的,北大青鸟大数据学院老师希望每一个做技术的小伙伴都能尽快成为高手。
1命名
从程序代码的命名,我们就可以看出一个人的水平。最差的命名就是使用中文、拼音、拼音缩写、中英混搭,接下来要么是模仿式命名,要么干脆就随意命名。
模仿式命名典型的就是“××DAL”,说实话,我觉得类似于“UserDAL”这样的名字,我觉得太不美观了,一般这我就知道这是典型分层架构的模仿者,说明他是有些经验的人了。 随意命名,就是写代码的时候,名字压根就没有意义,比如var list = new List<User>,其实完全可以写成var users = new List<User>的。想要命名的更有意义,你只需要将每一个类、每一个方法、每一个单词的名字都用你开发时的意思直接描述出来就行了。 clip_image001clip_image003clip_image005clip_image007clip_image009 2模型抽象能力
模型决定一个系统的可用性、稳定性、易用性、可维护性、可扩展性!这个模型不是UML建模,而是软件的核心。就是你设计一个软件时,为其所抽象出来的原理性的描述。模型决定一个软件的质量、易用性和扩展性。
凡是优秀的软件,都有一个共同特点,就是其模型构建的非常漂亮,当然也有不怎么优秀的软件,模型也很漂亮。比如微软MEF,其模型构建非常的漂亮和优雅。MEF的核心就是组合基元,如下图所示,它简单的定义了动态组合的支持基础,然后一层一层的进行扩展。 clip_image010
3谦虚随和
们的技术往往都很了不起;而那些说话刻薄无礼,觉得这个技术不怎样,那个技术也没什么了不起的,我自己的东西已经挺好的,这样的人水平、经验和见识一般都不怎样。有一根手指比较短可以当程序员吗
软件的问题,并不是简简单单解决一个技术问题,从技术的角度上看,只要学会了使用技术,那么我们就已经掌握了技术,因此,单纯的技术是很简单的。相反的是,软件的协作开发、管理,软件的易用性,软件是否美观,这些东西才是最麻烦的,也往往是技术水平一般、经验短缺的程序员意识不到的东西。有不少一般的程序员,大体都是这一类,他们觉得软件太简单了,没有什么了不起的。对于什么思想,也不屑一顾,他们已经觉得自己掌握了很多真正的技术。
4异常处理
通过异常处理可以看出一个程序员程序设计的严谨与扎实的基础知识。拿Java开发人员举例,要发现每一个方法都有可能需要强制的处理异常和声明这个函数需要处理的异常,这种强制的约束,会强迫开发人员来习惯性的考虑和思考它。
不过,对于大部分人来说,它处理异常的方式就是简单的使用try { … } catch(Exception anyException) { // 忽略异常 },用这种方式来捕捉所有的异常信息。 这样做的好处就是快,傻。缺点就是一旦出现问题,就不知道问题在哪发生,怎么回事,如果有靠谱的QA还好一些,比如外企,他们都有规范的测试方法和测试流程,一旦发现问题,就会将重现捕捉完整的描述出来给开发者看。
不过,在国内没有严格的测试是很正常的,那么出现问题时,就傻了。客户是绝对不可能把出现问题的方式给你完整的Repro的,一旦出现问题,客户会干的就是急眼,那接下来怎么办?你就老老实实加班,老老实实的去猜去找问题。
当“try { … } catch(Exception anyException) { // 忽略异常 }”这样的代码充斥整个
clip_image014 关于异常处理,另一面,就是菜鸟程序员在写代码或者实现功能的时候,一般不考虑反面情况,一个软件按照正常步骤可能能走通,但是一旦出点意外,就麻烦了。以下就是一个典型的代码。
If(*****)
{
// ….do something…
}
这个代码处理了if,但是万一出现else的情况呢?可想而知,系统将会出现无法意料的情况。因此,这也是菜鸟程序员做的系统一般都非常不稳定的一个根源,做程序一般只考虑功能实现,忽略掉意外情况。
5优雅与美观
菜鸟程序员并不是缺乏审美,缺乏的是优雅和美观的抽象能力。一个好的系统,要做到两点,好用,好看!因此,这绝对不是单单功能上的堆砌。
很多国产软件都深深的烙上了技术人员设计的印子,一看就知道这个软件是出自一个技术人员的设计和实现,一看就知道这个软件的实现过程,这简直是惨不忍睹,不过,小伙伴们,这就是你们的机遇啊。
菜鸟技术人员开发功能的时候,一般都是从实现的角度进行堆砌,怎么简单,怎么来。不会去仔细分析,用户在操作这个功能的时候,到底还会做什么事情,各个功能之间怎么进行有机结合来完整的进行结合。相反,一些技术比较好的程序员往往都要直面客户,经常被客户骂,骂着骂着,也有点觉悟了。
户意识,也希望自己的软件能有很好的评价,甚至能够影响社会。好用,好看,是软件能够被普遍采用的前提,因此,我们需要学会抽象优雅。
6基础扎实
技术知识决定一个人能做的技术的层次。基础的知识有计算机组成原理、计算机操作系统、网络原理、数据库原理、计算机图形学、编译原理、数据结构、离散数学、人工智能等等很高深的理论知识。
在这些基础知识之上,就是软件开发语言、类库、框架,面向过程、面向对象、面向服务等编程思想,架构思想等等。
这些知识不一定会影响你现在的工作,但一定会影响到你的格局,那格局肯定也会影响到你自身的发展。我碰到过有些理论很差的人,但技术在公司内也是有些影响力的,因此,他们对技术原理就很不屑,甚至为自己不懂太多理论而擅长实战而沾沾自喜。
这些人会对那些懂理论,但动手能力一般的人显示出由内而外的鄙夷,但是他们却不知道那些既有基础知识,也有动手能力的高手做出的东西是怎样的。就像很多人都想不通,那些技术天才是如何开发出一个数据库、操作系统这样的软件。因此,如果你已经发觉自己基础不够扎实,那么还是有空就修炼修炼自己的内功吧!
一般都会认为软件很不值钱。事实上,做好看的、好用的软件非常难,做好看、好用、还要好维护以扩展的软件那就是难上加难。软件是一个充满智慧结晶的劳动成果,如果说的高尚一点,有些软件时无价的。
点击咨询
第五篇 有一根手指比较短可以当程序员吗
《作为一个新手java程序员该如何成长》
作为一个新手程序员该如何成长?
引言
“哦,天那。相比其他开发者,我又笨又没准备。老板会知道我是多么无能,我要被炒鱿鱼了。”
这种想法,在我们作为一名软件开发人员刚进入工作领域的时候,非常常见。我也不例外。这种想法会让人觉得自己不如其他的开发者,感觉自己是滥竽充数的,感觉自己像一个全面的傻瓜,当涉及到写代码的时候。
在短短的几个月后,我第一次获得一份真正编程工作的兴奋——改善和维护一个基于web的研究平台——终于变成了绝对的恐惧,那些消极负面的想法在我的脑海里不断地涌入。即使在我去了更大节奏更快的组织机构,以及之后终于开创了我自己的企业,这些想法也在不断地蚕食我。
我总是觉得自己写的每一行代码都那么笨重,低效,如果展示给任何其他有才干的开发者看绝对会被批判得体无完肤。我感觉自己很笨,他们发现这一点不过是时间问题。
听起来很熟悉?如果你有我这种想法,有绝大多数软件开发者都有的这种想法,很大的可能是会惶惶而不可终日。
下面我要介绍一些我发现的有助于,你作为一个初出茅庐的开发人员,提升你自己和你的职业生涯前景的关键策略,并在推动职业发展时保持一种健康的心态。
作为一个初出茅庐的开发人员提升自己和职业生涯前景
无论你是正在找你的第一份工作,还是盯上了潜在的晋升,在一定程度上你都需要与其他的开发者竞争。为了确保你能从中脱颖而出,这里有一些关键的步骤可以帮助你迈向成功。
1.找一种你喜欢用到工作中的语言。
要成为一个更优秀的程序员,需要定时经常性地练习编程并用不同的语言和技术扩宽你的经验,但是语言是如此之多,很多时候你不知道从哪里开始,也不知道该选择什么语言才最适合你要解决的问题风格。
2.发现问题或任何让你觉得生气的事情。
正如随着我职业生涯的向前迈进,我进入了一家大的临终护理组织,担任web开发者。虽然我的工作主要是改善和维护我们的在线计费和CRM系统,但是许多医务人员经常抱怨:病人总是报告说系统运行得异常缓慢。这让我很生气,它让员工更生气——因为不得不去修复。
临终护理几乎纯粹运行在微软技术上,并且数据库也不例外——Microsoft SQL Server(MSSQL)。虽然它不是我感觉最舒服的查询语言,但是我依然在家里研究、阅读、练习构建小型的MSSQL项目。通过我的努力,我渐渐能够建立一些示例报告来向数据库管理员展示报告可以如何改进。随着时间的推移,我帮助实现的优化促使我得到了晋升,通过修复那个问题学到的技能帮助我获得了一份数据库管理的工作。
和一种语言一起成长和点燃学习激情的最好办法是,使用你学到的知识来帮助解决令你感到苦恼的问题。不仅要学习语言本身,也要学习语言可以如何应用到实际生活中的问题。
3.公开发布到Github或其他公共代码平台上。
即使你不认为有人会使用它,喜欢它,或者甚至看上一眼,还是要发布你的代码,一旦你觉得它达到生产标准的话。你的项目可能不会改变世界,但它可以让你脱颖而出,让你可以坦然对待别人查看和批评你的工作。此外,它可以让你的简历增色不少。
4.写博客,展示你正在学习的东西,怎么学习以及为什么。
向世界(以及将来的雇主)展示你正在学习,以及你有主动的学习意愿,就可以让你领先于95%以上的同行业开发人员。你也可以练习你的写作技巧,这个过程也能让你学到很多关于自我方面的东西——你如何处理问题,如何分解和解决。你还需要整理一下你常用的思考方式,如何学习和成长,以及如何取得进步。
5.在软件开发社区中表现活跃。
解决问题,看别人怎么解决问题,说出自己的声音和意见。我通过Stack Overflow和编程社区做到这些。这还不是最宽容的文化,因为你将会遇到一些非常眼尖的开发者咆哮你怎么在伪代码中忘记了后面那个括号,但这能让你与其他的开发者交流,使得具备接受诚实(有时是残酷)批评的经验,并知道其他人可能会如何处理问题,从而打开思考问题的新思路。
6.学会如何简明扼要地解释给技术和非技术人员听。
我总是听到大家说沟通是实现职业成功时,要掌握的最难和最重要的事情之一。在早期,我认为这是无稽之谈——只是跟人讲电话,会议期间交谈,发送电子邮件能有多难?任何有着专业沟通经验的人都会对这种看法嗤之以鼻,我现在也会。你会惊讶地发现误解的快速突然出现,工作流程是如此之复杂,以及项目进程的拖延。
要真正掌握高效的沟通,你需要对实际工作中你需要工作于什么有一个基本的了解并彼此交互。写博客,并与编程社区互动有助于有效地提高沟通能力。
如果你能掌握简练,实事求是,通俗易懂(如果需要的话)的沟通方式,并将复杂的问题和解决方案分解为可理解和很小的块,那么你就能在软件开发领域立于不败之地。你会发现项目经理,其他的程序员,以及执行主管等都会争夺你去他们的团队。
保持健康的心态
专业软件开发人员的成长之路没有一条不充满着荆棘和困难,所以你很容易掉入不健康的自我思考和职业选择的陷阱。通过了解每个人都会有的专业的不安全感,可以在你对自己失去信心的时候更好的激励自己。
1.要知道,每个人都感觉自己像骗子。
你在你的职业和生活中遇到的每个人都在与骗子综合征做斗争。我们每个人都觉得自己正处在被发现自己是骗子,然后被公开批评无能的边缘。了解这一点能在精神领域帮助你觉得公平,而且还能帮助你认识到,每一个做过值得夸耀的事情的人曾几何时的想法就和你现在一样。
这种心态可以帮助你坚持下来!如果再加上具有建设性的渠道方法——学习新的语言,开发方法,以及解决问题的方法——你的整个职业生涯都将有极大的提高,并且能够快速让你成为技艺大师。
2.知道自己会陷入困境。
毫无疑问,就是在编程中我终于接受了我是人这个事实——我也有犯迷糊,笨手笨脚,错误频出的时候。没错,你也是如此。你会错过最后期限,太多次点击“全部回复”,滑动捕捉一些严重的错误,或者在应用程序架构中轻易放过一个令人难以置信的bug。
要想保持快乐和健康,那就得让自己去分析错误,然后从中学习,还要应用所学的东西以便于下次完成得更好。
3.设身处地地思考。
我第一次被老板骂的时候,你知道我是怎么做的吗?我快速回到我的办公室,锁上门,然后哭了。我觉得我是有史以来最糟糕的程序员,并且开始担心自己会不会被炒鱿鱼。但之后,项目经理走进我的办公室,向我解释说我的进程和项目迄今都很好。老板只是刚刚发现她的女儿病的厉害,上司又刚刚指责了她的过失,然后又雪上加霜地被起诉离婚了才这样。好吧。 当我知道了我的老板的这些经历时,我对自己的自我怀疑和担心立即一去无踪。如果是我在那样的情况下,我很有可能也会做出相同的反应。
感同身受是一个程序员和一个人成功的根本。了解客户和用户的真正需求,或者知道上司所身处的压力,可以让你明白他们的行为原因。还可以让你知道你该如何提供有价值和可解决问题的方法,展示你的能力。
作为一个刚刚起步的软件开发者,循着我的建议,你的面前已经有了一条康庄大道。编写伟大的代码以及遵守行业内的相关规定,需要你几乎每天来直面自己的弱点,并要求你不断提高自己。
你可能会和其他人一样不时地动摇,并且尽管我们已经讨论了一些步骤和策略,你还是会陷入消极思想的泥潭——这是完全正常的现象。
只要你能全身心投入,持续改善提高,认识到自己不过是个人,能够设身处地地思考,你将会步入行业最值得尊敬和最有成就的开发者的行列。