不通过程序员编程培训,可以成为程序员吗?

作者:jcmp      发布时间:2021-03-17      浏览量:31304
过去的几年里,国内软件行业的快速发展,程

过去的几年里,国内软件行业的快速发展,程序员的薪资不断上升,越来越多的人想转行软件研发或大数据挖掘的相关工作,但是实际上,很多人并非科班出身,难道非科班出身就不能从事软件研发相关工作了么?答案显然不是的!非科班出身人员是否只能通过程序员编程培训?答案显然也不是!要想入行,其实我们有多种途径进入软件相关行业:1.学计算机专业,科班出身;2、培训机构培训;3、自学,本人就是走的自学路线,化工本科毕业,自学的计算机进入软件开发,不过工作一年后又考了计算机的研究生;

对于科班出身的技术人员来说,这无疑是幸运的,对于那些非科班出身的人来说,其实也能成为一名优秀的程序员,但是这个路会走的艰辛些,相比较科班出身的人来说,非科班出身要付出更多.当然,如果你是想速成搬砖,那可以报名培训班,这里我不是太推荐培训班,毕竟基础没打扎实,后面工作忙了学习时间就不多了,我比较推荐大家自学,基础打扎实!话不多说,先来个图:

1、想成为前端工程师?

其实现在网上已经有一些优秀攻城狮的优秀博客、社区,实用的手册、工具,框架/库,以及在线教程和书籍推荐.为大家解决一些基本的,常见的问题和需求做专业的前端平台,提供你需要的东西.解放你的收藏夹,让它们只做最主要的事情.想要学好前端,光看视频或者博客的话,知识点不太系统,经常会出现一个问题知其然而不知其所以然,我推荐大家看书,大家可以参考下面的书单:

2、想成为后端工程师?

学习Java和其他技术的资源其实非常多,但是我们需要取其精华去其糟粕,选择那些最好的,最适合我们的,同时也要由浅入深,先易后难。基于这样的一个标准,我在这里为大家提供一份Java的学习资源清单:

当然,网上的各种在线资源也要用起来,比如:github上的开源项目和一些相关专栏.

3、专栏:

4、深入浅出Java核心技术

https:// blog.csdn.net/column/de tails/21930.html。

本专栏主要介绍Java基础,并且会结合实现原理以及具体实例来讲解。同时还介绍了Java集合类,设计模式以及Java8的相关知识。

5、深入理解JVM虚拟机

https:// blog.csdn.net/column/de tails/21960.html。

带你走进JVM的世界,整合高质量文章以阐述虚拟机的原理及相关技术,让开发者更好地了解Java的底层运行原理以及相应的调优方法。

6、Java并发指南

https:// blog.csdn.net/column/de tails/21961.html。

本专栏主要介绍Java并发编程相关的基本原理以及进阶知识。主要包括Java多线程基础,Java并发编程基本原理以及JUC并发包的使用和源码解析。

7、Java网络编程与NIO

https:// blog.csdn.net/column/de tails/21963.html。

Java网络编程一直是很重要的一部分内容,其中涉及了socket的使用,以及Java网络编程的IO模型,譬如BIO,NIO,AIO,当然也包括Linux的网络编程模型。

了解这部分知识对于理解网络编程有很多帮助。另外还补充了两个涉及NIO的重要技术:Tomcat和Netty。

8、JavaWeb技术世界

https:// blog.csdn.net/column/de tails/21850.html。

从这里开始打开去往JavaWeb世界的大门。什么是J2EE,什么是JavaWeb,以及这个生态中常用的一些技术:Maven,Spring,Tomcat,Junit,log4j等等。

我们不仅要了解怎么使用它们,更要去了解它们为什么出现,其中一些技术的实现原理是什么。

Spring与SpringMVC源码解析

https:// blog.csdn.net/column/de tails/21851.html。

本专栏主要讲解Spring和SpringMVC的实现原理。 Spring是最流行的Java框架之一。

本专栏文章主要包括IOC的实现原理分析,AOP的实现原理分析,事务的实现源码分析等,当然也有SpringMVC的源码解析文章。

9、重新学习MySQL与Redis

https:// blog.csdn.net/column/de tails/21877.html。

本专栏介绍MySQL的基本知识,比如基本架构,存储引擎,索引原理,主从复制,事务等内容。当然也会讲解一些和sql语句优化有关的知识。

同时本专栏里也介绍了Redis的基本实现原理,包括数据结构,主从复制,集群方案,分布式锁等实现。

10、分布式系统理论与实践

https:// blog.csdn.net/column/de tails/24090.html。

本专栏介绍分布式的基本理论和相关技术,比如CAP和BASE理论,一致性算法,以及ZooKeeper这类的分布式协调服务。

在分布式实践方面,我们会讲到负载均衡,缓存,分布式事务,分布式锁,以及Dubbo这样的微服务,也包括消息队列,数据库中间件等等。

11、想成为算法工程师?

其实对于算法工程师这个岗位,国内很多人一直有所误解,国内大部分公司的算法工程师其实都是偏应用的,比如说我自己,哈哈哈,主要就是开源算法包的调包&调参的,但是,按我的理解,真正的算法工程师是开发算法的(类似sklearn相关算法包的实现).当然,对于偏应用的算法工程师,我建议把涉及ETL和特征加工的计算环节、建模、模型监控和实时服务上线的整个流程环节都了解一下,具体我推荐如下书单:

12、想成为运维工程师?

运维大佬其实干的事情外人看起来比较简单,重复.但是,实际上,运维也是很辛苦的,毕竟半夜出了问题,要处理各种问题,在我看来,运维重点看如下书单就好:

13、想成为android/ios工程师?

移动端工程师其实重点看Android开发精要或者iOS编程实战,然后数据结构以及编程语言好好学学就好.

14、想成为测试工程师?

测试工程师作为软件质量把关人员,其实有很大的作用,既要保证基础的功能测试没有问题,性能也要测试通过,这里推荐看如下书单:

无论想成为哪种工程师,都需要我们不断学习、练习,在软件这个行业,真的是要一直学习的,技术更新太快,不学习的话,很快就会被后浪拍死在沙滩上....

学习知识:编程入门知识早已趋于免费,你随便上网都能找到免费公开的学习资料,去买本书来看看也花不了多少钱,关键是你要耐得住寂寞坚持学完.坚持不下来就不要怪别人,否则只能花钱请人监督你,这个钱你不能省.这跟请健身教练一样,你有一部分钱是花在弥补你不足的意志力上.

反复训练:你可以去PAT或者LeetCode去刷题,你可以根据自己的爱好做网站做APP,总之你要做得足够多,然后熟练程度上来了才能成事,PAT或者LeetCode很无聊,你可以找伙伴跟你一起刷,但也可以完全自学,总之,穷有穷的学法,福有福的学法.穷的学法导致你做不下去的话,那该花钱的地方就花钱.但不该花钱的事情,自己解决就好了.

找到工作:会编程不代表有人愿意花钱让你编程,这个事情就是这样奇怪.要么你自己折腾一个东西折腾到自己有点名气或者能赚钱养活你自己,想找工作的话还是要随大流——搬去一个科技行业聚集的大城市,然后拼命爬梯子.最坏的情况是,你要从免费帮小公司打杂开始做起,慢慢你的简历看起来像是个程序员的简历了,更好的机会自然会来.

15、最后,祝你心想事成!