一份努力一份收获。
我是个从 2010 年开始才慢慢接触 Ruby 和 Rails 的菜鸟。最佳的学习和提升方式就是不断的看别人写的代码,不断的自己磨练代码,多听多看多问多用搜索。
从 2010 年至今我参与和发布了不少的 rubygems ——
从大约 2010 年左右开始我陆陆续续的参与或发布了大大小小的不少的开源项目——
也为 Rails 做了小小的一丝贡献(排行 152 位):
2010 年前的我是个自我感觉良好的 PHP 代码工。直到加入了一个优秀的团队(Envato),才发现一山比一山高,当时对软件工程的理解实在是小孩玩家家酒的层级。
曾经不懂 Law of Demeter 是什么,也未曾耳闻过 SOLID Principle。作为一个没有正式学习过软件工程的菜鸟(我本科念的是多媒体专业),作为一个在高中时期无比崇拜程序员,但对编写程序一无所知的菜鸟,慢慢的磨,慢慢的努力,总是会有收获的。
2014 年,我在带领开发团队为公司创造价值——同时也在不间断的提升自我,无论是技术,还是 leadership 能力,还是处理政治和纠纷。三年后,五年后,十年后呢?日子很长,能学习的东西很多。日子过得也很快,错过一天就少一天能提升的空间。
快速的写下这点文字,勉励新入行的同学们。也同时勉励自己 —— 去年下半年是我职业生涯的低谷期——入行多年来首次 burnout,但我还是熬过来了,仍然站在相同的岗位上,担当相同的责任,希望创造出更多的价值。
兵来将挡水来土掩,你是会选择花时间寻找捷径呢,还是花时间提升自我?
再更新一个图:我们团队正在开发的这个项目可以说是所有 rails 程序中相对比较复杂的,已经开发了一年多了,走了不少弯路(非技术方面的弯路),但我和团队的成员们对代码的要求都非常高——
❯❯❯ rake stats
+----------------------+-------+-------+---------+---------+-----+-------+
| Name | Lines | LOC | Classes | Methods | M/C | LOC/M |
+----------------------+-------+-------+---------+---------+-----+-------+
| Decorators | 503 | 409 | 15 | 77 | 5 | 3 |
| Finance | 719 | 601 | 27 | 109 | 4 | 3 |
| Presenters | 1470 | 1316 | 60 | 81 | 1 | 14 |
| Queries | 32 | 27 | 1 | 5 | 5 | 3 |
| Services | 2225 | 1732 | 59 | 239 | 4 | 5 |
| Uploaders | 54 | 12 | 1 | 3 | 3 | 2 |
| Validators | 530 | 469 | 25 | 59 | 2 | 5 |
| Controllers | 1273 | 1013 | 46 | 148 | 3 | 4 |
| Helpers | 176 | 144 | 0 | 31 | 0 | 2 |
| Models | 4387 | 2168 | 82 | 211 | 2 | 8 |
| Mailers | 11 | 10 | 1 | 1 | 1 | 8 |
| Javascripts | 800 | 605 | 2 | 184 | 92 | 1 |
| Libraries | 1063 | 897 | 37 | 103 | 2 | 6 |
| Controller specs | 956 | 785 | 0 | 0 | 0 | 0 |
| Decorator specs | 537 | 421 | 0 | 0 | 0 | 0 |
| Finance specs | 702 | 549 | 0 | 0 | 0 | 0 |
| Helper specs | 23 | 19 | 0 | 0 | 0 | 0 |
| Lib specs | 85 | 69 | 0 | 0 | 0 | 0 |
| Model specs | 2337 | 1196 | 4 | 1 | 0 | 1194 |
| Presenter specs | 579 | 435 | 1 | 0 | 0 | 0 |
| Routing specs | 13 | 11 | 0 | 0 | 0 | 0 |
| Service specs | 2452 | 1877 | 4 | 12 | 3 | 154 |
| Validator specs | 796 | 602 | 0 | 2 | 0 | 299 |
| Acceptance specs | 1932 | 1802 | 0 | 0 | 0 | 0 |
| Javascript specs | 684 | 473 | 0 | 185 | 0 | 0 |
+----------------------+-------+-------+---------+---------+-----+-------+
| Total | 24339 | 17642 | 365 | 1451 | 3 | 10 |
+----------------------+-------+-------+---------+---------+-----+-------+
Code LOC: 9403 Test LOC: 8239 Code to Test Ratio: 1:0.9