一名由硬體轉到軟體的2年程式員的一些回顧

来源:http://www.cnblogs.com/greenPrairie/archive/2017/05/31/6916307.html
-Advertisement-
Play Games

1.乾軟體前 在進入軟體這一行之前,我一直從事硬體方面的工作,換過很多個公司,但大體都是做做產品的測試,維護一下產品,工作忙,工資低。年輕人嘛倒不是怕苦怕累,是因為每個工作都學不到自己想學的東西,期間總覺得公司這樣不好,那樣不好。其實現在想來,當初的想法也有一半是錯的,自己都急於求成,缺乏一些忍耐力 ...


1.乾軟體前

  在進入軟體這一行之前,我一直從事硬體方面的工作,換過很多個公司,但大體都是做做產品的測試,維護一下產品,工作忙,工資低。年輕人嘛倒不是怕苦怕累,是因為每個工作都學不到自己想學的東西,期間總覺得公司這樣不好,那樣不好。其實現在想來,當初的想法也有一半是錯的,自己都急於求成,缺乏一些忍耐力,但是對於沒有發展前景的工作,還是應該當斷則斷,這點還是值得肯定的。

2.偶入軟體

  在2014年12月初的時候,我又開始浪跡於各大招聘網站投遞簡歷。因為在大學期間學的是硬體,水平就中上的樣子,寫過一些簡單得C程式(其實真的很簡單),做個一個MFC的計算器課程設計;在加之身邊有些朋友就是在乾軟體,聽說工資都還不錯,於是我下定決心投軟體(java)方面的工作試試。過了兩三天就陸陸續續的收到一些面試邀請,按理說其實都快過年了工作應該不好找才對,然而事情卻跟我想的不一樣。就這樣我就東奔西跑的參加各種面試,因為是轉行,所以我都沒能通過面試,這些公司對面試者的共性描述是因為你沒有軟將方面的基礎,公司也覺得你是個踏實,能把事情做好,不過就差一點技術,但是公司願意培養人才,不過等你學好後,公司要適當的收回前期對你培訓花費的成本,加之你以後進入這行每年兩次漲薪,而且一次都能漲個幾百上千,每做完一個項目都有項目獎金,而這也硬證了我之前瞭解的乾IT工資高這個說法,這話讓面試者聽起來多舒服啊,其實就是培訓。回去糾結了兩天,最後決定就培訓吧,只要以後工資高,管他三七二十一。

  進入培訓機構後,差不多呆了六個月吧,中途過年放假放掉一個月,算起來在培訓的時間就不到五個月了。在培訓的這段時間里,前面一個多月都花在講解那些基礎的語法上面,因為跟C語言是相似的,所以這塊我是沒什麼問題的。但是後面換了講師後,我就學的馬馬虎虎了,一是因為課程量大,二是講師的方式我不是很適應,加之自己學習習慣也不是很好,導致後面的知識都沒能學好,具體細節就不一一累述了。

