写在处女作发布之后
这一周, 处女作在磕磕碰碰中竟然也如期发布了. 作为一个还有几个月就毕业的大四的学生(传闻中的无证程序员) 这半年来颇多感受与收获, 在此写下, 与诸君共勉.
(图中是在新车间发布现场, 图中无本人....发布期间我在公司修Bug...)
工作:
关于工作, 虽然自己心理层面是自信自己还是能和有一点工作经验的人比一比的, 但自己终究还是一个乳臭未干的大四学生. 这半年来, 所负责的产品一直是完全没有产出的状态, 而我就是一个光花不挣吃白食的家伙, 如果没有上司和公司对我的信任, 我想这半年的工作估计会是另一番情景吧. 还记得初到公司是9月7号, 平静的度过第一个星期之后. 不平静的旅途开始了, 这半年, 项目方案被推叫停两次, 第三次才走上正轨. 一开始我就认定代码翻译部分是最核心的部分, 所以打算一开始就把这部分搞定. 在我自己的设想里面其实代码都是有层级关系的, 那么用树形结构来描述这样的层级关系是最好不过的了. 于是乎我打算使用Xml来作为数据存储. 但是因为某些原因, 我刚花了两天时间写了一个小Demo的时候这个方案就被叫停了. 其实直到现在, 我还是觉得XML是一个很好的选择.等项目全权由我负责的时候, 我一定要亲手改这一部分. 第二次被叫停.是因为技术选型上的问题, 原本考虑到软件后期会有很多完全不同于一般控件的自定义控件, 很多动画和很多酷炫的富有表现力的东西. 就考虑使用QML, 虽然那时候QML还是1.1 仍有诸多不完善, 但我想赌一把, 因为QML2.0 也没几个月就要发布了, 到时候应该会有很大改善. 于是就采用了Qt C++结合QML的方案. 但是两个星期之后, 问题出现了, QML虽然很方便自定义新的元素, 什么东西都可以自己写, 这很方便也很麻烦, 如果在QML里面绘制一斜线, 好吧要实现起来还需要相当的工夫...结果也被叫停了. 最终弃用QML改用Graphics Framework这一套, 时至今日, 软件已渐渐成型.在工作中,其实学习到相当多的东西.
很多时候, 很多人很反对外行领导内行. 而我自己则很庆幸没有这样的担心. 虽然我上司并非纯专业的IT人事(他平面设计, 硬件, 软件都搞..), 但是他对我充分放权, 从技术选型到具体实现, 很少加以干涉. 这样我可以尽情将自己的想法逐一去实现. 彷佛自己用双手在键盘上构建自己的一个世界一样, 每天的工作自己都很开心很享受. 相形之下, 我女朋友在另外一家公司实习, 她Boss是一个业内人事, 对于她所写的每一行代码, 都会严格的审核, 不管是实现方式, 还是变量命名...她每天要做的工作, 基本上都是Boss定下来的, 很难有自己尽情发挥的空间. 对于这点, 自己一直很庆幸..
学习:
其实本不想写这方面的东西, 一来自己也没有什么耀眼的成就, 而来也没什么出众的能力, 三来也不是某方面的大牛. 但苦于常常有同学让我介绍自己的学习经验, 对于介绍经验来说, 我自己是诚惶诚恐的, 生怕自己这个半吊子误人子弟毁人前程. 但从另一方面来讲, 如果有人能从中受益, 那也不算太差. 不过接下来的叙述, 当笑话看看就行了, 不必挂于心践于行.
嗯..其实这几年我去听的课没多少节. 但这并不代表我不在学习. 我记得大二下学期末的时候, 自己在图书馆借阅图书的数目就超过150册了. 这150册听起来吓人, 实际上还是有很多水分的, 其中的1/5是看了一两章的, 2/5是看了百页左右, 浏览完整本的也就大概1/5这样. 对于看书, 高中时期不务正业狂看小说由此练就了一番快速浏览的技能, 不纠结于细枝末节, 所以我看书的速度还是比较快的, 至于质量嘛, 呵呵这个其实就很难说了...反正都是当小说看的..一天下来看个一两百页还是挺轻松的. 看书时常常遇到很难再看下去的情况, 有时候是因为某些东西太难理解, 有时候是因为前面无意中略过了重要内容导致现在知识衔接不上. 这时候一般我会继续啃下去, 一直往下看. 很多时候看到后面的内容, 前面遇到的问题就迎刃而解了. 再或者是找相同题材的其他书籍, 很多时候不同的书籍从不同的角度描述相同的问题, 这样看起来就会清晰很多. 还会有相辅相成的效果. 但是以自己的经验看来, 看的书多而杂并不好, 因为很多知识缺乏频繁的实践的话, 就很容易忘记. 当你忘记了之后, 书就差不多是白看了. 以前看书, 能从统计学看到机器学习, 再看到数据挖掘.好吧实际上现在好多东西都忘记了. 以后再看书, 我会更专注于自身喜好的和自己会在工作中使用到的.
除了看书我也看过很多论文. 很多时候, 对于某些东西, 需要尽快上手, 但是没有那么多时间去肯一本书细细了解它的方方面面. 这时候论文是相当好的快速入门材料..一般来说几十页的论文都会对所要叙述的内容讲个大概, 看了论文, 自己也就了解了个大概. 很多人说国内论文很垃圾, 很没有营养, 一个题目的十篇论文里面除了作者名部分之外其他地方基本上都长一个样. 我之前实习的公司的Boss就说国内论文是二手垃圾..就我自己看过的百来篇国内论文来说, 其实大体上确实是这样的. 特别是国内这种内容惊人相似的论文, 可以很好的起一种循环反复的效果....可以把一个你本来不熟悉的概念, 一遍一遍又一遍的重复, 最终在自己的脑海里留下难以磨灭的烙印. 就这一点而言结果也并不是太坏. 对于看论文我自己的心得是 如果是不需要深入的了解该论点的原理的话, 就只看开头和结论就可以了. 如果需要了解一些原理性的东西的话, 就找七八篇相同题材的论文, 通读其中一两篇, 然后剩下的就看看目录是否有新东西, 再看看结论就差不多了.这并不需要花太多时间和精力.
如果时间充裕, 我会多花更多的时间在英语上, 现在深刻的意识到, 介个英语, 光看的懂文档, 还是不行的.....还得可以说得出能让老外听得懂的句子.打算以后时间稍微充裕一点的时候就从头开始吧, 说实话, 音标哥哥都忘记了......以前每每别人在谈论英语四六级或者问我过四级没有的时候, 我都要忍住想喷他一脸的冲动, 现在心境变了, 介个英语不为别的就只为自己也一定要过关.
重实践or重理论:
这是一个和语言之争一样容易引起程序员鸡血的话题. 我们可以看到很Hello world都写不熟练的学霸保送北大清华了, 也可以看到常年蹲实验室挂科无数延迟毕业也照样进XX名企. 而实际上我觉得每个人有自己的学习方式并不见得A方法总比B方法优秀. 对于我自己来说只要自己开心就好, 而我又比较的肤浅容易被很多小的成功所满足.所以我喜欢不断的看书写代码, 不断的验证自己的想法. 其实也说不清楚自己是重理论还是重实践, 在同学眼里我是常年年级排名Top 5%(请注意这里是倒数) , 只会编程的孩子, 而实际上我自信我所看过的书比他们任何人都要多,多出好几倍.光看书不写代码不行, 只写代码不看书也不行.多看书多写代码才有出路..其实多去参加一些技术交流会也可以开拓视野拓展人脉...
生活:
在生活方面简直是一塌糊涂, 特别是财务方面问题频出, 每每月底就一副穷困潦倒状. 倒也不是乱花钱, 主要是学校坑爹事情太多, 平均每一个月都要回学校一次, 每次往返,路费和务工, 都是一笔不小的开销. 原本计划购入一台外星人, 终究未能实现.这周末又要回学校, 幸好这次公司可以让我远程办公, 不影响薪水, 不然月底又是贫困潦倒状..
未来:
希望今年五月份产品在旧金山的展示能够取得比较好的效果. 也希望做好本职工作之余, 期望闲暇时间能够专心学习数学和英语, 女朋友能够稍微有点理想不要只关心娱乐八卦, 心系各种电视剧, 不然一个人默默的奋斗是很累的.
最后, 希望诸位同僚每天都活得开心.心想事成