Y君:天天增删改查,又能怎么样?
时间:2021-11-05 14:02:26
手机看文章
扫描二维码
随时随地手机看文章
[导读]老朋友Y君发微信给我约饭,算下来,和Y君也有一年未见了。Y君此人曾一度在小公司惶惶不可终日——工作简单,却不知前路。后来Y君找到办法走出了困境,再后来他进入了阿里,并一路做到了高P。他曾和我总结了他的心路历程,也分享了他的方法论。恰好最近总有些朋友苦恼于自己每天仅做些简单的增删改...
老朋友Y君发微信给我约饭,算下来,和Y君也有一年未见了。Y君此人曾一度在小公司惶惶不可终日——工作简单,却不知前路。后来Y君找到办法走出了困境,再后来他进入了阿里,并一路做到了高P。他曾和我总结了他的心路历程,也分享了他的方法论。恰好最近总有些朋友苦恼于自己每天仅做些简单的增删改查工作,却不知道该如何继续进步,便想在此和大家分享下Y君成长的故事。
成长只能靠自己
Y君的第一份工作很不好,就是在一家外包的小公司做项目。做项目也不是像普通程序员那样正常的写代码,而是更简单——用公司的一套低代码开发平台去做。这套低代码开发平台Y君给我看过,就是有个网址,打开后有一堆功能菜单。然后,开发人员就可以用这些功能菜单,建立项目需要的数据实体,类似下图:点点新建,就创建个 Entity 类,然后写上对应的属性,就可以把项目的数据实体代码和数据库表都建好了。一个项目 80% 的代码就是在这套低代码平台上完成的:- 业务开发主要是靠写一堆 SQL;
- 连前端都不用自己搞,直接就是现成的。
主动些,深入些
坦白说,这套低代码平台虽然极大地限制了程序员的自由发挥,甚至束缚住了程序员的成长。但是,一个小公司可以利用这套平台快速的交付很多项目,从侧面来说,是不是这也说明了这套平台的价值?所以,Y君有了一个念头:我能不能也搞一套类似的平台,也学公司去接活儿搞钱呢?不过,他要想做个类似的平台,其实非常困难。首先,这套平台的源码并不在Y君手里,而是有一个专门研发维护这套低代码平台的团队。Y君不太可能冒然去要源码。其次,Y君这两年技术提高很有限,因为他一直在用低代码平台开发,大部分的时候其实就是点点功能菜单而已。但是Y君也有自己的优势。他对平台的功能熟的不能再熟了,而且他有权限能看到这套平台自身的数据库表。于是,Y君决定从零开始逆向分析这套平台,并同步开始模仿这套平台的思维开发。Y君为此做的第一件事就是,去深刻理解这套低代码平台的运行机制。只有理解了机制,才能吃透平台的设计思路。为此,他花了大概两个月的时间。然后,他就开始参考着平台的数据库表,开发自己的平台了。在开发这套平台的时候,Y君趟了无数的坑,走了无数的弯路,但是他成长的也非常快。他在开发自己的低代码平台的同时,对公司的平台已经摸得非常通透了。而这种通透,也让Y君知道了公司平台的各种不足,有些甚至是巨大的缺陷。比如,这套低代码平台是无法用来开发互联网相关项目的,因为他提供的 UI 很传统、很简陋。再比如,这套平台的 SQL 解析充满了很多缺陷,对一些稍微复杂的分页、自然连接等 SQL,是无能为力的。但是最终,Y君并没有用上他的低代码平台去搞钱……他的职场机会突然因为他能力的提升,和他不期而遇了。
公司的问题也许就是自己的机会
事情是这样的,当时互联网在神州大地已经方兴未艾了。有很多想转互联网的客户找上了Y君所在的公司,客户想让这家公司给他们做像企业门户啊、B2B 电商啊之类的互联网系统。而Y君公司的低代码平台,并不适合搞互联网相关项目。但是,不适合这事儿,其实公司里许多人是不清楚的。Y君的大部分同事们,每天就是上班打卡,点点平台菜单,然后下班走人。甚至他们自己还庆幸,他们到了一家非常轻松的公司,工作不累,工资凑活。没人想过自己的未来,也没人像Y君那样,异常辛苦的自我学习努力。当公司接了一个互联网项目开发之后,发现这套低代码平台做不了。而维护这套平台的同事们,由于需求太少,他们摸鱼惯了,再加上保守,竟然也不清楚该如何改造这套平台。公司老板着急了,他组织程序员们开会讨论对策。正是这个会上,Y君站了出来。由于Y君已经搞清楚了这套平台的优缺点,并且他在开发自己的低代码平台的时候,经过无数掉头发的夜晚后,解决了大部分的问题,所以他详细地指出了这套低代码平台的问题,并且说出了自己解决思路。当时也没更好的办法,老板抱着“让他试试吧”的想法,让Y君牵头搞低代码平台的改造,需要的资源公司尽量提供,条件就是要尽快。到此,按照故事的发展,应该是这样的:Y君接手了这套平台的改造,经过不懈努力,带领同事们最终快速完成了平台改造,完美的给客户交付了项目,让客户和老板非常满意。也由此,Y君得到了老板的赏识,大涨工资,又让他负责做了许多公司重要的项目。逐渐成为公司核心,一路开挂,走向巅峰,迎娶白富美……醒醒吧!这并不是一个故事……世界上哪有这么完美的事儿。毕竟Y君工作年头短,经验、技术摆在那儿呢,而且低代码平台本身就是一个难度很大事情。最终项目是给客户交付了,但是结果并不理想,靠着平台自动生成、修修补补、很多定制化的开发,才凑凑合合的交付了。虽然过程和结果不完美,但是Y君收获很大,就像我俩事后总结的:
- 在这个过程中,他对低代码平台懂的更多了,而且也认真研究了一些其它公司的低代码平台。
- 亲自接触客户,他看到了客户真真正正的诉求,这比自己 yy 需求、闭门造车要好多了。
- 最重要的一点是,因为之前的自学和这次机会,使得Y君一下从平台的使用者变成了平台的开发者,所接触到的技术一下高级了很多。
- 不管公司如何,最终还是需要靠自己的。工作再简单再重复,那也只是工作,咱们该主动学习还是得主动学习。
- 公司有问题也不全是坏事,咱们能力涨了之后,公司的问题就可能成为自己的机会。每个人的职场成长,很多时候是以解决公司的问题作为台阶,一步步踏上去的。