程序員的自我修養

「本文已參與好文召集令活動,點擊查看:後端、大前端雙賽道投稿,2萬元獎池等你挑戰!前端

從《喜劇之王》到《演員的自我修養》

《喜劇之王》裏觀衆最深入的應該是星爺讓柳飄飄哭成淚人的一句「我養你啊」,瞬間引發觀衆共鳴,打動人心。
淚人.jpeg程序員

可是,做爲一個後端程序員,我印象更深入的倒是:算法

  1. 星爺所飾演的一個落魄演員卻還有着對錶演的極致熱愛;
  2. 頻繁出鏡的《演員的自我修養》所體現出來的職業態度;
  3. 還有他面對大海所喊出的「努力!奮鬥!」的那種越挫越勇的毅力。

努力奮鬥.png

從《演員的自我修養》到《程序員的自我修養》

演員.jpeg 正如《演員的自我修養》的封面上做者所說:
沒有小角色,只有小演員
那麼,放在程序員這行裏也蠻貼切的。
如下爲我我的對程序員的自我修養的一些理解,因我的知識侷限性,各位輕噴。sql

程序員的入門標準

入門標準是最低標準,因此具有小學程度的英語和數學水平便可。數據庫

具有小學英語水平

爲何只須要具有小學英語水平?
由於我從我用過的C、C++、Java、PHP、Python、Golang這些高級語言彙總的保留關鍵字也就是這些:
C語言一共32個關鍵字,以下表:後端

關鍵字 說明
auto 聲明自動變量
short 聲明短整型變量或函數
int 聲明整型變量或函數
long 聲明長整型變量或函數
float 聲明浮點型變量或函數
double 聲明雙精度變量或函數
char 聲明字符型變量或函數
struct 聲明結構體變量或函數
union 聲明共用數據類型
enum 聲明枚舉類型
typedef 用以給數據類型取別名
const 聲明只讀變量
unsigned 聲明無符號類型變量或函數
signed 聲明有符號類型變量或函數
extern 聲明變量是在其餘文件正聲明
register 聲明寄存器變量
static 聲明靜態變量
volatile 說明變量在程序執行中可被隱含地改變
void 聲明函數無返回值或無參數,聲明無類型指針
if 條件語句
else 條件語句否認分支(與 if 連用)
switch 用於開關語句
case 開關語句分支
for 一種循環語句
do 循環語句的循環體
while 循環語句的循環條件
goto 無條件跳轉語句
continue 結束當前循環,開始下一輪循環
break 跳出當前循環
default 開關語句中的「其餘」分支
sizeof 計算數據類型長度
return 子程序返回語句(能夠帶參數,也可不帶參數)循環條件

C++98/03關鍵字共63個:緩存

asm do if return typedef
auto double inline short typeid
bool dynamic_cast int signed typename
break else long sizeof union
case enum mutable static unsigned
catch explicit namespace static_cast using
char export new struct virtual
class extern operator switch void
const false private template volatile
const_cast float protected this wchar_t
continue for public throw while
default friend register true
delete goto reinterpret_cast try

Java 51個關鍵字:markdown

abstract、assert、boolean、break、byte、case、catch、char、class、continue、default、do、double、else、enum、extends、final、finally、float、for、if、implements、import、int、interface、instanceof、long、native、new、package、private、protected、public、return、short、static、strictfp、super、switch、synchronized、this、throw、throws、transient、try、void、volatile、while、true、false、null
複製代碼

其餘語言的關鍵字也就是和上面的差很少,因此小學英語水平便可掌握這些單詞和具體語義。網絡

具有小學數學水平

在實現通常的業務邏輯時,不多須要用到高等數學、離散數學,常常使用到的也是加減乘除,因此掌握小學數學水平已基本適用絕大部分的業務邏輯處理。若是業務中須要更爲複雜的運算,那麼這時候通常你已有算法組同事。數據結構

掌握經常使用的數據庫

主要是使用SQL語言的MySQL、Postgresql、經常使用作緩存的Redis以及NoSQl的MongoDB

必須掌握經常使用類Unix系統的命令

主要Linux發行版:Ubuntu、Centos
掌握其中的用戶權限文件權限、進程管理、網絡端口查看監控、定時任務以及經常使用的文件處理命令等命令

下面的則是程序員的進階升級思惟了

程序員的軟件思惟

數據結構和算法

掌握常見的數據結構(列表、棧、隊列、鏈表、樹、圖); 掌握常見的查找排序算法(主要經過刷Leetcode和牛客網的劍指offer)

軟件系統開發管理思惟

這塊主要是側重如何讓項目高內聚輕耦合,代碼複用; 一方面模塊化設計; 另外一方面如何應用分佈式、微服務讓系統作到高可用高併發高吞吐。

程序員的產品思惟

人人都是產品經理,這句話在IT圈很流行。那麼在一個程序員的角度,若是擁有了產品思惟,或許只會偶爾有開發工程師打產品經理的新聞。

產品思惟可讓工程師理解這個項目的 目的願景,就能夠更好的從技術的角度或者經驗的角度提出建設性的建議,對這個項目愈來愈有信心和激情。

程序員的自我思惟

自我思惟強調的是程序員對本身將來的規劃。

由於程序員這輩子均可以幹,但有些事情過了這個年紀想幹也幹不了。

向星爺同樣面對大海高喊:「努力!奮鬥!」

因此,遇到本身想幹的事,幹就完事了

以上是我我的對程序員這個職業的一些想法,

歡迎你們踊躍留言交流。

相關文章
相關標籤/搜索