1. 程式人生 > >不想做業務的技術控該選什麼樣的公司?

不想做業務的技術控該選什麼樣的公司?

有問有答是程式視界的一個免費問答欄目,感興趣的朋友,可以按照下面的方式參與:


  1. 發郵件給 [email protected],標題註明“有問有答”。

  2. 描述你的困惑或者問題。


我每週會慎重回答一個問題並整理成文章,(週四晚上)釋出在訂閱號程式視界內。


640?wx_fmt=png


安老師您好:


我是一名工作了不到2年的java程式設計師,平時也做一些前端的工作,座標西安,西安理工大學本科畢業。目前所在的公司偏重業務一些,但我本人是個技術控,樂於接觸各種新技術,而且現在公司的發展前景有點堪憂,所以準備跳槽。對新工作有以下幾點期望(排序越靠前,是越看重的):


  1. 工作方向前景向好

  2. 工作方向越偏重技術越好

  3. 公司規模越大越好(因為自己還年輕,想著公司規模大的話,對於自己後續的發展更好些)

  4. 能在西安最好


不知道安老師是否可以推薦一些工作方向及公司?


640?wx_fmt=png


先簡單說說技術和業務的關係:


  • 技術的目的,是為了解決業務問題

  • 不存在純粹的技術性工作,所有技術性工作,最終目的必然是為了解決業務問題

  • 如果有些工作看起來像純粹的技術,那只是業務分層的需要,這種所謂純粹的技術,它要實現的業務,是更上層的技術中間層或業務抽象層

  • 技術只有落地到業務,才能獲得更好的應用和發展,否則要麼消亡,要麼藏在深閨無人識

  • 技術的變革可以促進業務的發展

  • 業務的發展也可以引發技術的變革


下面是我畫的一張軟體分層圖,能幫助我們更好的理解業務和技術的關係:


640?wx_fmt=png


寬泛一點講,每一層軟體都有業務——它的上層。只是我們更多時候所說的業務,是指的應用層業務,即和終端使用者需求相關的那部分。


很多人所討厭的業務,就是應用層業務。這是因為這部分業務變化比較頻繁,今天加一個功能,明天刪一個功能,今天介面這麼設計,明天介面那麼設計,今天加一條查詢語句,明天添一個儲存過程……就這麼改來該去,感覺技術沒什麼長進,成長變緩。


但實際上,開發者的成長,有三個維度:技術、業務、軟實力。哪個維度都可以很好的成長,打造出亮點,都可以行走江湖。


只不過,開發者對成長的感知,是分階段的。


工作 5 年以下的小夥伴,因為工作中往往是執行層面的事情多,是在別人規劃好的框架內完成特定任務,所以往往更關心技術。


工作稍久一點,5年、8年,一般都成了團隊骨幹、Leader,需要帶專案、帶人,格局更大一些,關注點開始向業務傾斜,因為不瞭解業務就無法更好的開發軟體。與此同時,軟實力,比如設計、架構、溝通、協同、組織等等,也開始變得重要,因為要帶人帶團隊從更高層面把握軟體,這是必須的。


工作再久一點,成了研發經理、總監,業務和軟實力這兩個維度的重要性,會大過技術。


扯遠了,我們回來,結合前面的軟體分層圖來看看,假如你確確實實不願意關心“業務層面的事情,在找工作時,可以有哪些選擇。


答案是明顯的,選擇提供 1、2、3、4、5 這5層軟體的公司,就會遠離應用層的業務。如果西安沒有這幾類的公司,也可以考慮大公司的特定部門。


至於什麼樣的公司有1、2、3、4、5這幾類相關的崗位,招聘網站搜一搜,從JD中就可以看出來。



我曾經寫過一篇文章,專門討論開發和技術的關係:



建議看看。



如果正在找工作,我的Chat——“如何系統有效準備一場面試”,立刻幫到你!來!識別下圖二維碼,給自己開個小灶。


640?wx_fmt=jpeg