作者 | 阿文

责编 | 伍杏玲

出品 | 程序人生(ID:coder_life)

【程序人生 编者按】很多想转行的朋友会问:零基础我该如何自学编程?作者作为一名文科生,零基础转行为网易工程师,在本文中作者分享了自己的学习方法,希望对你有所启发。

很多工作一两年的朋友经常会感到迷茫,尤其是一些在传统行业一线岗位工作的年轻人,当前的工作机械重复,升职加薪没希望,薪资待遇又不高,于是萌生出跳槽转行的想法,看来看去,发现高薪行业无非就是金融、互联网、房地产等行业。

于是很多人把目光投向了程序员这行当,认为有一台电脑就可以学编程,成本很低而且薪资待遇相对来说是比较高的。目前互联网对于软件开发的需求极大,现在是互联网+时代,大数据、云计算等技术的应用,使得未来互联网化是必不可挡的趋势。因此,这是一个非常热门且有前景的行业。

上面的这些问题笔者也遇到过,笔者本人也是一位文科转行过来的,作为一名过来人,我就自己的一些经验和大家分享下作为一名零基础的同学应该如何学习、找工作、选方向。

怎么入行

作为作为一名零基础的学员,在开始学习编程时会遇到各种各样的挫折,例如:

  • 选什么样的语言

  • 编程环境怎么搭建

  • 语法看不懂

  • 遇到错误了怎么解决

  • 写完了代码调试不通过

……

我们看下怎么选择语言,是选择最新潮的 Python、Go,还是选择比较传统的 Java 呢?其实没有绝对的优势,都是各有优劣。

Python、Go 虽说比较新潮,但是市面上的岗位需求还是比不了 Java 的,毕竟 Java 作为最受欢迎的编程语言之一,Java 已经走过了 20 多个年头。从已经落寞的诺基亚到现在火热的电商系统,我们都能看到 Java 语言的身影。在未来,Java 仍将会是最受欢迎的编程语言之一。

如果你想成为一名合格的后端工程师,并且想入职知名的互联网公司,那我推荐你深入学习 Java。事实上,一些高薪高福利的岗位都只有大公司可以提供。

小型互联网公司的福利都很一般,比如公积金社保按最低基数缴纳。因此我建议如果是想未来从事相关工作,建议选择应用范围和前景比较广阔的语言学习,有钱途。

这里并不是说你这辈子就只会这一门语言就行了,只是说一开始为了节约时间成本,你可以先学习主流的 Java 语言。

等你未来真正工作再学习其他的语言。毕竟语言这门东西都是触类旁通的,从编译型语言到解释型语言学起来不难。

事实上,真正的开发者都是同时具备很多编程语言的编码能力的,有可能一个项目用 Java,而另外一个项目用 Python。

在刚入行的情况下,我建议先全身心的投入啃完一门语言。

选好了编程语言之后,你就该搭建环境然后开始学习了。

接下来该遇到的问题就是报班培训好,还是自学好。

其实这个问题我觉得看个人,如果你学习起来比较困难,很多都不懂,建议先找些视频资料学习一篇,照着敲,然后看书巩固,培训班看个人财力和时间是否允许吧,如果自制力差,选择培训班也可以。

但是我不相信一个自制力差的人靠培训班就可以改变自制力差的本质。其实,像 Java 这类编程语言的学习资料可以说一搜一箩筐了,完全不用担心哪里不懂,网上资料太多了。不懂的地方百度、谷歌一点点消化了。

在学习过程中我不建议你去记笔记,建议你在看完书和视频教程之后把所学的东西整理成博客,用自己的语言把你学的东西总结一遍。只有你自己掌握的知识才是真正属于你的,照着视频或书本敲的那都算。

这一阶段,建议你把一些语法、API 理解透彻,能够融汇贯通的使用,可以自己学习完后做一些小项目练练手,因为你只是会使用 API会语法,那不能叫会编程,那样和死记硬背没啥区别,编程是一门动手能力要求很强的活。一定要动手实践。

很多新手最容易犯的毛病就是写一个东西,比如一个计算器上来就刷刷刷写代码,其实这样是不对的,任何一个项目都不是上来就动手写代码。

我们需要把业务的逻辑理清楚了,哪些需要注意的地方都想明白了,可以把程序的调用链或程序的执行流程画成流程图的方式。把一些该注意的点都考虑到位然后在动手写代码。这样才能理解透彻。

