微信号:programmer_club

介绍:程序员第一自媒体,与你探讨码农人生路上遇到的各类泛技术话题,定期为你推荐码农人生思考、感悟以及启迪!

谈谈最近独立做项目的一些事情,一些小经验,分享之!

2015-08-03 13:18 程序员之家

可以说我是一个码农,一个纯正的码农,一个脱离了低级趣味的码农,时刻准备着要做一个对社会有贡献的码农。



平常最喜欢的事情就是在群里问问题,总是有那么一群好哥们在一起,这样可以享受装逼的乐趣。



谈了这么多无厘头的话题,总归要切入正题,我大学的时候学的是JAVA,但是无奈大学时光都沉浸于美色和游戏当中,所以导致大学毕业的时候,只会写一点简单的东西,只知道JAVA中的swing(这个貌似是我懂的最深的知识了)。

也就是在我找工作四处碰壁,走投无路的时候,我发现了一条阳关道:啃老。虽然这不怎么好,但是确实,你说没技术能干啥,毕业=失业=上家里蹲大学,当我的父母叫我转行的时候我毅然拒绝了,这个时候我才发现,我离不开电脑,离不开编程。

于是乎,从那个时候开始,我才打开了编程这扇大门,而这扇大门的第一站,就是ASP.NET,还记得当时教我们的老师(其实后来参加了一个所谓的培训),是半路出家的老师,更坑爹的是,他基本是不会.NET,他是搞JAVA的。



然后呢,迷迷糊糊的,就上了.NET这条船。由于我到的那家公司,基本是都是东西做好的,我只需要维护就行了,而且现在想起来,还有点。。。底层框架无法看到,而且居然连LINQ都很少用,基本都是用SQL,还记得以前很搞笑的,把数据取出来放到一个LIST中,然后再循环。。。其实有时候一个LINQ语句能搞定的问题,用了很长的时间,想想都好笑,来上海以前跟别人说2年工作经验,连一些基本的概念都搞不清楚。

说到独立做项目嘛,五味瓶啦,大家觉得做好一个项目需要什么?无非就是技术,人手,进度。这3点,如果这3点都达不到,那么我们一个项目很难成功。



这个是我目前独立做的一个项目,从设计到分析到数据库设计到最后的编码实现,都是我一个人独立在做,当然了,我做得很烂,所以代码还是不发了,还有我这个不是公有项目。

从项目中我学到了什么?其实我学到的很少,我感悟的却是很多。感悟的有哪些地方?

1.说是为了学习才来帮忙做事的人很少

我这个网站以前陆陆续续招了有10个人,但是都因为各种原因离开了,只有1个人,才加入的,是学生,我跟他直说了,来我这里没工资。其实做事的总共就3个人,我指的是做过事情的,他们不是 说自己没时间,就是说什么PHP好啊,什么JAVA好啊,为什么不用JAVA呢,反正就是一个字,不做事。所以这个网站95%以上的东西都是我写的。

2.想太复杂会把事情变复杂

为什么这么说呢?做一个网站之前,你首先不是想,我如何才能照我的想法把这个网站做出来,而是必须考虑2个地方:1.什么样的想法,才是这个网站的最低制作门槛。2.我有多少能力把它做出来,我需要大概花几天时间做出来?我承认第二点不好估计。我有一个同事,他很会做人,但是我个人看法,他不太会做事,为什么?就是因为他做一件事情之前想得太多,而忘记了自己曾经做过多少,或者说自己的现实实力能不能把这个东西做出来。

3.独立解决问题的能力

大家可能会说,独立解决问题就是一个人解决问题,其实我不同意这种说法,比如你要去造一辆汽车,你需要什么?我需要轮子,然后有 2种方式,第一种就是买个轮子安装上去,第二种呢,自己用手去造,显然,独立解决问题的能力,其实就是自己查阅资料的能力,问问题的能力,还有对问题的理解能力也很重要。

4.全栈工程师真的很重要

有些人可能说,做一个网站很简单,是的,很简单,但是那仅限于2000年,那个时代大家还在用Frontpage做静态页面,那确实很简单,但是现在不同了,所以不能这么看问题,我们工作着,努力着,奋斗着,但是我们依然无法把网站做出来,为什么?因为,你不是全栈工程师,全栈工程师=独立开发网站的必须能力。我这里说的全栈是肤浅的,因为我只考虑到了前台+后台+需求分析+数据库设计。

5.简单而不简单

如果你是一个不懂技术的客户,当你看到支付宝的时候,你觉得这个东西也许在你看来,几分钟就可以搞定,当然实际上,做一个支付宝,几分钟显然不可能,我们程序员,要以程序员的角度去考虑问题,当我们碰到一个看似很简单的问题的时候,却迟迟无法解决而懊恼不已,烦躁不已,其实这就是程序员需要面对的问题。

6.程序员需要有艺术细胞

如果你只满足于你工作中的那些琐碎的事情,那恭喜你,这一条你可以跳过,因为根本不需要你去做,一个网站,就是一件艺术品,不管是前台还是后台,要经得起考验。

7.重构很重要

重构重要在哪?不言而喻,有些人写的代码,甚至是一个人,在他的不同的人生阶段写出的代码质量都是不同的,就是因为这些缺陷,才需要重构,还有一点很重要,因为重构可以体现一个人的能力,如果设想一下,一个系统有1E条数据,都取出来要3分钟,通过你的重构代码,只要1分钟就可以取出来了,这就体现你的价值,系统越复杂,重构的难度就越大,如果这个成功重构大幅度提高效率,这比什么都厉害。

8.程序员要有良好的心态

有些人动不动碰到问题就抓狂,或者是很急躁,这也是人之常情,毕竟系统都有交付时间的嘛,但是退一步说,人都是需要好的心态的,要这么想,如果天塌下来2次,我们都还没完蛋,那么我们有什么理由不乐观面对BUG呢?

9.创新很重要

为什么说创新很重要?有些人肯定觉得我说大话,说你连模仿都模仿不出来,何谈创新。首先,创新来源于模仿,我给大家看我的计划就知道了。



这个是我写的文档,我觉得先模仿,再创新才是条路。

10.做一个有理想的程序员

有些人写程序纯粹是为了赚钱,当然,人不为钱,天诛地灭。这个我赞同,但是我觉得程序员要获得幸福感,首先就是要有理想。我的理想就是能建立一个像上面的一个开放平台,造福全中国的游戏玩家,有些人可能觉得,理想就是假大空,我觉得理想就是一个遥不可及的东西,理想的作用并不在于我们能得到什么实际的东西,而在于我们可以把理想转化为动力,为我们前进!前进!再前进!作为一个助推器。


好了,有很多,很多,代码我就不发上来了,太烂了,反正需求文档我每天都坚持写,希望过几个月跟大家能有干货分享代码方面的心得。

虽然我只是一个小码农,但是我正在在向一个Greate Programmer进化的路上!On my Way!

PS:程序员之家开始约稿了!回复约稿试试!

 
程序员之家 更多文章 我们这一代人的困惑 神剪辑,揭秘程序员加班内幕,不能看,看完想笑又想哭! 美国12位创新型程序员:让科技永远改变 说说怎么写clean code 500,000+年薪程序猿出身哪里 猎聘网揭秘前十大学校
猜您喜欢 [译] Python 3.5 协程原理 当你一个人想做一个Web项目的时候你该怎么做 王坚数博会演讲实录:“计算经济”是社会发展的新动力 开源资产库存管理 ITDB 平安金融科技移动技术周报(第二十八期)