程序员的自我修养

「本文已参与好文召集令活动,点击查看:后端、大前端双赛道投稿,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圈很流行。那么在一个程序员的角度,若是拥有了产品思惟,或许只会偶尔有开发工程师打产品经理的新闻。

产品思惟可让工程师理解这个项目的 目的愿景,就能够更好的从技术的角度或者经验的角度提出建设性的建议,对这个项目愈来愈有信心和激情。

程序员的自我思惟

自我思惟强调的是程序员对本身将来的规划。

由于程序员这辈子均可以干,但有些事情过了这个年纪想干也干不了。

向星爷同样面对大海高喊:“努力!奋斗!”

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

以上是我我的对程序员这个职业的一些想法,

欢迎你们踊跃留言交流。

相关文章
相关标签/搜索