非科班出身,如何学好编程成为程序员?

隔离丶七日情


科班出身与非科班出身在职业起步时确实有差距,成熟的科班会全面培养人的思维框架,总体思想。先不说动手能力,起码设计上会有一个略微全面的思路。而非科班出身的,总分为两类,有人教、自学。有人教的话,就看教法和科班是不是相似了,这里没法研究,也就不多说明了。

下面主要说说自学的非科班出身程序员,首先既然能下定决心自学成为程序员并以此为业(学了就可以有多难),那么我认为必定是兴趣与热爱,否则稍有懈怠就容易坚持不下去。上段也说了,科班出身只是优于职业生涯的起步阶段,实际工作的实战经验要比理论教学有用得多得多,你理论再厉害,自己能说一个月,做不出产品来就和没有一样。而非科班出身的程序员多数由于热爱,会逐步专研、实践、再学习,理论知识在现在这个网络环境下,很容易学到,所以也会在工作中很快追上科班出身的,这很正常。

总结,普遍情况来说,科班出身的起步有优势,非科班的长久有优势,重中之重是工作实践,实践中逐步补强自己,谁更能坚持下去,谁的路更宽。

以上回答来自一个非科班出身的13年经验的老头。^O^


十字路口的交易


目前程序员市场供求关系不平衡,大量的“野生”程序员开始抢“正宫”的饭碗,自然少不了引起,某些自豪感爆棚的科班程序员的排斥。

非科班出身的程序员的弱势

非科班出身,也就是在学校里学得不是计算机相关专业的课程,这类程序员在职场中要承受更多的压力。

程序员这个行业有个鄙视链:本科程序员是老大,专科程序员低人一等,非科班出身的程序员?职场偏见很严重。

程序员非科班出身接触编程的时间一定晚于其他两类程序员,无论是在理论,还是技术上都处于劣势,也意味着在思维方式、解题经验方面的落后。

这也是为何科班出身的程序员在面对非科班选手时,往往具备压倒性优势的原因。

所以如果题主是刚刚想如程序员这个行业的话,理解这些也是必要的。

非科班出身的程序员,不仅要面对科班出身者的技术优势,还要面临职场偏见,尽管压力重重,但只要够努力,这一切都不是问题。

“曹巍是学「材料成型机控制工程专业」的,自学了 Java,随后进入一家软件企业,担任元数据产品开发。从新人开始,曹巍一边工作一边积累自己的技术经验,3年后,曹巍进入某数码集团负责技术架构。”

那么,非科班出身,如何成为程序员?

  • 兴趣是关键,选好编程语言

还是要强调兴趣很重要,不要在不感兴趣的地方浪费时间,那样你会超级累!

然后,给自己设定一个学习方向,技术一直在发展,编程语言也那么多,选择更加友好的语言,比如Python。

用简单的编程语言可以让你更容易达到自己选定的目标,这样也会更有动力去进一步学习。

再者,Python现在还是很热门的,当然,这只是一个小小的建议。

在学习编程语言的时候,不要太盲目,给自己定个计划表吧,以Python为例。

我从什么地方开始学Python?

多久能掌握Python?

学到什么程度,就算掌握了这门语言?

学完Python后,我该做怎样的拓展学习?

……

  • 多练习,多做项目

对于程序员来说,逻辑思维也非常重要,多练习可以提升自己的逻辑思维。

所有的技术最后都要付诸与实践,多参与项目能帮助积累更多经验,你的项目操作能力,也将成为简历上的重要证明。

不过,一定要在基础打牢之后在向项目下手,并且建议选择容易出成果的项目去学习。

  • 职业发展的选择

非科班出身程序员在找工作时可能会受到局限,因为许多大公司还是会优先考虑学历的。

而一般的创业公司会更加看重你的个人能力,对于需要什么样的程序员,什么样的程序员是够格的,他们有自己的标准。

简而言之,计算机专业的学位,并不是成为程序员的必要条件,但如果希望成为程序员,那么将要在学习和实践方面付出更多的努力。


W3Cschool


编程与数学

数学是成就卓越开发人员的必备技能,具体问题具体分析,并不是所有的研发人员都需要很强的高等数学。

文档写作

良好的写作能力,和表达能力。

算法

良好的算法功底,这个要看你你所从事的系统开发了

阅读优秀的源码

学会阅读别人的代码,github上有许多优秀的开源源码。

答题、逛论坛、看技术帖子,加入开源论坛,交流、思考、分享


若是凉夜已成梦


学好编程的关键在于强力的实践,建议先找一个好方向入门,比如Java或Python编程,之后尽量找一些好的项目进行实践


分享到:


相關文章: