为了账号安全,请及时绑定邮箱和手机立即绑定

半路学编程,可以成为大牛吗?

 

此前曾回答过一个相关问题:自学编程和计算机科班出身的差别在哪?

 

回答这个问题,首先我们需要明确两个定义:半路学编程大牛

 

在本回答里,我们将“半路学编程”定义为20岁以前没有接触过编程相关知识、大学并非计算机相关专业,工作之后开始学习编程。否则每个不是从刚出生便开始学习编程人都可以定义成半路学编程了。 

https://img1.sycdn.imooc.com//5ad72c7d0001da5502430209.jpg 

同时,我们将“大牛”定义为能够创造独有价值,行业内略有名气,并能获得理想的收入的人。当然,这个定义比起程序员圈子里站在行业技术金字塔塔尖的大牛的定义,看起来逊色了不少,但是我们要明白的是,那种大牛在整个行业里都是凤毛麟角,没有必要增大题目的难度。

 

基于以上定义给出结论:半路学编程,完全可以成为大牛!

 

回答区里有知友提到了王江民先生,他的经历便是我们这个结论的有力论据:因患小儿麻痹而落下终生残疾的王江民,初中辍学进厂做学徒,在38岁之前从未接触过计算机,但是只用了几年的时间,他便成了国内最早的反病毒专家,后来还创办了江民科技,在行业反病毒史上留下了自己光辉的一笔。

 

类似经历的还有Flashsky,中文名方兴,现任阿里巴巴资深安全专家,他是中国漏洞挖掘领域最顶尖的黑客之一,曾发现数百个高危级安全漏洞;他也是全球第一个分析预警了微软历史上最严重的安全漏洞LSD RPC DCOM缓冲区溢出安全漏洞的人。Flashsky也是半路学编程,年轻的时候做过酒店经理、农用车推销员、保险出单员等,凭着浓厚的兴趣和一腔热情进入网络安全行业,从此便开始不断刷新自己的职业履历。

 

对于不确定自己是否适合学编程的同学,推荐阅读:如何确定自己是否适合做程序员?

 

如果结论是肯定的,接下来再谈方法:半路学编程,怎样可以成为大牛? 

https://img1.sycdn.imooc.com//5ad72c9c0001aa4f02490211.jpg 

【理论篇】

 

半路学编程,需要的是明确的目标强烈的学习热情以及优秀的学习钻研能力持之以恒的决心。很多人想抛弃本职工作从事编程,乃至想成为个中大牛,更多的是因为近年来程序员逐渐成为人们艳羡的高收入职业,而并不是发自内心地热爱。在这种情况下,学习热情与决心可能都无法保证,成为大牛的可能几乎为零。

 

编程语言只是工具,更重要的是编程思维。很多没有接触过编程的同学可能会觉得,自己学了个编程语言,就算会编程了,假以时日就可以成为大牛了。事实并非如此,编程实际上是一个解决问题的过程,一般说来,包含两个阶段:第一阶段是把问题本身抽象成可计算的模型,第二阶段才是借助编程语言来用代码实现这个模型

 

在IT技术的长期积累之中,许多问题都已经形成了标准可靠的解决方案。因此,除了学习几门主流的编程语言作为实现工具,更重要的是学习这些即成标准、解决方案,如果希望快速提升自己的能力,就要学会由别人的解决方案进行反向推理,将其吃透,变成自己的东西。

 

推荐阅读:编程真的能改变人的思维方式吗?

 

上手并不难,关键是积累。相比之下,学习一门编程语言,从一无所知到基本上手,通常并不需要很长的时间,但在互联网技术不断更新的时代,想要随心所欲地用编程的方式来解决问题,创造更有价值的新鲜方案,就要更多的知识和实践,这就不是时间的问题了,它将成为一种习惯,且伴且行。 

https://img1.sycdn.imooc.com//5ad72cb10001069102600219.jpg 

【实战篇】

 

第一步,学习计算机导论相关的知识,掌握计算机基础,完成入门基本动作

 

>了解计算机的组成结构和发展过程;

>明白计算机是如何从打孔纸带的计算逐步演化为电子管、晶体管以及大规模集成电路的;

>掌握二进制、八进制以及十六进制的关系等。

 

Tips:快速接轨:

IT行业都有哪些职位,初学者(0基础,新人)该如何选择,才能够快速进入这个行业?

 

第二步,明确学习方向,熟练掌握相关语言,学习数据结构与算法相关知识,升级为基础级别的选手 

https://img1.sycdn.imooc.com//5ad72cc300014baf02840232.jpg 

>明确编程语言方向(比如C,Java,C++等)

>至少熟练运用一门基础语言;

>能够根据具体需求套用框架或编写基本的程序,解决问题;

>能够深入掌握数据结构及算法对于程序实现的意义等。

 

Tips

语言学习

编程初学者学什么语言好?

如何学习 JavaScript?

 

新手技巧:

编程中,有哪些好的习惯从一开始就值得坚持?

有哪些新手程序员不知道的小技巧?

程序员新人怎样在复杂代码中找 bug?

 

新手课程:

前端小白入门

JAVA零基础入门

零基础入门Android语法与界面

 

第三步,学习面向对象的高级知识,学习前端知识及数据库等后端支撑知识,技能进阶

 

>不仅会面向过程编程,也会面向对象编程;

>写出的程序具备可扩展性与可维护性;

>熟练掌握前后端配合,能够迅速定位程序问题所在;

>掌握计算机网络、通信协议等相关知识等。

 

Tips:

技能进阶:

零基础如何自学MySQL数据库?

如何系统地学习Node.js?

怎样成长为一个优秀的 Web 前端开发工程师?

 

相关课程:

Java Web进阶:数据库与MyBatis入门

Android 网络操作与流行框架


更多课程请参考:https://class.imooc.com/


第四步,在实战中强化编程思维,同时进一步拓展专业知识的深度与广度,向大牛靠拢

 

>学习设计模式,能够对设计模式产生需求及独到见解;

>能够举一反三,根据一个案例发现更好的解决方式;

>尝试进行其他编程语言的学习,熟悉多种语言的优势与弱点,能够在项目实现时,采用最佳语言组合等。 

https://img1.sycdn.imooc.com//5ad72cff0001c13403090240.jpg 

第五步,查漏补缺,与时俱进

 

>尝试学习架构设计,成为架构师,对系统进行架构和技术选型;

推荐阅读:架构师的路到底怎么走?

>能够对比不同的技术的优缺点,并敏锐选择最适合项目的技术进行开发;

>确定自己的研究学习的方向,在细分领域上做到研究的高精尖;

>不断更新自己的技术视野,比如高并发、集群、云计算、区块链等;紧跟技术发展潮流,保证技术的前沿性等。 

https://img1.sycdn.imooc.com//5ad72d0c00016beb02470222.jpg 

如果以上要求你都做到了,剩下的就是:寻找机会,翻云覆雨! 

https://img1.sycdn.imooc.com//5ad72d2700015f5402450245.jpg 

半路学编程,需要付出更多时间,可能会因为精力跟不上而产生更强烈的挫败感,但如果真的热爱编程,那么这些都不能成为你成为大牛的障碍,目标明确,方法得当,多一分努力,多一分坚持,梦想总会照进现实。

 


点击查看更多内容
23人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消