Beetl開源那些事3 頂 原

   

   我是閒大賦,我的Beetl 開源轉眼已經有8年曆史了,BeetlSQL也有3年開源歷史。不斷有朋友發郵件告訴我,使用了Beetl代替了原來的Freemarker&JSP,或者使用BeetlSQL獲得了很大的便利。 前幾天,還就有個朋友告訴我,他們的平臺爲是國內所有信用卡APP提供服務,使用的技術正是BeetlSQL。

   並非想炫耀自己的開源技術,而是感到鬱悶,我經常爲我自己的開源技術並不能用到自己的公司而感惶恐和悲哀。記得我多年以前我在電信系統公司的時候,有個朋友自稱他們研發社交系統說使用了Beetl,他自報家門是電信研究院的,我很開心,我們在一棟樓,他就在我樓下。我也很鬱悶,因爲我自己的公司,我從來都推動不了使用我的開源。

   反對我使用Beetl和BeetlSQL的原因我好多都忘記了,我只記得三個月前,當我推薦公司的開發平臺使用BeetlSQL而不使用MyBatis方案的時候,我得到的反駁是,萬一我不在公司了,BeetlSQL還會支持嘛?他們認爲MyBatis無論如何,都會持續發展,且任何問題都會從網上找到答案。

我對反駁我的同事嗤之以鼻。同樣是這些同事,還曾經反對我用Spring Boot 搭建系統,而說要用SpringSide搭建,我後來寫了一本暢銷書《Spring Boot 2 精髓》他們才作罷。

    我每次都收到朋友的來信說採用了Beetl&BeetlSQL,我都會小鬱悶一下,爲什麼不認識我的人願意信我,而天天在一起工作的同事,卻充滿了疑惑。

   我無法反駁我同事的觀點,顯然我的開源產品正在跟一個龐然大物做鬥爭,更何況我的開源還有一定的技術革新。我沒有百度,阿里,華爲那樣公司級別支持,能輕易獲取使用者的信任。我從事的開源與我的工作沒有交集(我一直都很羨慕有些程序員的工作就是開源),我本人也只是一個IT普通從業者,無顯赫的學校背景和工作經歷。拿我們客戶的話來說我,“你無法說服我,因爲你的薪水只有幾十萬,而諮詢公司的人年薪有幾百萬,雖然我覺得你說的也沒錯”。

    利用開源的人,如順水行船,創造開源的人,如逆水推舟。

    開源生活裏碰到的鬱悶不止這一處,比如,開源樂趣並不會長久,更多的是責任。開源使得自己專注與某一領域技術,對其他技術不太掌握,很容易落後時代。開源很容易遭受謾罵和攻擊,比如,我就在社區裏遭受各種詆譭,今天就有一個輕度詆譭 http://bbs.ibeetl.com/bbs/bbs/topic/1321-1.html,事實上我很莫名其妙,嚴重的莫過於社區網站都被黑過。現在都還有些我馬甲週期性的來問候我。我那一代老程序員在年輕的時候被很多技術忽悠過,如早期重量級EJB技術,過度複雜WebService,想接管一切的Hibernate,問天天不應,叫地地不靈。現在,本以爲以我對我所在模板技術,數據庫訪問技術領域的實踐以及開源產品成果,可以把讓我大膽講一些同類開源的述優缺點,但還是有不少人惡意揣測我的文章。

    開源當然有很多好處,比如獲取到更好的工作.... 據說,現在淘寶上專門有買github上的fork和watch的,可見開源人多受IT公司的歡迎。現在外國人都不太理解爲何github上有很多中國人瘋狂的PR......我的現在這一份工作就是這麼獲得的,當時面試我後,公司並沒有感覺我適合,但幸好一個人喝水的時候看到我的簡歷,他知道Beetl,也曉得我純手寫了虛擬機代碼來提升Beetl性能。再他的推薦下我才能僥倖獲得現在一份工作,這也說明,就算你有一個很好的開源,也並不一定能得到應聘公司的肯定,我簡歷其實還投了很多公司,都沒有有因爲我做個Beetl&BeetlSQL而能得到一份更好的工作。我有時候想,我應該給其他知名開源打個下手就好了,又不費勁,又能更出名,比如,我應該貢獻一下Spring Cloud周邊工具開源,或者Elastic Search周邊開源,這樣,我能得非常高的薪水. 我也勸那些有志於通過開源提升自己的人,多從事一下流行開源技術對自己比較好。Beetl這樣技術,雖然很複雜,但誰會欣賞一個模板技術開源作者呢?

    做開源有8年曆史了,自己的技術有了很大提升,這肯定比在公司做8年業務開發提升太多了,總結了很多軟技能,願意和大家一起分享。

  • 開發軟件不是一堆人一起做工程,而是一堆人一起寫小說。

     :可以想象團隊開發軟件難度多大,有時候開發出來,客戶根本看不懂,就是這個原因

  • 軟件可讀性非常重要,遠遠超過了“寫的便捷”

     :代碼要寫的酸爽,還是讀的愉快,這是程序員入行面對的首要問題

  • 沒有一個對象解決不了的問題,如果有,用倆個對象

     :當發現解決不了軟件問題的時候,也許是你的系統裏,有個隱含的對象你沒有考慮到

  • 沒有用一個層解決不了的設計,如果有,用倆層

     :這個不用說了,這是分層架構是架構模式裏的一等一模式。

  • 開源並沒有多大樂趣,審美很重要

    :開源的區別,最後主要是審美區別,你覺得xml配置好,我覺得JSON好,他覺得YML好

  • 故意錯誤是學習新技術的竅門。

     :給新手的建議,比如任何一個技術的helloworld例子,你都可以故意製造若干錯誤來學習新技術,當然,也可以通過這門技術對錯誤的處理來了解技術的成熟度。

  • 學會最管用的模式是“職責模式“

    :這是設計模式裏最重要的模式。或者,你只需要知道這個模式就不會犯錯。

  • 開源並不是百米跑,一聲槍響,按照規劃直奔終點,而是一場探險攀登,也許下坡路正是到頂的唯一路徑

     :知識越來越普及,然而開源並不容易

     每次因爲開源而鬱悶的時候,都會寫一篇這樣博客抒發一下情懷。第一篇發表在2014年,第二篇發表在2015年。不過總得來看,因爲開源,日子過的還是非常精彩,比如,機緣巧合獲得了一份不錯的工作;得到電子出版社青睞,出版一本暢銷書;得到很多平臺的邀請有露臉演講機會;還有因爲開源結交了很多不可思議的朋友們,最後,我認爲最重要的是,也是我的初衷,讓技術變得更實用和更容易,我應該改變IT世界一點一點。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章