《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 天天寫業務代碼的那些年,我們是如何成長過來的

天天寫業務代碼的那些年,我們是如何成長過來的

2017-06-07
關鍵詞: 嵌入式 Bug

       比起寫業務代碼更不幸的是,主要工作是修 Bug,bug,buG, bUg。

  在一家大的公司里,不同的人總會有不同的運氣:

  運氣好的人遇上一個好的項目,升職加薪,從此就走上了人生的巔峰。

  運氣差的人攤上一個差的項目,升不了職,少加了薪,并且還獲得不了技術成長。

  我剛畢業那會兒,所在團隊的主要工作是,維護一個『又老又舊』的系統。比起寫業務代碼更不幸的是,我們的主要工作是修 Bug,bug,buG, bUg。

  那一年多里,盡管都是維護舊系統和少量的新需求,我們還是在飛速的成長~~。而來源主要是:

  組內技術活動。

  花時間投入練習。

  假想項目的重構。

  當你在有限的條件下,還能做出一定的成績,到底還是相當有成就感的。

  只修 Bug 是怎樣的一種體驗

  在這樣的項目里:

  工作一個月時,你打開 Backlog,看看需求卡,發現那張需要三個人天的卡,好像會更有挑戰一些。

  工作兩個月時:你打開 Backlog,看看需求卡,發現完成這卡只是時間問題。

  工作三個月時:你打開 Backlog,看看需求卡,發現清清楚楚地知道修改哪一行。

  有一天,業務人員來了一個新的需求。雖然只是加上一個新的導航,但是你總會小開心一會兒。

  可你來到這樣的項目時,你總會想著離開,向自己的 Buddy、PM 、Sponsor 訴說。可惜,你只是一個畢業生,太年輕了。對于你來說有挑戰性的項目,不會考慮要你的。在你的感覺里,那種『自己是大公司的輪子』的感覺就特別強烈。多你一個不多,少你一個不少。你走了也不會影響這個項目,畢竟招一個人來修 bug,還是蠻輕松的。因此,這個項目走了一個又一個技術好的人,卻也來不了一個技術好的人。

  時間一久,每個人都充滿了危機感。我們總是擔心:當你換到另外一個項目的時候,別的項目 PM 會考慮你么——因為你是來自這個沒有挑戰性的項目。這個時候,你已經無路可走了,你必須去提高你自己。

  當別人救不了你的時候,你只能自救。當別人救不了你們的時候,你們也只能自救。幸運的是,我們當時還有足夠的時間,可以提高項目組的水平。于是,我們對組織了各種的組內技術分享、workshop、培訓等等。

  當你有強烈的改變意識的時候,那么事件就會變得很簡單。真正可怕的是溫水煮青蛙式的,而當你面對的是溫水,你總會不斷嘗試去離開。

  組內技術活動

  當你們項目無聊的時候,總會空余一些時間。上進一點,就會創造一些學習的條件。有了條件,那么剩下的就是靠人為了。

  于是乎,我們在每周挑取了兩個時間,做一些技術的事情。包含了下面的一些內容:

  技術分享

  workshop。

  kata。

  不同的活動都有不同的目的,有的可以提高演講者的技術能力,有的則是可以一起提升能力。下面就讓我們詳細了解一下不同的活動。

  技術分享

  想必大家都已經知道這個是什么了~~。當時的情況,大概是我們七個人里,每周會有兩次技術分享。分享的主題會比較廣泛:

  你最近在玩的技術棧。當你們所用的項目技術棧,比較老舊的時候,就想不斷地去嘗試新的技術。在工作之外,便會去玩一些『新鮮』的技術棧(坑)。它就像是一股清流,即使不能幫你清除舊的污水,也能讓人們看到一絲希望。而且除了能提升團隊的視野,還可以將之視為替換現有架構的探索。

  項目相關的技術及業務。在沒有結對編程的項目里,共享知識對于團隊來說是一個頭疼的問題,而技術分享就是最簡單的方式。不過,對于新人來說,讓他們做相關的技術分享才是最好的方式。這也視作為我們對新人的考察:

  對于項目的了解程度

  找到缺少的相關知識

  培養新人的表達能力

  在項目上,這幾乎是每個新人都會經歷的一個分享~~。

  特定主題的技術分享。即,我們限定好一個大的主題,每個人挑選一個特定的主題來分享,它可以人為地提高整個組在某一領域的水平。當時我們做過 SOLID、設計模式、前端相關等特定主題的分享——每個人挑選設計模式中的一個模式,然后做相關的技術分享。當你做分享的時候,你對這模式就比較了解;而別人做分享的時候,也能引發你的思考。由于這些主題之間的相關性比較強,它可以加深對這一領域的印象。

  其他雜七雜八的內容。過多的技術分享,可能會導致大家精疲力盡,因此就會有一些技術之外的分享。比如,你喜歡的各種動漫啊、知乎上流行的程序員女裝啊等等。

  而就效果來說,技術分享對于分享者的能力提升比較大,聽眾則是知道有這個東西,啟發性一般都會比較少。如果是針對于提升能力來說,應該采用 workshop 等方式。

  workshop

  當項目上要采用一個新的技術棧時,僅僅中是一個技術分享是不能解決問題的,你還需要有 workshop 這樣的東西。比如你們將在新的項目里引入 Next.js,那么這個時候就需要有一個 Next.js Workshop。由組織者來規劃每一步的內容,第一步做什么,第二步做什么,等等。參與者則是單獨或者結對的形式,按照組織者的步驟一步步往下來做相關的技術練習。比如在 workshop 開始前,先 clone 并搭建好基礎代碼(hello, world)。開始的時候,便是先實現一個簡單的 header,然后是添加樣式等等。

  也因此在這樣的 workshop 里,我們不僅可以聽過相關技術棧的知識,也能掌握一些相關技術棧的具體實踐。

  kata

  一種編程練習方式,針對某個題目反復進行操練,達到熟能生巧的目的。簡單的來說,就是你一直練習某一個特別的東西,直到你習慣了。比如,對于 TDD(測試驅動開發,先寫測試,并由測試驅動出功能) 的練習。

  在平時工作的時候,我們不會總是習慣于 TDD 的流程:測試 -> 實現 -> 重構。特別是,當你的卡就要被打包到新的 Release 包時,先實現總是會保證交付的。又或者是,當你對代碼庫特別熟悉的時候,你可能兩三分鐘就改完代碼,然后去喝咖啡,再回來花個十幾分鐘寫一個測試。而當你不熟悉 TDD 的時候,你更不會采用這種方式,你會的可能就是 Test First。為了將 TDD 的思維融入你的想法里, 你就需要大量的這種練習~~。

  在這個時候,我們就需要嚴格的按照步驟,一步步往下執行。以便于在將來,我們可以嚴格的按照這些步驟來執行。

  除此,還有一種方式可以做,只是我們沒有在這個項目里實施。

  dojo

  dojo,(日語:道場)。在西方世界,dōjō 一詞主要指的是一個專門針對日本武術的訓練場所。在敏捷團隊里,Dojo 的進行方式比較『詭異』,也比較有意思。

  如果你了解過結對編程的話,可能就會對兩個人的結對過程比較感興趣。按我的理解,結對編程存在著三種不同的階段:teaching(引入門),driver-navigator(有經驗與新手),結對(有經驗與有經驗)。即在實現功能的時候,兩個人會輪流寫測試和實現功能——你先寫測試,我實現功能,然后換角色。而 Dojo 就是一堆人在輪流寫代碼: 

