也许我应该能算是接近于一个全栈工程师。
WinForm:
开发了一个IDE,设计,研发,一个人,历时两年到三年(业余时间)。
想法很简单,做一个能拖拖拽拽就直接生成应用程序的工具,不用写代码,把能想到的业务操作全部封装起来,通过配置的方式把这些业务操作组织起来运行。
当时使用了Silverlight实现了运行时,也可以支持其它技术实现,如ASP.NET
http://www.cnblogs.com/sheng_chao/p/4387249.html
多语言开发资源管理工具:
一句话:根据资源文件生成接口,项目中使用接口访问资源,不解释,懂的自然懂……
其它辅助功能,比如多个不同语言资源文件同窗口编辑,跨资源文件效验,导出Excel丢给翻译,再导回来等等。
设计,研发,一个人,这是IDE的衍生品,因为上文的IDE其实是支持多语言的,可以切换中英文版,可见当时的我有多偏执。
在开发IDE的过程中,我发现对于大型的工程,多语言支持是非常麻烦和非常不确定性的事情。
http://www.cnblogs.com/sheng_chao/p/4562696.html
WPF/ASP.NET:
开发了一套在线客服系统
将一段JavaScript代码嵌入网站页面,即可在网站上显示代表客服的浮动小图标,邀请框,以及小聊天窗口,客服或者网站的浏览者都可以发起会话。
系统除了基本的会话,其实绝大部分功能都在数据分析和营销,如果仅仅做一个聊天小功能,很简单,但是做一套功能完善的产品级的客服系统,还是有些难度的。
例如会话的分配,数据的同步,多客服,甚至多站点时的数据同步,互通;服务端的稳定性,可靠性。
设计,研发,一个人,历时一年半到两年(业余时间)。
http://www.cnblogs.com/sheng_chao/p/4548146.html
ASP.NET
写了一个简单的绩效考核系统。
设计,研发,一个人,两个月左右(业余时间)。
http://www.cnblogs.com/sheng_chao/p/4845583.html
其它:
各种杂七杂八小东西的开发,有些是兴趣,有些是帮朋友做,从做网站到写爬虫等等。
现在自己的主要开发方向都集中在了 Web 上,过去一直是 JavaScript 苦手,现在反而觉得写脚本语言非常有意思,这种乐趣也要感谢更加现代化的VS。
所有自己做的东西,美工(主要体现在帮朋友开发的网站类项目)也是自己做,我应该也算一个 Fireworks 专家了,十几年前用 Fireworks 3 给初恋女友手绘了一朵玫瑰,可惜再也找不到了。
工作中参与过的:
话务中心系统(Winform/Remoting,WPF/WebService):用于省电信话务中心。
电气化CAD软件(C++/WPF):日本超级计算机“京”的设计使用了它。
勘察设计院管理软件(ASP.NET):国内此行业占有应该是No.1。
现在:
全职PM。
困境:
全栈工程师在实际工作中,意义并不大。
从员工角度说,工作中几乎不存在需要你全栈能力的项目或岗位,项目本身的技术跨度就不会特别大,人员配备一般也会比较健全,你的技术力通常难以得到体现,虽然你也可以为整体项目提供支援,提供建议经验,然而这并不会有什么卵用,领导很难很难认识到你的价值,你也会招来他人的嫉妒,是的,你会招来嫉妒。
从项目管理角度说,尤其是技术这一块,一般不太会让一个人全面掌握或把持一个项目,这会带来巨大的人员风险。
其次,所有的公司,薪酬都是按“岗位级别”定的,不是按“技术能力”定的。如果你想要得到更好的酬劳,只有一个选择就是提高你的岗位,也就是升职。升职这条路主要也不是看技术,各个公司有不同的选拔标准,企业气质,但技术能力一定不是最重要的。(注意不要混淆技术能力和项目能力)
如果你一定要说某某大牛独霸一方,几十万上百万年薪,我承认你说的是对的,去吧,你开心就好。
靠技术往金字塔上走的人,一定是许多因素综合的结果,例如:是公司元老,老板朋友圈等等。
感悟:
虽然我自己是做技术谋生的,但我自己都忍不住想说,这个行业里的许多人,真的太屌丝。
不要闷头做技术,请睁眼看看这个世界。
相比于纯粹的技术开发能力,更重要的是项目能力,再向上是产品能力,走到这一步,是一个瓶颈,出色的产品能力之后,如果遇不到赏识你的伯乐,剩下的选择就只有单干了。
但是这其中的每一步,都是难以逾越的,从做技术到带项目,从带项目到带产品,都伴随着你的心智成熟,也伴随着你对过去的自己的否定。心智的成熟需要契机,需要你去体验生活。
现在许多所谓的产品经理,直接叫产品专员比较合适。现在的很多产品,我都懒得吐槽,你们都是请中二大学生做的设计?
产品经理需要的什么综合素质不需要我在这里总结,技术层面的东西,我觉得真不重要,我说点不同的,我认为产品经理必须要有成熟的人格,人生观,价值观;必须是一个真正的成年人,大人。
微信的成功是一个很好的例子,它的许多设计,在我看来,是来自“成熟的大人”的设计。
反观QQ,QQ的产品经理非常明显缺乏社会经验,纯技术屌,他们应该去找张小龙学一学,不过,产品设计和做技术一样,能力低的人是很难向能力强的人学习的,因为他们意识不到别人那样做的价值,必须得自己吃够了亏,才能成长,这就是成长吧。
所以产品经理就必须得强势,你要有能力,还要有气魄,你要有一个觉悟就是下面的人不可能完全理解你,他们要能理解,他也可以做产品了,技术屌是很中二的,可以哄。 :)
将来?
抱歉基本没有谈到什么技术话题,东扯西扯扯到产品,其实谈到产品,就不可避免要谈到创业相关的话题。在企业中,你是很难施展拳脚的,即使你有机会得以一试身手,做成了,你也很难得到应有的回报;你带出了受欢迎盈利能力强劲的产品,好的结果是你涨点工资,或是拿高薪,不好的结果是你的心血被别人收割,更不用说在企业里你的话语权有多少也是个未知数。
可是一个优秀的人和那些混日子的人,就只值那些薪水的差别吗?所以当你有足够的能力的时候,做自己的东西几乎是唯一的选择。
我很喜欢一句话:每个人都应该去创业,不为别的,就为了健全你的人格。
对于我来说,我一定要做自己的东西,这才是一个全栈工程师的价值所在。
欢迎同行的朋友与我交流:QQ 279060597
一起探讨工作和事业中的心得体会。