零基础怎样成为程序员?

零基础怎样成为程序员?

我有一个朋友还是很厉害的,他本科大一读的是英语专业,大二转专业读的是新闻学专业,现在就职于某一线大厂。可以说,他是真正的非科班出身的程序员

1.先专注学习某一个方向,能靠这个技能养家糊口,找到一份工作,为学习其他的计算机知识争取时间,从而成为一个专业的程序员。比如说,你如果对前端感兴趣,就弄明白js的原型链,es6的新特性,找一家公司实习。如果你要成为一个专业的程序员,千万不要过早设定自己的方向,因为专业的程序员都是能够把很多个方向做的很牛逼,其中有一两个方向超级牛逼。创造windows的dave cutler今年都70岁了,20年前4、50岁了才刚刚开始写winnt,人家在30岁之前都还不太懂怎么写代码,所以不要着急。

2.当你找到工作之后,应该学习的内容包括但不仅限于:

•计算机图形学

•编译原理

•操作系统的基础知识

•分布式系统的架构

•对你的代码进行靠谱的自动化测试

•学会写framework和library,不要一味地写application

你可能会问为什么要学习计算机基础知识,其实对于程序员来说,计算机的基础知识还是重要的,如果计算机基础知识不牢固,很有可能会遇到下面的尴尬境地:

1. 35岁以后普通码农会被老板清退,所以要尽可能的要向公司的高层发展,而技术主管要求你需要有过硬的计算机基础。

2. 未来人工智能会取代初中级程序员。比如说,今年双十一阿里的自动切图机器人。

3. 技术发展太快,如果你只会用框架的话,充其量只是外功,如果内功(计算机基础)不行,则疲于应付,被年轻的程序员代替。

4. 学习计算机专业知识,本身就可以获得幸福感


一、只有真正喜欢才能写好程序

喜欢写程序,做程序员就是上天堂;不喜欢写程序,做程序员就是下地狱。

程序员需要整天趴在电脑前,经常没日没夜的,非常辛苦,而且工作来不得半点虚假,少写一个标点符号都不行。喜欢的人,日子过得非常开心,每写一行代码,都会有新的成就,尤其当自己的作品被广泛应用的时候,那种自豪感油然而生。不喜欢的人,坐在电脑前极其无聊,被进度压得喘不过气来,天天为找Bug,改Bug生气。

只有喜欢,只有热爱,才能把程序写好!

我建议不喜欢写程序的人早点转行,不要勉强自己,免得误人误己。

二、把程序当艺术品像写诗一样来写代码

现在很少有公司做 Codeview (对写好的程序做代码级检查),于是很多人在进度的压力下潦草应付,只要测试通过就算搞定。表面上看,开发速度很快,进度有保障;但实际上,这样的程序连开发者自己都很难读懂,一旦有Bug,很难调试,将来维护升级都非常困难。这样的代码多半只能重写,浪费自然严重。

如果每个人写程序的时候当艺术品来写,写每行都认认真真、干干净净的,虽然速度略微慢了一点,但综合的开发成本会低很多。

如何写像诗一样美的代码呢?方法也很简单。

1.买几本经典的编程书,把书上所有例程全部重新写一遍,逐个比较和书上范例的差距,一步一步改善自己编程的风格和技巧。时间长了,自然就能写出像书上例程一样的代码,甚至可以比书上写得好。

2.基础扎实后,多看看Linux 等系统级的源代码,看看高手是如何写的,就有感觉了。

3.通读一下MSDN中所有的资料,这样就“读书破万卷,下笔如有神”。

还有,一定要牢记软件工程的铁律:可能出错的地方一定会出错。每个变量都做初始化,引用每个参数都要做有效性检查,在可能出错的每个地方都要做边界条件检查,这样开发出来的程序一定会稳固很多,就是出错也很容易修改。野路子出来的高手,一般开发速度很快,但做完后Bug会很多,经常需要很长时间修改。而真正的高手,追求的境界是 Bugfree code(零缺陷代码)。

三、必须写够十万行代码,不要心存侥幸

程序员像木工一样,熟能生巧。程序员必须写足够代码量的程序,才会有感觉,这是一个苦力活,没有任何捷径可走。

计算机是一门实践性的科学,没有动手能力做支撑,很难做出好的科研成果。我的一个学长是美国卡内基梅隆大学的博士,卡内基梅隆大学计算机系在全世界都非常出名,他说每个博士生必须写十万行代码才能毕业,卡内基梅隆大学博士生进任何一个大企业基本不用面试。而国内培养的大部分研究生、博士生,动手能力都偏弱。

没有写过足够代码量的程序员,想成为高手是不可能的,只能纸上谈兵!

四、时刻保持好奇心