6981492562053.jpg 

  即在有限的時間里,每個人上去實現同一功能的代碼。

  如,A 實現了測試,B 上去實現業務,C 上來重構。D 上來看了看,你們寫的代碼都是 xx,于是 Revert 之前寫的代碼。可惜 D 的時間也只有七分鐘,所以 E 上來 Revert Revert。。。

10461492562062.png

  笑~~

  花時間投入練習

  限于之前已經有相當多的文章,介紹練習相關的技巧,如:

  《GitHub連擊500天:讓理想的編程成為習慣》

  《關于編程,你的練習是不是有效的?》

  《我的成長四步曲》

  《我并不聰明,只是多練習和思考》

  假想項目的重構

  哈哈,如果你覺得你的項目技術棧老舊,那么你一定在腦子里使用了 N 種技術棧,對他們進行重構了。并且當你有一些時間可以分配到上面,如下班前的一個小時時間,又或者黑客馬拉松等等。那么,你一定會開始去做這樣的事。

  與上面的技術活動相比,這是一個對于業務(我的意思是,對于公司來說)更有價值,并且更容易說服別人的方式。

  學習別的項目的技術棧,然后將之應用到現有的系統上。

  使用一個新的技術棧練習, 以此作為技術支撐,在未來替換現有的系統。

  由于我們與其他項目大組的業務是相似的,并且他們的團隊規模差不多是我們的 10 倍。當某個新的應用完成后,我們要做的便是:fork from xx,將改吧改吧,應用到我們現有的模式上。這個時候就有問題了,一般這些新的項目都會采用最新的技術棧。在正式引入項目之前,我們都是要學習這些技能,并配合業務做一些修改。也因此,我習慣性的將這種項目視為修改 bug、bUg、Bug。

  后來,我們突然有機會彎道超車了,我們可以先重構某一部分系統。『因為已經做好相關的技術積累,并沒有遇上一些太大的問題』。只是我們實施一半的時候,就發生了一些意外。后來的后來,這個項目“到期結束”了

  現在是 2017 年,當你的項目還在使用舊的 jQuery + Backbone,又或者是 Angular 1.x。并且你們覺得他們有一些問題,這些問題采用一些新的框架,如 Angular 2,又或者是 React 能解決這個問題的話。這個時候,我們就可以嘗試去學習新的技術棧,并驗證它的可行性。當有一天,你們需要去重構現有系統的時候,你拿出的直接是一個可行性的 Demo,而不僅僅是一個理論上的東西。

  當時我們的項目想替換掉舊的搜索引擎,我們先是用 Solr 實現了一遍 DEMO,又用 ElasticSearch 做了一遍 DEMO。同時,我們也在計劃替換應用部分的功能,我們先用 React 實現了一遍 DEMO,又嘗試用生態純靜態的方式玩了一遍。。。生命可貴,可以多玩就多玩一些吧。

  小結

  所以,你是因為加班呢,還是因為加班,才沒有時間學習?