在学习过程中不要把自己当初一名学习者,而应该把自己当成一名真正的开发者:

  • 记录博客,对于未来的求职也是一个加分项,尤其是对于新手而言。

  • 练习的代码放 GitHub,方便你以及同事查阅,这也是一个加分项。

  • 不要死记硬背语法和 API,这样是没有任何用处的,你是要用语言去实现一些功能。我见过很多新手抱着一本《Thinking in Java》在啃,其实刚入门真的没有必要。

  • 简历上写:通过 XXX 技术实现了 XXXXX项目,而不是精通 XXX 语法、XXX API。

  • 接受不确定性,因为你在实际的编码过程中会遇到各种问题,不懂的就去查资料,然后消化和理解他。

  • 要递归地去学习,而不是拿着一本书从头把语法肯到尾。什么是递归学习,递归学习是指为了搞懂A,而去学B,为了学会B,而去学C,这叫递归学习,递归虽深,但有回溯,它最终会回溯到我们的起点。

规范编码风格

好的代码风格能够降低理解难度,减少Bug,提高开发效率。我们的工作是需要和其他开发一些协作编码的,因此好的编码习惯一定要从一开始就养成,例如:

1.函数名、变量名采用驼峰样式;

2.函数名变量名都有与功能相关的字面意义,代码中不出现表意不明的变量名与函数名;

3.缩进采用4空格宽度的Tab;

4.花括号“{”和“}”单独占一行;

5.注释单起一行。一般会在需要说明的代码段上方;

6.定义变量时,每个变量单独定义并单独占一行,不出现类似 int i,j;之类的代码;

7.所有的函数只干一件事;

8.复杂的函数一定要写注释;否则时间长了你自己都难以理解;

以上只是简单列举了一些,建议新手阅读下阿里的《码出高效:Java 开发手册》了解下大公司的 Java 编码规范。

基本功要扎实

作为一名零基础的学员,一定要把计算机基础打扎实,这个过程并非一朝一夕或者参加个培训班突击学习三个月就可以完成的,这需要大量的理论学习+实践。

我们只有明白了计算机基础,后面的路才能走得稳,如果一开始上来就学习编程语言肯定是不行的,这就好比武侠小说里面的练武之人只会花拳绣腿,内功不行,打出去的招式都是软绵绵的。

那么计算机基础知识包含哪些呢?计算机原理、操作系统原理、网络原理、数据结构和算法等。

如果这些基础的原理掌握不牢固,你是写不出来优秀的代码。

举个例子,当网络出现异常,你能快速定位出来是哪个层面出现的问题吗?是应用层还是网络层或是硬件故障。

再比如一个程序到底是用单线程还是多线程,这些都是开发人员应该要考虑到的问题。

合格的程序员不是上来就刷刷地敲代码,而是先分析一个程序的设计思路、可能会遇到的问题和瓶颈是什么。因为程序是要和系统、网络打交道,数据结构设计的合理不合理和算法使用的恰当不恰当直接影响到你程序的性能。

因此基本功一定要打扎实。

好了,以上是我个人的一些新手入门建议,希望能给你带来一些有益的帮助。

作者简介:阿文,网易云担任高级工程师,在边缘计算、云计算领域有多年的从业经历,曾担任过讲师,主讲思科路由交换技术。个人博客地址:https://awen.me

5G进入元年,物联网发展愈加火爆!

你是否身怀绝技、却无人知晓;别让你的IoT项目再默默无闻了!

继第一届AI优秀案例评选活动之后,2019年案例评选活动再度升级,CSDN将评选出TOP 30优秀IoT案例,赶快扫码参与评选吧!重磅福利,等你来领!

 热 文 推 荐 

☞漫画高手、小说家、滑板专家……解锁程序员的另一面!

☞ 吃瓜腾讯平均月薪7.27万后,微信又出大招

☞ 50 年来最具影响力的十大编程语言!

☞每天超50亿推广流量、3亿商品展现,阿里妈妈的推荐技术有多牛?

☞手把手教你如何用Python模拟登录淘宝

☞做了中台就不会死吗?每年至少40%开发资源是被浪费的!

☞鸿蒙霸榜 GitHub,从最初的 Plan B 到“取代 Android”?

☞17大主链均狂跌国内项目却看涨, 本周不可不知的7组榜单 | 数据周榜

行!这下 CSDN 玩大了!粉丝:太良心

点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

你点的每个“在看”,我都认真当成了喜欢

