Y君:天天增刪改查,又能怎么樣?
時間:2021-11-05 14:02:26
手機看文章
掃描二維碼
隨時隨地手機看文章
[導(dǎo)讀]老朋友Y君發(fā)微信給我約飯,算下來,和Y君也有一年未見了。Y君此人曾一度在小公司惶惶不可終日——工作簡單,卻不知前路。后來Y君找到辦法走出了困境,再后來他進入了阿里,并一路做到了高P。他曾和我總結(jié)了他的心路歷程,也分享了他的方法論。恰好最近總有些朋友苦惱于自己每天僅做些簡單的增刪改...
老朋友Y君發(fā)微信給我約飯,算下來,和Y君也有一年未見了。Y君此人曾一度在小公司惶惶不可終日——工作簡單,卻不知前路。后來Y君找到辦法走出了困境,再后來他進入了阿里,并一路做到了高P。他曾和我總結(jié)了他的心路歷程,也分享了他的方法論。恰好最近總有些朋友苦惱于自己每天僅做些簡單的增刪改查工作,卻不知道該如何繼續(xù)進步,便想在此和大家分享下Y君成長的故事。
成長只能靠自己
Y君的第一份工作很不好,就是在一家外包的小公司做項目。做項目也不是像普通程序員那樣正常的寫代碼,而是更簡單——用公司的一套低代碼開發(fā)平臺去做。這套低代碼開發(fā)平臺Y君給我看過,就是有個網(wǎng)址,打開后有一堆功能菜單。然后,開發(fā)人員就可以用這些功能菜單,建立項目需要的數(shù)據(jù)實體,類似下圖:點點新建,就創(chuàng)建個 Entity 類,然后寫上對應(yīng)的屬性,就可以把項目的數(shù)據(jù)實體代碼和數(shù)據(jù)庫表都建好了。一個項目 80% 的代碼就是在這套低代碼平臺上完成的:- 業(yè)務(wù)開發(fā)主要是靠寫一堆 SQL;
- 連前端都不用自己搞,直接就是現(xiàn)成的。
主動些,深入些
坦白說,這套低代碼平臺雖然極大地限制了程序員的自由發(fā)揮,甚至束縛住了程序員的成長。但是,一個小公司可以利用這套平臺快速的交付很多項目,從側(cè)面來說,是不是這也說明了這套平臺的價值?所以,Y君有了一個念頭:我能不能也搞一套類似的平臺,也學(xué)公司去接活兒搞錢呢?不過,他要想做個類似的平臺,其實非常困難。首先,這套平臺的源碼并不在Y君手里,而是有一個專門研發(fā)維護這套低代碼平臺的團隊。Y君不太可能冒然去要源碼。其次,Y君這兩年技術(shù)提高很有限,因為他一直在用低代碼平臺開發(fā),大部分的時候其實就是點點功能菜單而已。但是Y君也有自己的優(yōu)勢。他對平臺的功能熟的不能再熟了,而且他有權(quán)限能看到這套平臺自身的數(shù)據(jù)庫表。于是,Y君決定從零開始逆向分析這套平臺,并同步開始模仿這套平臺的思維開發(fā)。Y君為此做的第一件事就是,去深刻理解這套低代碼平臺的運行機制。只有理解了機制,才能吃透平臺的設(shè)計思路。為此,他花了大概兩個月的時間。然后,他就開始參考著平臺的數(shù)據(jù)庫表,開發(fā)自己的平臺了。在開發(fā)這套平臺的時候,Y君趟了無數(shù)的坑,走了無數(shù)的彎路,但是他成長的也非常快。他在開發(fā)自己的低代碼平臺的同時,對公司的平臺已經(jīng)摸得非常通透了。而這種通透,也讓Y君知道了公司平臺的各種不足,有些甚至是巨大的缺陷。比如,這套低代碼平臺是無法用來開發(fā)互聯(lián)網(wǎng)相關(guān)項目的,因為他提供的 UI 很傳統(tǒng)、很簡陋。再比如,這套平臺的 SQL 解析充滿了很多缺陷,對一些稍微復(fù)雜的分頁、自然連接等 SQL,是無能為力的。但是最終,Y君并沒有用上他的低代碼平臺去搞錢……他的職場機會突然因為他能力的提升,和他不期而遇了。
公司的問題也許就是自己的機會
事情是這樣的,當(dāng)時互聯(lián)網(wǎng)在神州大地已經(jīng)方興未艾了。有很多想轉(zhuǎn)互聯(lián)網(wǎng)的客戶找上了Y君所在的公司,客戶想讓這家公司給他們做像企業(yè)門戶啊、B2B 電商啊之類的互聯(lián)網(wǎng)系統(tǒng)。而Y君公司的低代碼平臺,并不適合搞互聯(lián)網(wǎng)相關(guān)項目。但是,不適合這事兒,其實公司里許多人是不清楚的。Y君的大部分同事們,每天就是上班打卡,點點平臺菜單,然后下班走人。甚至他們自己還慶幸,他們到了一家非常輕松的公司,工作不累,工資湊活。沒人想過自己的未來,也沒人像Y君那樣,異常辛苦的自我學(xué)習(xí)努力。當(dāng)公司接了一個互聯(lián)網(wǎng)項目開發(fā)之后,發(fā)現(xiàn)這套低代碼平臺做不了。而維護這套平臺的同事們,由于需求太少,他們摸魚慣了,再加上保守,竟然也不清楚該如何改造這套平臺。公司老板著急了,他組織程序員們開會討論對策。正是這個會上,Y君站了出來。由于Y君已經(jīng)搞清楚了這套平臺的優(yōu)缺點,并且他在開發(fā)自己的低代碼平臺的時候,經(jīng)過無數(shù)掉頭發(fā)的夜晚后,解決了大部分的問題,所以他詳細(xì)地指出了這套低代碼平臺的問題,并且說出了自己解決思路。當(dāng)時也沒更好的辦法,老板抱著“讓他試試吧”的想法,讓Y君牽頭搞低代碼平臺的改造,需要的資源公司盡量提供,條件就是要盡快。到此,按照故事的發(fā)展,應(yīng)該是這樣的:Y君接手了這套平臺的改造,經(jīng)過不懈努力,帶領(lǐng)同事們最終快速完成了平臺改造,完美的給客戶交付了項目,讓客戶和老板非常滿意。也由此,Y君得到了老板的賞識,大漲工資,又讓他負(fù)責(zé)做了許多公司重要的項目。逐漸成為公司核心,一路開掛,走向巔峰,迎娶白富美……醒醒吧!這并不是一個故事……世界上哪有這么完美的事兒。畢竟Y君工作年頭短,經(jīng)驗、技術(shù)擺在那兒呢,而且低代碼平臺本身就是一個難度很大事情。最終項目是給客戶交付了,但是結(jié)果并不理想,靠著平臺自動生成、修修補補、很多定制化的開發(fā),才湊湊合合的交付了。雖然過程和結(jié)果不完美,但是Y君收獲很大,就像我倆事后總結(jié)的:
- 在這個過程中,他對低代碼平臺懂的更多了,而且也認(rèn)真研究了一些其它公司的低代碼平臺。
- 親自接觸客戶,他看到了客戶真真正正的訴求,這比自己 yy 需求、閉門造車要好多了。
- 最重要的一點是,因為之前的自學(xué)和這次機會,使得Y君一下從平臺的使用者變成了平臺的開發(fā)者,所接觸到的技術(shù)一下高級了很多。
- 不管公司如何,最終還是需要靠自己的。工作再簡單再重復(fù),那也只是工作,咱們該主動學(xué)習(xí)還是得主動學(xué)習(xí)。
- 公司有問題也不全是壞事,咱們能力漲了之后,公司的問題就可能成為自己的機會。每個人的職場成長,很多時候是以解決公司的問題作為臺階,一步步踏上去的。