计算机技术更新换代非常快,每年都有各种各样的新技术出现。在我过去的职业生涯中,仅编程语言,我就用过 Basic、Masm、Pascal、C++、Vba、Delphi、Java 等。需要时刻保持好奇心,不断学习各种新的东西,才能在未来的几十年职业生涯中不落伍。

人的精力有限,高手往往工作压力也比较大,如何在有限的时间内掌握整个行业动态,的确不是简单的事情。我的经验是经常看业内的各种技术杂志,参加各种聚会,可以节约很多时间。最重要的是,交几个博学的技术高手,多和他们交流,一定受益匪浅!

五、不要局限在技术本身,多花点精力关注用户

做到前面几条,就已经是千金难求的高手了。但一个真正的高手需要知道用户需要什么,如何做出让用户满意的产品。

现在的软件研发越来越强调团队协作,不少团队都配置了专门的需求分析工程师、用户界面及用户体验的设计师,软件研发的分工越来越细。很多程序员以为只要把技术搞好,不用管用户需求和用户体验。实际上,需求方案及界面方案不可能写得非常细,具体的实施还是程序员自己来实现的。这个时候,好坏的差距很快就体现出来了。

我们写程序的最终目的是满足用户需求,不是简单完成需求规划方案中的功能。所以,程序员一定要认真揣摩用户心理,能明白用户的真实需求。

其次,怎样设计交互界面,让用户觉得好用,用起来舒服,这里面学问很大。我举一个小例子,每个程序窗口右上角都有三个按钮,如最小化、关闭等。乔布斯觉得不好看,不易用,他提出改用红绿蓝的交通灯。这样修改后, Mac OS果然 漂亮和易用了很多。

目前互联网和手机上的应用开发,都非常强调小团队研发。这样研发模式速度会快很多,但对程序员综合素质的要求也就更高了。

我强烈建议程序员不要仅仅局限在技术本身,还需要多点精力考虑和用户相关的问题,学会洞察用户的需求,并努力设计好用易用的产品。做到这点的程序高手,创业成算就很大了。


作为计算机专业毕业曾经做过程序员的一员,简单发表一下自己的看法。

根据我的观察,很多行业精英,往往并不是专业出身。半路出家的往往更有成就。

当然有个前提是,确实对这一行有超乎寻常的兴趣,并且愿意在这上面投入大量的时间和精力。

兴趣是最好的老师,这句话并不是虚言。

就以我自己为例,理工毕业,但是并不愿意一直在编程的道路上发展,虽然最后做到技术总监,最后还是放弃了编程。当然自己现在也随手编点代码,写点程序,也很有趣。

但是我对文字的兴趣异常大,五六岁开始读书,每个年代流行的书都有涉猎。网络文学盛行后,多数经典都看过。我曾经简单的按照我一天30-50万字的阅读速度进行统计,这些年我看过的书,字数可能高达数亿。

而我从2004年前后写博客开始,到写书,再到开通自媒体,在网上发布的文字应该也有百万以上。不过这些没有当作事业发展,也并没有实质的收益。

写程序,如果方法得到,自学也一样可以成材。

当然首先要准备几本基础的教材,认真的读上几遍。并且在读的同时,要配置安装好环境,尝试写一些代码,比如书中的范例。

读万卷书不如行千里路,编程之道也是如此。

当年我学编程的时候,周末经常在图书馆看很多相关的书籍。编程考试也曾经第一个完成程序。但是我在电脑上写的程序还是少了点,虽然2000年之前就开发过小游戏,但是并没有往精深处研究,没有考虑如何做的更简单高效,如何更美观强大。

读几本书,编写一些代码,就基本算是入门了。

然后就可以找一些网上现成的程序源代码来学习研究了。查看具体的功能,去思索如何实现。然后可以仿照着去开发一个相似的。

如果你能完成的实现这些功能,并且在这个过程中不断解决一个又一个难题。相信收获一定是巨大的。

还有一个非常重要的问题是,编程的语言有很多种,方向的选择很重要。

有的人选择了某个行业,经过几年的努力月入五千。而他的同学一开始就选了更好的行业,一年后就月入过万。这就是方向的选择。

程序都是相通的,但是我不建议去学习最基础的C语言。

现在是智能手机时代,如果想比较短的时间看到效果,看到收益。那么还是从手机软件开发入手吧。比如HTML5,也可以做手机版的网站。PHP也是流行比较广,入门很容易的选择。相对复杂点的我就不做推荐了。

如果你真对编程有兴趣,为什么不在大学那么好的时间段里打下基础呢?是在电脑游戏前玩的忘乎所以,还是谈恋爱谈的荡气回肠了?

如果你能找到可以接收你的做开发的公司,那自然好,起码先就业解决了生存问题。如果找不到,那能找到什么工作就先做着,闲暇时多下功夫吧。

财智成功:加百利网创立者,公众号(加百利点靠木)敬请关注!