3.乾軟體的兩年

  2015年6月1號我順利的入職了重慶一家做新型的電商公司,這家公司並不是開發部並不是很忙,讓我驚奇的是,除了在運行的商城外,項目組沒有其它的開發文檔和資料。後來才知道公司項目都是找外面的程式員兼職開發的,並且使用.net開發出來的,隨著公司規模的壯大,公司打算採用java來從新設計。兩周過後,我被安排來做商品模塊的增刪改查,這個對我來說到是沒什麼的,不過要搭建maven工程,這可把我卡住了。比我先來一個月的同事也是才從達內培訓出來,也沒有實際開發項目的經驗,最後同事和我都無計可施,只能繼續無條理的瞎搞著。後面領導也知道了我們兩的實際水平,就安排我們改改前端頁面的樣式,測試一下商城的bug,寫一些需要優化,使用手冊相關的文檔,最後領導要求我們轉測試,後面在沒有選擇的情況下,轉做了測試。測試工作倒也輕鬆,準確的來說其實就是在商城上點擊測試那些地方用戶體驗不好,或者功能不嚴謹。幹了一兩周後,就開始猶豫,到底要不要轉測試,如果不轉,現在出去也找不到工作啊,怎麼辦?就這樣每天干完安排的工作,就學習java相關的視頻,自己照著視頻寫demo,由於工作環境的輕鬆,學習沒有方向,就無條理的東看看西學學。第三個月開始我就開始在網上投遞建立,利用中午休息的時間就跑出去面試,結果面試的我很多都不會,每面試一次,我就回去消化沒能完成的筆試題和麵試官問的關於框架方面的知識,其實也只能說是死記硬背的背了下來。最後我去了一家做OA二次開發的公司,因為公司對開發技術要求不是很高,所以筆試題都比較基礎,所以筆試就通過了,就這樣在2015年8月13號,我從該公司離職了,至今還有八月份半個月的工資沒發,因為經營的合法性問題,該公司已經關門了。

  2016年8月14日我去了一家做OA的公司,雖然公司不大,但是感覺比較高大上。因為是做二次開發,所以剛來的一段時間,就是安裝OA系統,配置開發環境,熟悉OA系統的基本功能,緊接著就開始跟著實施工程師跑客戶方溝通需求,擬定開發計劃。由於之前培訓的時候只學習了sqlserver基本的查詢語句,後面聽說要寫存儲過程,觸發器之類的,我就利用下班時間在一個月內把sqlserver相關的知識都學習了一下,並編寫了一些小案例。在這裡我還是困於沒有實際項目經驗以及二次開發有很多東西不熟悉,以至於後面我要做一個sql查詢,都是別人給我說在哪裡去寫,然後放到哪裡運行,這樣才能勉強完成任務。後面接到一個對我而言比較難搞的任務,叫我做考勤系統,由於OA裡面有多個流程,所以情況比較複雜,比如員工出差了,他就會缺勤,所以他需要走流程來說明他實際是在工作中,你計算考勤的時候就要考慮到他走了多少個流程;還有不同的班制,換班,哺乳假,年假,事假等等你都的考慮到,最後我把可能發生的情況用排列組合的方式都羅列了出來,採用jdbc做起了開發,經過兩周的修修改改,大致是出來了,不過始終都不是很嚴謹。像這種二次開發,客戶方的需求早令夕改那是家常便飯的事,所以我摸索著開發的考勤模塊的大問題也沒暴露出來。直到後來老闆瞭解開發進度才知道我的考勤模塊一變動就得花好多工作量才對我的代碼進行了走查,當他看到那一刻他就吃驚了,還給我提建議要怎麼怎麼搞,對於我這種連開發技術怎麼跟項目結合都不知道的人簡直是丈二和尚摸不著頭腦,最後客戶方要幾天之內看到實際效果,而我又拿不出結果,這個任務就被老闆交給了總監去做。在後來用OA去個性化配app,設計隨機生成課表,我都完成的不是很好,有些是花了時間研究而且還沒有出成果,最後是讓我做一個日期方面的聯動,而我還是沒做出來,由於實在是不好意思在繼續這樣下去了,我就申請了離職,於是幹完11月份,我就離開了。其實現在我還能記得當初那個時候的水平,js吧,會document.getElementById(),然後就是設置他的屬性值之類的,其它的都還老師了,不過感覺自己也就只學會了這幾個,什麼插件之類的根本不懂;後臺這塊還好,常用的類,jdbc,mybatis,sqlserver,struts2都還會使用;不過hibernate和spring都只能記得個大概了。就這樣前面的兩份工作加起來剛好幹了半年,雖然我還是那樣菜,不過也算是接觸了開發項目的一些實際經驗,不過始終感覺自己還沒入行,這樣的三腳貓功夫根本談不上掌握什麼技術,雖然對找工作很忐忑,但我還是開始了。

  2016年12月1號,我又成了自由人,在網上投了一通簡歷後,就接到了xx外包公司的電話,那邊HR跟我溝通瞭解了一下項目經驗,所掌握的技術,接著她們就開始發揮她們那鬼斧神工般的簡歷包裝技術,簡歷模版漂亮,項目經驗描述高大上,並且一看也不是虛構,還貼合實際工作。總之,就是高端大氣上檔次,只可惜最後沒有被甲方公司面試上。雖然這次沒面試上,倒也收穫了一份好的簡歷模版,後面我在完善了一下,就又向招聘網站發起了衝刺。一天後就收到了一個做車聯網的公司的面試邀請,12月3號一早我帶著簡歷就飛奔到了xx公司,看到公司至少有上百號員工,而且同行們都積極的敲著代碼或者三五個人圍在一張桌子旁邊討論著問題,有的甚至爭執的面紅耳赤,我被深深吸引了,這才是真正的科技公司嘛。不一會我的面試官來了,看年齡就比我大個一兩歲,人一看就挺隨和的那種,他帶著我去了一個小辦公室,就開始了面試,面試的面比較廣,但是都很基礎,難度都不大,在我不確定答案的情況下,我就根據我以往的經驗推敲著來回答,面試官也比較滿意,後面就讓回去等通知,自我感覺是過了,總的回答上了八成左右吧!後面就收到了offer然後12月8號入職了,第二天又來了一個同事,剛好我兩有個照應,因為我們都是以外包的身份加入的這家公司。接下來就是配置開發環境了,接著拉項目,當時maven還是不會,都是老員工來給我們幫忙,然後指導我們配置並順利運行起來,然後接連幾天都是熟悉系統的功能(當時我還不知道通過一個功能到對應的後臺去看它的實現來熟悉模塊),這些都是跟我一塊來的同事(健哥)後面給我說的。幾天過後我們被安排做現金券的新模塊,對我來說就是一臉懵逼啊,於是我就用html從零開始了起來,後面跟健哥一討論,他說直接把以前的頁面框框拷貝過來,然後往裡面填自己的東西就可以了,我這才從錯誤的方向懸崖勒馬,好在當時跟我們排的工作量都不大,所以我們即使不懂,做的慢,加點班都是能趕上來的。經過幾天的忙碌,頁面都差不多出來了,但是還有js沒寫,後臺的介面沒調更沒調試了,接下來的大部分js都是健哥幫我寫的,因為我確實連最基本的都不會(不知道怎麼用),健哥每寫一個,我就把它消化為自己的知識,這樣慢慢的我就會寫一些基礎的js功能了,那時候就像是打了雞血一樣每天回去看到凌晨一點,覺得只要有收穫,什麼都願意付出。現在回想起來我當時運氣也確實比較好,一是有機會進入到這樣一家公司,二來我遇到了我後來的好朋友健哥,正是在他的幫助下,我才慢慢的入了門,後面的工作都是迴圈往複,周而複始,漸漸的我掌握了springmvc,mybatis,mysql,freemaker,js,dubbo;會敲一點linux命令,知道redis是一個什麼東西,還有mongDB,hadoop,es等等。相比一年前剛來這裡的時候我,現在的我有信心找到一份工作,而且知道去怎麼熟悉一個陌生的系統,但是在這裡我也有遺憾,只知道埋頭做開發,搞不清業務邏輯,導致做的東西bug一大堆,後面因為擴張太快,我成了第一批被裁的外包人員,但我仍然感激它給了我一個在這裡奮鬥和成長的機會,11月4號是我在這裡工作的最後一天,碰巧的是這天也是我的生日,自我安慰的想到:“一個結束就代表一個新的開始,繼續努力吧!”。

   回到外包公司後,公司就讓我休年假,之前的甲方公司百般阻攔沒能通過休假申請。兩周過後,就回到公司看看文檔上上網,但心裡還是有點擔憂,畢竟年底工作崗位少,再則外包公司又不養閑人,於是看了幾天文檔後,我就主動跟公司領導溝通瞭解工作崗位的問題。過了兩天領導的答覆是現在只有中興在招,而且要本科工作三年,算下來我畢業年限夠,但是實際乾軟體的時間就不到兩年,就讓我包裝一下,把面試常問額問題複習好就可以了。後面因為前期的準備,所以面試順利的通過了,在12月1號,我順利的進入了中興,到今天剛好半年時間。

