首页 头条 作为一名合格的码农 你是怎样被“锻炼出来的”

作为一名合格的码农 你是怎样被“锻炼出来的”

Nov 07, 2017 pm 03:14 PM
码农 编程

html / javascript / css,这些都是前端需要学的, 再加上一大堆前端框架 Angular, React, Vue, 总得学会一样。


学完了框架才能做项目,找工作, 才有可能开始光荣的增删该查之旅。

但是这还远远不够, 前面说的这些知识只能算是入门。

数据结构和算法必须得学, 要不然你写的代码永远没有隔壁的张大胖写的好,同样的需求,人家的代码赏心悦目, 你的凌乱不堪, 被领导批得体无完肤。

所以《算法》,《大话数据结构》,《图解数据结构》,《算法导论》...... 统统都来吧, 数组、栈、队列、二叉树、图、排序、搜索保证不把你淹没。

平时和大家聊天,一定得能说出几种常见的设计模式,尤其是单例模式的几种写法,要不然出门都不好意思给人打招呼。

一直做一个被分配任务的初级码农肯定是不行的,   所以面向对象的分析和设计必须学习,  要不然将来领导给你委以重任, 让你做分析和设计, 你怎么去划分模块和服务,怎么去设计接口? 依据什么原则和指导方针?

软件的开发过程及最佳实践也快变成码农必备了, 敏捷开发, DevOps,   单元测试,持续继承,TDD, 结对编程...... ,  必须得跟上趟。

作为程序员的自我修养,计算机的基础知识也是必备。

计算机的组成原理,冯诺依曼结构必须得了解,要不然整天写程序, 都不知道计算机是怎么工作的, 被人家笑话;  如果想深入一下, 数字电路,汇编也需要略知一二, 因为在某个阴暗的犄角旮旯总会有汇编在等着你。

数据库得学, 基本的 SQL, 表的设计都得会,范式、锁、隔离级别让人头大。

深入一点的还涉及到调优, 在架构层面还得了解分库、分表、备份、读写分离。

光关系数据库还不够, NoSQL 在互联网时代很流行,工作中很有可能用到, 不会不行。缓存也跑不掉,memcached, redis 已经是工作中的必备了。

现在不联网的程序几乎都要绝迹了, 所以计算机网络得学, 至少得理解 http, https, socket,  tcp 是怎么工作的, 由 https 引出的 RSA,  Hash, 证书也得知道是怎么回事。

安全其实是个大话题,像什么 XSS,CSRF,SQL 注入...应该成为 Web 编程必须要考虑的事情。

操作系统也得学,这样才能理解进程/线程,还有他们之间的通信和同步, 以及同步/异步,阻塞/非阻塞,select/epoll  等听起来很时髦的词汇。  虚拟内存和文件系统,总得明白一个大概。   此外,Linux 的基本命令怎么着也得能敲出来一些, 如果能使用 vi 就更好了。

深入理解 Java 虚拟机啊, 搞不明白虚拟机是怎么工作的,系统中有些问题你还真搞不定。

还有 Tomcat, Ngnix .... 都不是一时半会儿就研究透的。

你可能还会听人说:离散数学很重要, 是计算机学科的基础!那就去看看吧, 除了布尔运算之外, 其余的什么等价关系、偏序、命题演算、谓词演算、群、格....彻底把人搞晕。

这些基础知识没还搞定,什么云计算、大数据、微服务、容器又开始鼓噪起来了, 你难道不想了解一下? 难道不怕落伍?

码农就是这么“牛”,被各种新技术赶着不断向前, 但是反过来看, 要是对软件编程有兴趣, 那简直是太幸福了, 新玩具不断出现,玩都玩不过来。  所以想在这个充满挑战的行业里一直保持就竞争力, 那就要不断的学习。


本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
2 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

使用正则表达式去除 PHP 数组中的重复值 使用正则表达式去除 PHP 数组中的重复值 Apr 26, 2024 pm 04:33 PM

使用正则表达式从PHP数组中去除重复值的方法:使用正则表达式/(.*)(.+)/i匹配并替换重复项。遍历数组元素,使用preg_match检查匹配情况。如果匹配,跳过值;否则,将其添加到无重复值的新数组中。

编程是干啥的,学了有什么用 编程是干啥的,学了有什么用 Apr 28, 2024 pm 01:34 PM

1、编程可以用于开发各种软件和应用程序,包括网站、手机应用、游戏和数据分析工具等。它的应用领域非常广泛,覆盖了几乎所有行业,包括科学研究、医疗保健、金融、教育、娱乐等。2、学习编程可以帮助我们提高问题解决能力和逻辑思维能力。编程过程中,我们需要分析和理解问题,找出解决方案,并将其转化为代码。这种思维方式能够培养我们的分析和抽象能力,提高我们解决实际问题的能力。

使用 Golang 构建基于浏览器的应用程序 使用 Golang 构建基于浏览器的应用程序 Apr 08, 2024 am 09:24 AM

使用Golang构建基于浏览器的应用程序Golang结合JavaScript构建了动态的前端体验。安装Golang:访问https://golang.org/doc/install。设置Golang项目:创建一个名为main.go的文件。使用GorillaWebToolkit:添加GorillaWebToolkit代码以处理HTTP请求。创建HTML模板:在templates子目录中创建index.html,这是主模板。

编码的关键:为初学者释放 Python 的力量 编码的关键:为初学者释放 Python 的力量 Oct 11, 2024 pm 12:17 PM

Python通过其易学性和强大功能,是初学者的理想编程入门语言。其基础包括:变量:用于存储数据(数字、字符串、列表等)。数据类型:定义变量中数据的类型(整数、浮点数等)。运算符:用于数学运算和比较。控制流:控制代码执行流(条件语句、循环)。

使用 Python 解决问题:作为初学者,解锁强大的解决方案 使用 Python 解决问题:作为初学者,解锁强大的解决方案 Oct 11, 2024 pm 08:58 PM

Python 使初学者能够解决问题。其用户友好的语法、广泛的库以及变量、条件语句和循环等功能可实现高效的代码开发。从管理数据到控制程序流程和执行重复任务,Python 提供了

C++ 编程谜题集锦:激发思维,提升编程水平 C++ 编程谜题集锦:激发思维,提升编程水平 Jun 01, 2024 pm 10:26 PM

C++编程谜题涵盖斐波那契数列、阶乘、汉明距离、数组最大值和最小值等算法和数据结构概念,通过解决这些谜题,可以巩固C++知识,提升算法理解和编程技巧。

揭秘 C:为新程序员提供一条清晰简单的道路 揭秘 C:为新程序员提供一条清晰简单的道路 Oct 11, 2024 pm 10:47 PM

C是一种初学者学习系统编程的理想选择,它包含以下组件:头文件、函数和主函数。一个简单的C程序可以打印“HelloWorld”,需要包含标准输入/输出函数声明的头文件,并在主函数中使用printf函数来打印。通过使用GCC编译器可以编译和运行C程序。掌握基础后,可以继续学习数据类型、函数、数组和文件处理等主题,以成为熟练的C程序员。

创造未来:面向零基础的 Java 编程 创造未来:面向零基础的 Java 编程 Oct 13, 2024 pm 01:32 PM

Java是热门编程语言,适合初学者和经验丰富的开发者学习。本教程从基础概念出发,逐步深入讲解高级主题。安装Java开发工具包后,可通过创建简单的“Hello,World!”程序实践编程。理解代码后,使用命令提示符编译并运行程序,控制台上将输出“Hello,World!”。学习Java开启了编程之旅,随着掌握程度加深,可创建更复杂的应用程序。