零基础选择做程序员要做到以下四步:

1.选择一个方向

技术分类很多的,先选择自己感兴趣的科目,如果没有自己特别倾向的项目,如果没有选择当前比较流行或者未来可能会比较有前景的项目

2.选择一种编程语言

选择好方向了然后开始选择一门编程语言,开始不要给自己太多的压力,很多初学者上来就搞了很多种编程语言学习,编程语言除了本身的语法问题还需要编程思想做支撑,特别是学习编程之初首先要做的是稳扎稳打学好一门语言,在学的差不多情况下再进行别的语言的学习,触类旁通。

3.想办法做一些尽量接近实际的项目

这一步是最难的,好在现在随着开源项目的发展,在网络上就能够拿到一些实际的源码,有机会研究大总量的代码,开始看代码整体晕乎乎的特别正常,在做实际的改动之前,需要先看懂代码,只有看懂代码了才能更好的修改代码。

开始尝试修改代码然后运行起来慢慢建立自己成就感,然后规划好自己想要做的功能,启动实践去搞,只要准备去搞就需要限定时间。这样才能挖掘出自己的潜力。

如果能做一些真正的项目,成长的速度会更快。

4.开始把自己推出去

在实际做过项目之后可以尝试把自己的简历,挂在网上寻找工作机会,有面试的机会就要牢牢抓住,不一定一次性成功,每次面试都是极好的增长经验的机会。所以不要因为面试失败就把自己搞的垂头丧气,吸取经验教训继续前行。


问题:做个程序员,零基础应该怎么做?

回答:交学费到培训机构学习是最快的!

原因:每个人都会有不同程度的懒惰,所以自学基本不要考虑了。反而通过培训机构入行是最快的,学习的课程比较系统性,并且培训机构本身有一定的约束性,也有一定的学习氛围。

案例:有遇到过女孩子转行学测试的(也不是计算机专业的),学费不便宜,学时3个月,学完很快就找到工作了,并且offer也不低。,


一名合格的程序员虽然收入不错,但是工作很辛苦,还容易掉头发。你真的想当程序员?

好吧,既然你这么坚决,那么就先来看看程序员需要什么技能,然后再看看怎样才能获得这些能力。

首先,程序员要会写程序。这看起来像句废话,但是却是基础。

写程序的根本在于,把要解决的现实问题抽象成数学或者逻辑问题,然后再用程序语言实现。这里有两个步骤:先是把问题抽象出来,然后再写成程序代码。

第一个步骤需要逻辑能力和数学能力,这些和计算机完全无关;

第二个步骤需要掌握一门或者几门程序语言,目前企业内比较流行的有C#、Java、Python、Ruby等。当然,要是算上前端的话,可能还有HTML5、CSS3和常见的脚本语言等。

那么,要怎么才能获得这些能力呢?无非是学和练。

在这里,有一个常见误区,就是觉得自己应该先学一些什么才能开始做东西。但是,在实战中练习是最好的学习。碰到问题解决问题,兵来将挡水来土掩,解决不了问题就去问Google或者stackoverflow,是最好的学习方式。这还需要一些英语能力。

所以,程序员起步的方法,是先保证自己饿不死的前提下,挑选一门编程语言,买一本类似《笨办法学Python》的教材,安装所需要的环境,一步一步跟着做,碰到问题就去问Google。

然后,尝试解决自己想要解决的问题,碰到问题就先尝试自己解决,若是解决不了再去去Google、github或者stackoverflow上面找,看看有没有答案。

成为一名程序员没有什么其他捷径,无非就是学习、练习、解决问题,然后再来一个循环。


我也是零基础开始学习,学习中最怕的就是枯燥,这是必须克服的一大难关,我记得刚刚开始的时候,看着看着就很想睡觉,根本止不住,但是语法是必看部分这个是跳不过去的,后来太困了,就睡一会,醒了接着看,就这样把基础部分看完,第二个就是要转换成项目,很多人会说我学了,但是就是不知道怎么去做项目,这个就需要定功能,然后去实现,先可以从小的开始,我说一下我的思路,我先开始实现查询计算机信息的功能,实现完成后,然后我在去想怎么去修改,然后数据上传归集。这个只是提供一个思路,你可以想你确实需要什么功能,从小的开始实现。慢慢扩展。多用用百度和谷歌还是能解决不少问题的。然后在这方面的搜索方面,谷歌还是比百度强很多,如果有条件,用谷歌来搜索你的问题。能解决的几率比较高一点。也可以去空间看下我发的小白选第一门编程语言入门。


很高兴能回答题主的问题。首先,程序员是一个很宽泛的职业,行业跨度很大,涉猎领域也很多,建议题主可以结合自身的喜好充分考虑。以下是小窝头从学习Java开发到参加工作的一些经验,希望可以帮到题主。

一、入门途径