本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
尤物yw午夜国产精品视频| 亚洲精品九九| 欧美日韩国产精品专区| 日韩亚洲精品电影| 日韩亚洲欧美一区二区三区| 国产精品高潮在线| 欧美在线国产精品| 久久精品免费观看| 在线观看国产欧美| 欧美精品日韩三级| 亚洲欧美日韩国产一区二区| 亚洲午夜影视影院在线观看| 国产免费一区二区三区香蕉精| 久久国产一区| 亚洲精品久久久久中文字幕欢迎你| 亚洲精品欧美专区| 国产精品久久久久久亚洲调教| 性色av香蕉一区二区| 久久精品视频va| 亚洲卡通欧美制服中文| 国产精品毛片高清在线完整版| 欧美一区二区视频在线观看| 亚洲黄色免费| 夜夜爽av福利精品导航| 国产日韩欧美自拍| 欧美国产免费| 欧美一区二区高清| 亚洲精品国久久99热| 国产精品99久久久久久白浆小说| 国产午夜精品麻豆| 欧美激情一区二区在线| 先锋影音网一区二区| 亚洲精品国产拍免费91在线| 亚洲一级高清| 亚洲国产精品久久久久秋霞影院| 国产精品福利在线观看| 免费观看成人鲁鲁鲁鲁鲁视频| 亚洲一区二区三区乱码aⅴ| 亚洲高清久久久| 亚洲视频香蕉人妖| 久久超碰97人人做人人爱| 亚洲一区二区视频| 午夜精品免费在线| 亚洲国产99精品国自产| 一本色道久久综合精品竹菊| 在线国产日韩| 亚洲国产美女精品久久久久∴| 亚洲一级网站| 在线视频观看日韩| 国产午夜精品全部视频在线播放| 欧美日韩xxxxx| 美女91精品| 欧美专区在线观看| 一级成人国产| 最新中文字幕亚洲| 欧美在线中文字幕| 亚洲综合第一| aa亚洲婷婷| 亚洲黄色成人| 在线观看日韩av电影| 国产日产亚洲精品系列| 欧美性淫爽ww久久久久无| 欧美成人午夜激情视频| 欧美一区亚洲二区| 亚洲美女视频网| 亚洲国产婷婷| 精品不卡在线| 国内精品久久久| 国产色爱av资源综合区| 国产精品久久福利| 欧美日韩网站| 欧美精品18+| 欧美v日韩v国产v| 另类天堂av| 久久亚洲电影| 久久视频在线视频| 久久精品国产第一区二区三区| 中文日韩在线视频| 日韩天堂av| 亚洲精品在线一区二区| 亚洲国产三级网| 亚洲高清不卡在线| 亚洲电影av| 亚洲高清在线观看一区| 香蕉成人伊视频在线观看| 亚洲摸下面视频| 亚洲欧美激情精品一区二区| 亚洲一区二区精品| 亚洲欧美成人一区二区三区| 亚洲一区二区三区乱码aⅴ蜜桃女| 在线一区二区三区做爰视频网站| 一本在线高清不卡dvd| 一区二区三区av| 一区二区三区精品| 亚洲一级二级在线| 欧美一级播放| 亚洲国产成人在线视频| 亚洲三级色网| 日韩一级大片在线| 国产精品99久久不卡二区| 亚洲免费中文字幕| 欧美一区二区视频97| 久久久91精品| 老司机成人网| 欧美精品在线观看一区二区| 欧美日韩一区二区免费在线观看| 国产精品国产精品| 国产精品亚洲综合久久| 国产亚洲欧洲997久久综合| 黄色亚洲精品| 亚洲日韩欧美视频| 一本大道久久a久久精二百| 亚洲性色视频| 久久爱www久久做| 亚洲精品视频一区二区三区| 一区二区三区高清不卡| 性色av一区二区怡红| 久久这里有精品15一区二区三区| 免费成人av| 国产精品成人免费| 韩国精品一区二区三区| 亚洲伦理精品| 亚洲主播在线观看| 亚洲国产日韩欧美| 亚洲图片你懂的| 久久国产手机看片| 欧美激情亚洲国产| 国产精品一区二区女厕厕| 亚洲成人资源网| 亚洲手机视频| 亚洲国产小视频| 亚洲欧美成人网| 鲁大师影院一区二区三区| 欧美日韩色婷婷| 国内精品视频在线播放| 99国产精品久久久久久久久久 | 香蕉av777xxx色综合一区| 久久夜色精品国产亚洲aⅴ| 欧美日韩成人综合| 国产一区二区三区成人欧美日韩在线观看 | 欧美综合77777色婷婷| 日韩一区二区精品在线观看| 亚洲国产欧美另类丝袜| 亚洲性感激情| 美女日韩在线中文字幕| 国产精品极品美女粉嫩高清在线| 影音先锋日韩有码| 亚洲午夜极品| 亚洲美女在线一区| 欧美一级理论性理论a| 免费观看30秒视频久久| 国产精品久久中文| 最新高清无码专区| 亚洲欧美日韩国产精品| 夜夜嗨av一区二区三区四区| 久久精品官网| 欧美性理论片在线观看片免费| 欧美视频网站| 国产一区二区中文字幕免费看| 亚洲精品永久免费| 亚洲电影免费| 欧美一级网站| 欧美日一区二区三区在线观看国产免 | 欧美伊人久久| 欧美日韩一区二区在线播放| 在线看无码的免费网站| 欧美一乱一性一交一视频| 亚洲一区在线看| 欧美另类在线观看| 亚洲电影天堂av| 久久福利毛片| 欧美一区成人| 国产精品国产三级国产aⅴ9色| 91久久久一线二线三线品牌| 久久精品国产一区二区电影| 小黄鸭精品密入口导航| 欧美午夜视频在线| 亚洲激情av| 亚洲人成啪啪网站| 久久三级视频| 国产综合精品一区| 欧美一级日韩一级| 欧美一区二区网站| 国产精品一区二区三区乱码| 亚洲图片欧洲图片日韩av| 亚洲一区二区三区免费在线观看 | 欧美三级日本三级少妇99| 影音先锋欧美精品| 久久精品视频va| 久久免费视频网站| 国产一区二区三区在线播放免费观看| 亚洲性线免费观看视频成熟| 亚洲一区久久| 国产精品夫妻自拍| 亚洲无线视频| 午夜一区二区三区不卡视频| 国产精品成人免费精品自在线观看| 日韩一区二区免费看| 一区二区三区精品在线| 欧美日韩精品欧美日韩精品|