4.其它

  雖然這兩年收穫比較多,但是也失去了很多,特別是進入外包公司後,基本天天加班,回家就是睡覺,起床就是上班,這樣單休的生活整整維持了一年。因為運動少的原因我的體重從154變到了173,體檢時還檢查出輕微脂肪肝,對於我這種身體素質的人來說,有點難以接受(呵呵)。不過時間雖少,平時也利用業餘時間碎片的學習新的技術,但是總覺得不夠具體,很零散,導致對一個技術的總體認識不夠,用的時候更是難於開頭。接下來的一年的時間,打算好好鞏固一下自己的java基礎,javaweb,從零開始寫點小的項目,權當鞏固與複習吧!看著自己寫了這麼多,奈何於自己的文筆,卻也是這兩年的切身經歷,希望在下一個年頭裡繼續奮進。

 

=======================================================================

永遠不要放棄你現在比別人多努力的那一分,那一秒

1.01365=37.8    1.02365=1377.4

0.99365=0.03    0.98365=0.0006

如果你原地踏步,你將是那百分之五十的人;如果你付出一點努力,那你將超越那百分之八十的人;如果你再努力一點,你將超越百分之九十的人。

其實我想說的是,乾技術沒有捷徑,而我一直在努力著。

=======================================================================


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • SPI (Serial Peripheral interface),顧名思義就是串列外圍設備介面。SPI是一種高速的,全雙工,同步的通信匯流排,並且在晶元的管腳上只占用四根線,節約了晶元的管腳,同時為PCB的佈局上節省空間,提供方便,主要應用在 EEPROM,FLASH,實時時鐘,AD轉換器,還有數字 ...
  • 在FPGA里想寫順序執行的語句沒有C語言來的簡便花哨,比如for迴圈,或者再厲害點的來個嵌套迴圈。FPGA里要實現順序執行某個操作功能需要藉助狀態機實現。下麵比較了下兩種狀態機的寫法。 test_fsm和test_fsm2是兩個工程。 test_fsm是仿順序寫法,即數節拍的寫法,行數多,看著繞人, ...
  • 1、df -lh查看是否已經掛載2、fdisk -l 查看需要掛載的數據盤信息3、mount /dev/vdb /mntecho '/dev/vdb /mnt ext3 defaults 0 0' >> /etc/fstabdf -lhinit6//重啟服務df -lh查看是否掛載成功 伺服器為專有 ...
  • ################################################################################ Name : Mahavairocana # Author : Mahavairocana # QQ : 10353512 # WeCha ...
  • 今天腦補了普通Windows 操作系統與Windows Server區別,感覺清楚了很多。 Microsoft WindowsServer,是美國微軟公司研製的一套操作體系,它面世於1985年,起先僅僅是Microsoft-DOS模仿環境,後續的體系版別因為微軟不斷的更新晉級,不光易用,也漸漸的變成 ...
  • haproxy記憶體池概述 記憶體池按照類型分類,每個類型的記憶體池都有一個名字,用鏈表記錄空閑的記憶體塊,每個記憶體塊大小相等,並按照16位元組對齊。 haporxy用pool_head 結構記錄記憶體池 在程式執行過程中,產生的記憶體池,很有可能按照大小,排列成如下方式: 記憶體池的創建 haproxy創建記憶體池 ...
  • windows10中的Cortana可以通過語音乾很多事情,但是對於我們來說用處不大,而且開機十分占用記憶體,下麵教大家如何徹底的卸載並刪除: 首先下載卸載Cortana的軟體,下載鏈接:http://pan.baidu.com/s/1cs4Mg2 下載完成後,解壓至本地,打開文件夾》》然後如下圖操作 ...
  • 首先是把 HTML 轉換為圖片。 public partial class Form1 : Form { public Form1() { InitializeComponent(); } WebBrowser webBrowser = null; public void ConvertToImg( ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...