零基础如何自学编程?| 程序员有话说相关推荐

  1. 怎么自学python编程-零基础如何自学编程?

    原标题:零基础如何自学编程? 对于所有编程学习者,尤其是零基础的同学们,在学习的初期,一定要给自己做一个思想上的转在我的编程学习理论中,这个思想的转变至关重要,什么时候你把这个思维转换过来了,你就是真 ...

  2. 零基础怎样自学编程?新手如何学习编程?编程学习入门指南

    对于编程,很多新手的第一感觉可能就是: 高深,难学. 学好编程,有的时候,可以把一些需要我们重复劳动的工作,自动化批量处理,为我们节省很多时间和精力. 对于一些学得比较深入的朋友来说,更是可以通过它找 ...

  3. 零基础学习PHP编程——程序的编写和运行过程

    零基础学习PHP编程--程序的编写和运行过程 注意: 本文主要写给零基础的同学,作为编程的入门引导, 如有不当之处,还请指正. 访问源站 欢迎交流QQ群: 640765823 回顾上一节,我们已经基本 ...

  4. 我是如何在12周内由零基础成为一名程序员的——谨以此文激励自己!!!

    我的故事 在海军陆战队服役超过10年后,我于去年7月份退役了.随后在8月份找到了一份赌场的工作做公关,到今年2月中旬的时候又被辞退了.到5月中旬的时候我在DE协会找到了一份临时的"初级用户体 ...

  5. 36 岁未婚大龄女,不找对象偏偏要学编程 | 程序员有话说

    作者 | 素年清时 责编 | 伍杏玲 [程序人生 编者按]在广州某培训机构的办学史上,李盼是第一位年龄超过35岁的女学员. 我叫李盼,是一名混迹在广东的大龄女青年.说起来,我的故事或许平淡无奇,或许曲 ...

  6. 零基础学C++——黑马程序员课程笔记(C++核心编程篇)

    封面来自互联网侵删 视频地址:点击访问 (我这里开发工具选用VSstudio) 此笔记有三个系列: C++基础语法入门篇 点击查看 C++核心编程篇 C++提高编程篇 本阶段主要针对C++面向对象编程 ...

  7. 如何自学python编程-零基础如何自学编程?

    如果你正在自学编程和代码,并苦于没有优质资源,那么我就找对了地方. 接下来给你介绍21个免费学习写代码的网站,在办公室里或在家里即可轻松学编程. 编程初学者必必必必必必!看! 马!上!打包收藏这21个 ...

  8. javascript实例自学手册光盘源码_零基础,自学编程,如何选择语言?

    零基础,又要自学,如何选择一门适合自己的语言是所有踏上这条路的朋友都会遇到的第一个问题.之前,看了不少文章,说的或多或少都有道理,比如会从你将来学编程的目的入手,分析需要用什么然后学什么,有些从语言的 ...

  9. 零基础如何自学编程?用这6种方法就够了!

    前言 自学编程的过程中,一部分程序员遇到冰冷的英语字母,枯燥的编程教程,果断选择了放弃. 但其实自学编程不是那么难,只要是理工科生.逻辑思维还行的小伙伴,编程入门完全可以. 对于初学者来说,可以采用视 ...

最新文章

  1. VS Code 常用插件推荐
  2. swagger注解说明_swagger2常用注解说明
  3. myeclipse6.0.1(内置了eclipse)安装及其配置
  4. Initializer Lists
  5. spoolqa果然是病毒!
  6. 无锡美景:踏过樱花第几桥
  7. 怎么关闭eureka的服务_SpringCloud之Eureka
  8. tenda无线网卡Linux驱动,腾达Tenda W311MA无线网卡Linux下驱动安装
  9. java 坐标转换_java – 将图像X,Y坐标转换为经度和纬度?
  10. xp隐藏桌面计算机图标不见了怎么办,XP系统桌面IE图标不见了怎么办?IE图标消失了怎么恢复?...
  11. iOS MVC设计模式
  12. 《版式设计——日本平面设计师参考手册》—第1章如何存储旧版本的InDesign文件...
  13. shell一文入门通
  14. Detour教程(下)
  15. python 推导式
  16. 单片机c语言中tr=0的意思,单片机C语言#define RS_CLR RS=0 什么意思?
  17. 转 华农产:阿猫阿狗工作室
  18. 玛森:Python有什么用
  19. 2021年熔化焊接与热切割试题及解析及熔化焊接与热切割作业考试题库
  20. 外部中断(含基础知识)-(做明白人)

热门文章

  1. android零宽空格,零宽字符文本水印原理
  2. 【Python】实现一个简单的区块链系统
  3. 冯诺依曼计算机的发展过程,从冯•诺依曼结构视计算机科学的发展史
  4. 桥梁在线计算机监测系统,桥梁在线监测系统解决方案.doc
  5. 基于Java+JSP+MySQL基于SSM的医院挂号就诊系统
  6. JPG、PNG、BMP、RAW傻傻分不清楚?一文帮你解析常见的图像文件格式及其差异
  7. 轻松上手CSS Grid网格布局
  8. offset、scroll、client三大家族
  9. 远程连接 错误 内部错误_关于错误的性质和原因。 了解错误因素
  10. 黑马程序员:Socket编程之(UDP vs TCP)