關於.Net和Java的看法-一個小實習生經歷

2022-11-09 12:00:47

目錄

  1. 背景
  2. 帶著疑惑
  3. 生活中的迷茫
  4. 開始實訓
  5. 實習
  6. 再看java
  7. 總結

背景

筆者是一個專科院校的一名普通學生,目前就職於某三線城市的WEB方面.Net開發實習生,在找實習期間和就業期間的一些看法,發表此文,純個人想法,歡迎討論,指正!哈哈輕點噴~

在校學習技術方面也是.Net方面,所以實習就是.Net開發實習生。我也很喜歡這門優雅的語言!

在還未上專科院校的時候,我就開始瞭解程式設計,從啟蒙的VB,到簡單的排序演演算法。我曾經感嘆:簡單的幾行程式碼,就可以完成這麼多好玩的東西!跟風在網路上看到程式設計師的高薪,身為一個農村的孩子,也想通過程式設計賺取高一些的薪資和在辦公室辦公。

但當我開始在B站(VB也是通過視訊學習)等渠道,搜尋程式語言,教學的時候,十之八九的視訊教學都是建議學習Java,無論是就業還是薪資方面,彷彿都告訴我:選擇java就可以走上人生巔峰!迎娶白富美!

當進入學校,大一的課程是Html Css Java的時侯,我覺得這樣子的路線,和網上說的是一樣的!參加了社團之後,有學長和我說,我們的主要學習技術棧是.Net方面,我當時也是一臉問號?沒聽過這個,好像也不出名。會不會是個坑?

帶著疑惑

之前在網上看的什麼介紹視訊都是java這種的,給了我一種,java是最好的語言的感覺,大環境都使用他。以至於我一開始是不太喜歡.Net的,現在回頭想想,還是太天真了~ 從大一下學期開始,我們的課程變成了C#,winfrom方面,我一看,這不是和VB有點相識嗎,都是托拉拽,寫事件的。在內心更不喜歡C#了,覺得有點低階 哈哈哈(Winfrom開發大佬別噴我),那也是再次加深了偏見,我和我們專業課老師也曾對話:

  • 我:老師,我們為什麼要學習這個語言,就業不會很困難嗎?他好像不是這麼流行?
  • 老胡:不要糾結於語言,主要是程式設計思想和學習方法。
  • 我:???,我覺得有點迷茫,不知道能做什麼,我會了什麼?
  • 老胡:以前的學生也有過你這樣的迷茫,大部分人都會有,我的建議是跟著一步一步走下來,還是想的太多做的太少,人才會迷茫。

在那時,我還是不理解為什麼要選擇這門語言,但我還是跟著老師一步學下來了,後來的的課程是Sql,.NetCoreMVC ,JavaScript,NodeJs,Vue,WebApi

生活中迷茫

在專科院校,我們學院算是管理比較嚴格的。輔導員和親媽一樣,一週查寢兩三次,經常和你聊天,在課堂學習的時候,還會來抓人是否有玩手機,偷偷睡覺的。也是這種環境,讓我沒機會偷懶,很感謝我的兩位輔導員(孫姐,琦姐)! 咳咳,跑題了
其實在宿舍我們也曾一起聊天這方面:

  • 舍友:我覺得我們學的太雜了,一會學這個一會學那個,啥都是淺嘗輒止,就怕到時候出去都沒人要
  • 我:我也是覺得啊,我自己找了java的學習路線,你要不要看看?
  • 舍友:我瞅瞅
  • 舍友:這也太長了吧,技術要點這麼多嗎?
  • 我:對啊,我看到招聘軟體上,就是寫這麼多技術要點?真的有大佬這麼牛嗎?

在這期間,我也自己在看javaSE的基礎教學,發現和C#有點像啊這個語法?吃驚!

開始實訓

時光飛快,我來到了大二的下學期,那時候剛學完WebApi和Vue,終於有點前後端的感覺了(第一次體驗到前後端分離),在我們學院,大二的暑假是不放假的,在學校用兩個月做實訓,模擬企業開發,分組分工,大家一起做一個專案。
在分完組的時候,我就想:多分幾個技術比較厲害的同學給我哈哈,我們做酷一點! 老師還是按平均水平給我們分好了,不好不壞。第一個專案是blog,一開始老師說是簡單的完成功能就可以了,我心想:那不是很簡單嗎?
後來發現兩週的時間,還是趕得半死才做出來!
從資料庫建模,確認表關係、到前端頁面的原型、頁面的效果配色、後臺的框架的搭建(.Net6 WebApi + EfCore + JWT +非常簡單的借鑑DDD的分層概念)第一次感覺到團隊的溝通共同作業和專案是如何從一堆報錯到另外一堆報錯的哈哈

兩週的時間還是太短了,至少對於我這種第一次上路的新手司機,最後也是匆匆忙忙,直到驗收會的前十分鐘,還是修改部署到雲伺服器上。也是第一次感覺這麼緊張且激動!

然後就是開始了第二個練手專案:教務系統,比第一個專案難度高了一個等級,就單純表的確定,就討論了兩天,還是初步模型,後來改了N次 以及確定使用無顯示外來鍵這種關係。由於涉及到排課,我們還想著如果並行了,應該要加上鎖的情況。還有如何更好的借鑑一下DDD這個思想。後端要用上什麼新的技術,可以更好的效能。前端要小程式和網頁版,區分教師和學生....
在第二個專案寫的時候,就有一種感覺,都是CRUD,怎麼有這麼多花樣,這麼多玩法呢?

實習

很快到了八月底,我開始了投簡歷的時候,一共投了幾十家,由於學歷的問題也被拒絕了幾次,給我整的有點灰心,也拿到了三個面試的機會

  • 某蘇州軟體公司,人員在200人左右,主要使用Winfrom -失敗
  • 目標城市軟體開發公司,人員在50人左右,.Net6等比較新的技術 -通過
  • 目標城市軟體開發公司 人員在300人左右,主要使用Winfrom -通過

在九月我就來到了目標城市準備入職啦,我記憶非常深刻的是:在和我同時入職的兩個人,一個是軟體測試主管,一個是八年的前端工程師。

  • 我:大哥,你們都是入職什麼崗位呀?
  • 前端工程師:我做前端的。
  • 前端工程師: 你是實習生嗎?看起來挺小的。
  • 我:對,我是.Net實習生。
  • 前端工程師:現在還有在做.Net的實習呀,我都沒聽過幾個了哈哈
  • 我:.....

在入職之後,我才發現了,就我一個獨苗.Net實習生,其他實習生都是做Java方向的。主要的維護以前的老專案。用的是Winfrom等技術。

再看Java

萌生了離職的想法,因為剛入職嘛,第三天就跑路了,主要是個人原因不是很能接受Winfrom,可能是我覺得他比較老舊了吧,和我想要的不一樣哈哈(再次求輕點噴),後來入職了那家50人左右的公司,不卷不加班,大家人都很友好,技術方面也是比較前沿的,完美符合了我的要求!!

然後在工作的時候,就發現了,.Net太優雅了,對比Java,擁有太多語法糖,寫起來很舒服。但也是因為微軟幫我們做了太多的事情,反而讓我們不知道底層原理,設計模式等。

我深知一門優秀的語言應該是易用易學,好上手的,這點上C#完勝!宇宙最強的IDE,一站式幫你設定好了!

反觀Java,在環境變數設定,IDE的選擇等等,就會勸退一些小白(我一開始也不知道怎麼設定環境變數)。

但在我的想法中,也許底層原理,設計模式這些,作為一個程式設計師應該懂,然後再去使用這些語法糖,知其然又知其所以然!

我開始在部落格園中大量的搜尋關鍵詞 .Net轉java 發現了很多這樣子的文章。也看到對立,引戰的發生!這點讓我寫一篇文章十分害怕哈哈,再次宣告,我只是分享我的一些經歷!

我看到了自由飛大佬的文章,其實也發現了學校選技術的用意,java的競爭太過於激烈,而C#和Java相近,市場也有需求。先就業在擇業,先入行在選擇!

至此,我明白了當時老胡說的意思:不要糾結於語言,主要是程式設計思想和學習方法。

總結

現在我也仍然在學習.Net 和java。在工作上使用的是.Net ,回來看的視訊教學是Java,我想通過java來更深入的瞭解一些底層一點的機制,學習更新的技術。也是因為java的教學確實比.Net更加豐富,生態會更好一點,不可否認!
但我依然喜愛這C#這門十分優雅的語言,喜歡它無處不在的語法糖!在工作上也仍然會繼續深入研究它!
最後,也告訴自己:不要糾結於語言,主要是程式設計思想和學習方法。