程序员毕竟是一个需要一定门槛的职业,所以入门非常重要,入门顺利的话,可以激发编程热情,快速掌握基础技能。

入门的方式有很多,目前比较速成的方式是通过参加培训班,虽然相对自学或者网络上的各类教学资源来说,培训班会有一定的资金投入,不过培训班能够比较系统的补充一些基础知识,也能够提供一个比较良好的学习环境,比较适合入门阶段的学习。

二、编程语言的选择

入门阶段比较重要的一个事情是选择一门合适的编程语言,下图是TIOBE发布的3月TOP10编程语言榜单。从排名来看的话,Java和C依旧稳健,Go持续爬升进入了前10。此外,也可以通过各大招聘网站了解各公司对语言的需求,建议选择需求量比较大的语言进行入门。就小窝头所在的公司及行业来看,需求最大的是Java。

三、学习方法

小窝头之前参加过培训机构的学习,工作之后也和一些培训机构有过一些交流,接触了比较多的学员。学员有一个共同的担忧:学不会怎么办?这个其实是学习方法的问题。

从我自身参加培训机构学习的经历来看,入门阶段的学习方法就是:跟紧进度,勤思考、多实践。跟紧进度的目的是为了抓住学习的主线,培训机构基本都会根据市场需求来调整课程的组成,跟紧进度不掉队,才能够比较全面的掌握培训机构所教授的内容;勤思考、多实践是巩固知识的必要手段,这个和高考的题海战术很类似,就是通过反复的训练来提升自己,让编程逐步变成一种习惯,锻炼自身的逻辑思维和抽象思维能力。

当然,书籍、社区也都是非常好学习途径,但是在学习初期还是建议以学习主线为主,书籍、社区等资源可以作为补充。当自身具备一定的编码能力后,在通过书籍、社区、官网等途径逐步丰富自身的知识体系。

方法固然重要,坚持也必不可少!在入门阶段,反复的训练必然会乏味,但是确实是该阶段的必经之路。

四、保持不断学习

经过了入门阶段,已经可以算是一名程序员,但是需要学习的知识还很多,丰富的知识是不断提升的基础。这个阶段,很多知识已经可以靠自学来完成了,不过光在理论上理解还不够,还是要寻找机会训练,不断的折腾,不断的成长!在程序员这个职业里,持续学习永远比编程能力更加重要!

虽然2019年是充满波折的一年,但是程序员的缺口依然存在,高级程序员更是可遇不可求,建议楼主结合自身兴趣,充分思考,谨慎决定。祝生活愉快~


首先现在正处于互联网的大时代,由于互联网的冲击,是很多传统行业面临着转型。作为打工者的我们,也应该意识到转型这一点,现在不去做,不去改变自己,那么你就会被时代淘汰,题主 问的很好,这说明你已经认识到了 互联网的优势,其实关于你说的零基础可不可以做好程序猿,程序猿是个统称,分为很多类别,软件工程师 前端工程师 后端工程师 软件测试 网络安全工程师,那么我给题主的建议是,如果你是纯小白的话,可以考虑往前端发展,前端入门容易,市场的需求量也很大,祝你早日转行成功


作为一个软件工程专业的学生 可以告诉你,你可以 先了解程序员 具体是干什么的,然后你再慎重考虑一下 自己到底有多么喜欢这个工作,等你想清楚这个问题之后,你就可以准备去学习程序了

一个程序员,心里必须清楚 程序=算法+数据结构+程序设计方法+语言工具和环境

接下来你就可以学习一门你喜欢的语言,嗯 那么我建议你学习c语言,c语言是使用最广泛的一种语言,  C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点。它由美国贝尔研究所的D.M.Ritchie于1972年推出,1978年后,C语言已先后被移植到大、中、小及微型机上,它可以作为工作系统设计语言,编写系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机硬件的应用程序。它的应用范围广泛,具备很强的数据处理能力,不仅仅是在软件开发上,而且各类科研都需要用到C语言,适于编写系统软件,三维,二维图形和动画,具体应用比如单片机以及嵌入式系统开发。

学好了c语言,学习其他语言来说就很简单了,前提是你必须掌握好c语言,这样 你就可以 更好的学习 接下来的事情呢

在学习c语言的过程中 你可以自己编写一些编写一些简单的程序,你可以模仿 可以抄袭,自己 动手敲一敲代码,我们可以从 hello world 开始,然后 你可以从杨辉三角 进行,

数据结构一定要 慢慢的进行学习数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

目前 程序员工资最高的是 Java 程序 所以啊 你可以选择学习java语言,希望你能学好它,这样就 这样程序员的道路上 走了会更好 希望你能关注我的 今日头条,有什么不懂的问题 你也可以 给我留言,欢迎给我点赞

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年7月4日
下一篇 2022年7月4日

相关推荐

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息