程式設計師從事c/c++工作,企業的這些要求,你能做到嗎?

擼碼小哥 發佈 2020-01-19T17:06:27+00:00

更多的人選擇學習JAVA,在較短的時間內就可以上手,做一些簡單的web頁面,所見即所得,容易有成就感,但是C/C++不一樣,學生在學完基礎知識後還是不知道它能做什麼,離企業需求仍然差得很遠,堅持下去的人很少,「從入門到放棄」是多數人的無奈的選擇。

一個人應該具備對事物的思考能力,否則容易被忽悠。對大部分未入門或剛入門的菜鳥來說,很難搞明白C語言能做什麼和C程式設計師在做什麼這兩個問題。

如果你打算種菜,必須先了解行情(包括銷量和價錢),如果你打算學習C語言,也應該先了解C程式設計師的行情。

了解青菜的行情要去菜市場,了解C程式設計師的行情要去人才市場。

我們先來查一些資料。

C/C++與JAVA職位分析

登錄前程無憂的官網,分別輸入java和C++關鍵字,城市選擇北京、上海、廣州和深圳,查詢到的招聘職位分別是3w個和2w個。

數據顯示企業的JAVA和C++職位比例約6:4,培訓機構的主流課程是JAVA或根本沒有C/C++課程,進一步導致了C/C++程式設計師的稀缺,薪水較高。

程式語言的選擇是人生大事,要慎重。JAVA和C/C++是程式設計師可選的兩個方向(其它程式語言根本不在考慮範圍),無所謂哪一種更好,我個人偏向C/C++,因為JAVA程式設計師的工作太累了。

更多的人選擇學習JAVA,在較短的時間內就可以上手,做一些簡單的web頁面,所見即所得,容易有成就感,但是C/C++不一樣,學生在學完基礎知識後還是不知道它能做什麼,離企業需求仍然差得很遠,堅持下去的人很少,「從入門到放棄」是多數人的無奈的選擇。

企業對C程式設計師的技能要求

從前程無憂的招聘數據看,中國企業對C/C++的應用需求主要有網絡通信、硬體驅動(嵌入式)、數據處理、音頻視頻、網路遊戲、桌面圖形、機器學習、大數據、物聯網,以上數據可以從前程無憂的官網查詢,分別輸入「C++ 網絡」、「C++ 嵌入式」、「C++ 資料庫」、「C++ 遊戲」等關鍵字,範圍選北京、上海、廣州和深圳。值得注意的是,近年來被媒體反覆炒作的人工智慧、大數據、物聯網、區塊鏈等高大上的概念,企業需求其實很少,現在股票也不抄這個概念了。

數據無處不在

在我們的生活中,數據無處不在,只是普通人對它不敏感。

人口戶藉數據在公安局。

駕照數據和車輛數據也在公安局的交警支隊。

醫院保存了每個病人的基本資料和就診數據。每個產婦在醫院生了小孩子,計劃生育部門也會知道,它們與公安局和醫院有聯網交換數據。

我們在銀行有開戶數據,交易日誌。

證券公司有行情數據、股東基本數據、持股數據和交易日誌。

移動公司有我們的開戶數據、通話清單、月帳單。

電力局有居民的基本數據和用電帳單。

火車票、機票都是數據。

騰訊公司有QQ帳戶數據、微信帳戶數據、聊天日誌、轉帳日誌等。

阿里公司有淘寶帳戶數據,商戶數據,商品數據、交易日誌等。

煤氣公司、自來水公司……

我想不出哪個行業沒有數據。

一個人的身高、體重、學歷、年齡是數據。

圖片、視頻、音頻、文章也是數據。

C程式設計師在做什麼

用C/C++做桌面程序的比例約11%,其它的C/C++程序都運行在後台Linux伺服器上,普通用戶沒有感知。在很多培訓機構的教程中,把貪吃蛇、打地鼠、球球大作戰等程序當成項目實戰,太過兒戲,這些程序的原始碼網上到處都是,真正的程式設計師不玩這個。

真正的C程式設計師在工作,掌握的是謀生的技能,不是在玩過家家。

我們每天都在用微信軟體聊天、付款、轉帳等,對普通用戶來說,只看到微信軟體的操作介面,不清楚有後台系統的存在,以轉帳功能為例。

1)付款人在手機微信中輸入轉帳金額和支付密碼;

2)手機微信軟體把轉帳金額和密碼發送給騰訊公司的微信伺服器;

3)微信伺服器核對用戶的密碼和轉帳金額,向中國銀聯發起轉帳請求,中國銀聯把轉帳請求轉發給付款方的開戶行銀行,開戶銀行從付款人的帳戶中扣除金額。

4)微信伺服器把扣款成功信息返回給手機微信軟體,顯示轉帳成功。

5)微信伺服器向收款人的手機微信軟體發送收錢提醒,收款人點擊收款後,微信伺服器把金額存入收款人的微信帳戶中。

在上述轉帳流程中,蘋果手機的微信軟體採用C++語言開發,其它品牌手機的微信軟體採用JAVA開發;微信伺服器、中國銀聯和開戶銀行都是非常龐大的系統,系統之間進行了多次數據傳輸,對資料庫進行了查詢、修改和插入操作,都是採用C/C++語言開發,系統運行在UNIX系統上,效率極高、穩定性極強,工程量巨大,是精英程式設計師們的心血之作。

小結

1、 數據通信和數據處理以C語言為主,數據輸入、數據展示以java為主。

2、作為伺服器的作業系統,必選Linux,Windows已被淘汰,以VC、QT等作為C程序的開發環境極不明智。

3、數據通信是C程式設計師的必備技能。

4、數據處理是C程式設計師的必備技能。

5、嵌入式開發的職位比較多,但是,在硬體產品中,嵌入式軟體是硬體產品的附屬模塊,技術含量低,程式設計師工資不高。

6、放棄幻想,不要追逐那些高大上的潮流(區塊鏈、大數據、人工智慧等),也不要聽那些從入門到精通的鬼話,踏實一點,先成為一個普通程式設計師,這個世界上從來就沒有捷徑。

7、要學會自己查資料,前程無憂上的信息量非常大,不要視而不見,不能被別人隨便忽悠。

學習的難度大、需要注意的點也多久註定c/c++程式設計師在工作中的待遇相對會好很多,也是最不可缺少的一個份子,當然高難度也是越來越多的人從入門到入土,市面上的學習書籍繁多兒雜亂,很多其實不適合初學或者基礎不好同學,這裡也是幫助大家整理看了一些資料,項目實戰的講解,希望能夠幫助大家,感興趣的可以私聊分享。

新的一年希望大家能夠堅持學習,在這個寒假也能有所收穫,加油,夢想需要一步一個腳印才能成功。

關鍵字: