㈠ 如何自学成为程序员
如何学习自学编程的方式最好的莫过于在网络上面查找资源。
目前,网络上电脑资源多不胜数。其中有很多都是基础到精通的视频教程。通过视频讲解。让你明白重点知识。你通过查找一套适合自己的视频。然后看完是基本。
这里推荐几个可以在线学习的好网站:慕课、极客学院、传智播客、如朋网、网易公开课等等做笔记在进行看视频的过程中,一定注意要记笔记。
对视频中重点的部分进行截图,并加以文字解释。就形成了自己的笔记。这些笔记对于你来说很重要。通过记笔记的形式,你就不需要重新观看视频了。只需要复习的时候查看笔记就够了,这样就大大的节约了时间。
下面介绍一个记笔记的好软件:CherryTree多练习代码在视频中讲解的代码,我认为你至少需要自己写三遍以上。在写代码的时候,就用到了上面写的笔记了。通过看笔记截图,即可自己慢慢摸索写出来代码。当然练习到一定程度,就需要你适当的做个项目。巩固自己的知识。
程序员必备技能
1、熟练开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和java是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。
而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。
其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
2、熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。
虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL,Postgres等。
3、了解操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。
Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。懂得网络协议TCP/IP。
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课。
网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。
至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
4、明白DCOM/CORBA/XML/WEBServices存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。
XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
5、不要将软件工程与CMM分开
大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合。
编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。
6、需求理解能力
程序员要能正确理解任务单中描述的需求。
在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
7、模块化思维能力
作为一个优秀的程序员,他的思想不能局限在当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。
这样做可以使代码能重复利用,减少重复的劳动,也能使系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
㈡ 没计算机基础做程序员难不难
据统计,大部分转行做程序员的都是0基础,并且这些人能通过学习找到一份不错的工作
说明没计算机基础转行做程序员是可行的
至于难不难,想告诉你的是,学一个陌生的技术,并且想找到不错的工作,难度必然会有的
你需要做的是通过深入了解,找到适合自己的学习方向:Java?前端?Python等
然后找一个好的老师带你入行,认真学习,多动手实践,遇到问题及时解决
再就是坚持学下去啦,坚持下去,你终会找到自己满意的工作的!
㈢ 一个27岁没文凭,想去努力自学编程,有机会成为程序员吗
27岁没有文凭,除了自学入门做程序员之外,还有哪些路可以走呢?
我想了一下,可以开店、做自媒体、学一门其他的手艺、做苦力(服务员、建筑工、外卖员、快递员)、滴滴司机等等。但是大家看一下就会发现,这些选项里面,要么天花板非常低,要么做成的难度很大。
但如果深度思考一下,进一步可以发现即使去掉没有学历这个条件,把有文凭加进去,想要有所成就,能够在大城市里立足同样举步维艰。这一点相信也不用我多说,大家了解一下每年的毕业生就业情况就了解了。
这说明了什么呢?
说明了一个很简单大家都知道的道理,想要往上走,突破当前的层次,获得更好的生活,更高的收入,这本身就是一件困难的事情,和有没有文凭其实关系不大。没有文凭做程序员是困难的,有文凭的程序员也海了去了,其中能够进入BAT拿到高收入的又有多少?能够转行管理,年薪百万的呢?又要少得多,能够财富自由的呢?更是凤毛麟角。所以从某种程度上来说,对他来说自学成为程序员至少不是一个差的选项,虽然它并不容易。
追梦的路上总是艰难,我个人的看法是,前路漫漫困难重重,但至少不该裹足不前。虽然未必能够如愿抵达,未必能够得偿所愿,但能进一步是一步,每前进一步总有一步的欣喜,也多少会见到一些新的风景。就像我做公众号,其实我也没有把握一定能够坐拥几十万粉丝,真的成为自媒体大佬,但能写一篇文章,能多坚持一天,总要离目标近一点。这样一点点积累下去,说不定有朝一日蓦然回首的时候,发现已经达成所愿了。
我不知道读者里有多少这样前路迷茫需要鼓舞的人,希望今天这篇文章能够给你们一点鼓励和力量,勇敢地出发,朝着自己梦想的地方前进。你也可以点赞关注我,与我一起前进。
㈣ 程序员真的很难吗
您好,非常荣幸能在此回答您的问题。以下是我对此问题的部分见解,若有错误,欢迎指出。展开全部
很多人问编程难不难?我想说那可不是闹着玩的。不从事这一行的永远不知道这行的艰辛,还咋巴着小眼睛问编程好不好学?
不知道诸位看没看过圣斗士星矢这部动漫,如果你想踏入编程殿堂,就要先想想那个被无数小孩子嘲笑的实力很菜只会死缠滥打经常被虐得体无完肤的主角星矢,首先你得问问自己,想学编程,你有没有像星矢一样持之以恒百折不挠一步一个脚印忍受常人无法想象的困难和痛苦的品质,没有?你说我开玩笑逗你,那好,下面的不用看了,因为你确实不适合学。
如果你只想着挣大钱,劝你别碰这行,一句话,别来找虐。为什么?你看到的手机APP,各种应用,要想开发出来,不知道需要多少种技术。拿最常见的网站开发,需要后台数据库mysql,数据格式json,xml,各种网络协议,还有网站开发语言PHP,
JSP,ASP.NET,等等不下十几种技术。而每一种技术都是一本厚厚的五六百页的书,需要最少一年多时间掌握一门技术。最要命的,每种技术互不交叉还跨度很大,每种技术都有自己的设计理念和很多很多“天坑”在等着你攻克,你问问你自己,你有这个恒心和意志力天天捧着本大部头的书天天看,天天上机操作学吗?你说有,那好,你看电视上那些富二代天天潇洒地到处游玩泡妞基本于你无缘了,因为你根本就没时间,谈个恋爱都困难,还想打网游玩王者?那算了,你还是别碰这行了,别耽误你玩游戏享受生活了。
学习编程,你上来就会碰到第一关劝退BOSS,环境搭建。如果只会个C++,JAVA可以有VS,
Eclipse帮助你,但是你要学那种新兴的语言工具,如cocos2dx, NodeJS, Android,各种服务器语言,Linux,
那对不起,各种环境配置能练得你头大,就算用上VS这种宇宙无敌IDE,
学编程还是会碰到无休无止的各种编译错误,运行时错误,很多时候编译器给出的出错语句非常费解,全英文的哦,还是高浓缩科技英语,还经常真实出错原因跟IDE的出错提示差了十万八千里,这个时候只能依赖您丰富的编程排错经验,不行只有网络,google,专业论坛海量搜索,碰运气了,看是不是有高人也遇到同样的问题,很多情况下你发的帖子石沉大海,没人回答,这个时候是你最容易放弃被劝退的时候,少年们,觉悟吧。这个时候如果你没有星矢那样反抗命运不公,被打倒多少次都要站起来不服输的勇气,半途而废是你注定的结局。
程序员加班很恐怖,工作制通常是996,即早9晚9周六还要上班,晚9下班还是早的,一般到晚上十点。你想那时夜深人静了人家都休息抱着老婆睡觉了,你还在工作中,F9, F10, 不对,重来,这听上去是不是很崩溃?
第2,程序员耗脑太严重。工作中需要十几个小时大脑不停地运转。需要设计算法,不断地把代码改来改去来适应客户一天几变的需求。很多功能没有现成的解决方案,还经常遇到一些天书一样的疑难问题,bug,实际工作中突发状况千奇百怪,你可能见都没见过的bug,崩溃,需要一点一点查几万行的log日志。而且也需要网络,google,英文论坛寻求帮助,理解错误信息是什么意思。所以英文不好的没耐心的还是算了吧,不适合这行。
第3.
程序开发首先是非常难学的,任何一门编程语言都有自己独到的思想,概念设计,很多情况下一门语言与另一门语言没有多大关系,知识经验无法串用。而且工作中你还不得不用到这些技术你不得不去学。而且程序技术日新月异,新类库新SDK每天都会推出,你需要日复一日不断地学习新技术。如最新视频解码技术,游戏引擎等等,而这些新技术可是国内没有书和任何资料的,需要你到英文官方网站去找实例看文档去学,更要命的,新的技术和老的还没太大关联,你得重头去学。而且老板急赶项目不会给你什么时间,一般三天就是极限了,你需要这么短的时间快速掌握一项新技术...
综上,你明白程序员为什么总要加班了吧,也知道这行不是人干的吧。为什么说程序员干到三十干不动。很简单,以这种消磨人生所有时间状态,你生命中只有加班加班工作工作学习学习,你将不能顾家不能跟朋友聚会不能再有自己一点点休闲时间,更别说谈女朋友恋爱了,以这种状态你能坚持到三十岁?我想那简直是个奇迹了非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
㈤ 做程序员难不难怎么快速入门
做程序员难不难因人而异,就是如果你的技术水平很不错的话那就不会觉得难,如果你是菜鸟的那就很非常的吃力的。快速入门的话三种方式供你选择:一种是自学,当然你要有些基础还要有不错的学习能力及自制力。一种是报班学习,这个是学的最快的但是需要教学费。还有一种是线上学习,这个需要找到不错的视频教程,你想学的话可以看看扣丁学堂的教程。以上三种供你选择,祝你好运。
㈥ 程序员累吗
程序员这份工作还是比较累的。程序员最主要的工作开发程序,从网页开发,APP开发,客户端软件的开发,都是程序员做代码开发的,这是大多数程序员的工作职责。
有的程序员还有更高层次的工作,比如架构,统筹整个项目的开发,比如使用什么开发语言,使用什么数据库,分多少阶段来完成,每个阶段要完成什么内容等等。
程序员的职业要求
一般的程序员都有在专业领域的学习,还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。
尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。
一个程序员虽然没有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。
㈦ 学程序员前景怎么样
随着大数据,云计算,物联网,人工智能的火热发展,需要大量的从业人员,软件编程薪资待遇一直比较高,而且刚过完年,京东,阿里又要招聘相关从业人员,而且凡是进入这个行业的开发人员工资都是水涨船高,有个几年年的工作经验的反而会更好找工作,薪资会越来越高
编程算是一个门槛比较高的职业了,长期以来都是供不应求的,而且从这么多年看来,需求量始终不减,工资一直都是比较高的,即使之后学编程的人越来越多,只要是属于前20%的,何愁应聘时工资会降低呢
从个人角度来看,编程从现在以及随后几十年间都是一个非常有前景的行业,除非到了市场非常饱和,程序员遍地都是的情况,但目前显然不是,去任何一个公司招聘人员上看,互联网行业都算是比较火爆的行业,招录程序员的不在少数,工资比一般水平要高很多,即使像文科出身的,都想要在业余时间学编程,但可惜自学难度太高,又没有系统的时间去报班学习,实在是一大遗憾
那么,我们来聊聊编程难吗?
很多时候,做的事情其实没有我们想象的那么难,只是我们把他想难了,举个例子,我们都知道要学好一个技术做好一件事,必须要掌握一万小时定律,其实这个观点说对也对,说错也对,怎么讲呢?一万小时定律是需要成为专家级别的人语言奋斗的时间,而真正学习一门技术,如果只是入门,其实仅仅只需要二十小时,如果每天花两小时来建议,那么入门也就十天就可以搞定,编程也是如此,如果我们仅仅只是入门,其实真的在我看来找准方法,十天半个月足够了,当然如果说要找到工作,那估计要四个月到半个月的每天学习努力
怎么学习?
重视基础,这个不是喊口号,很多人学习编程眼高手低,觉得自己能看懂,能随便写点东西就算学会了,问了一些基础东西一问三不知,还不服气说会编程就好,要懂那些做什么,这是最大的错误,基础很重要,例如,你不知道面向对象的编程语言特点,你如何去做方法的封装?如何去做类的继承和如何能明白别人写这段代码的时候为什么要这么处理?这些都是基础能告诉你的
编程是个手脑并用的活,光看懂明白是没有用的,如果不用手去敲一下代码永远不知道自己会饭什么错,我曾经因为一个空指针问题排查了一个小时,也因为一个地方没写分号找了半天,这些都不是看书就能得来的经验,在我烦了这些错误之后我会总结,记下来,作为我自己的经验,然后下次再遇到就知道自己曾经在这里犯错了,就会小心不在犯错
㈧ 我想做程序员,这个好做吗
看你的问题大概只是身边的人在做这块但是你并不了解。
1 程序员是笼统的叫法,一般会被认为是前端或者后端开发这类。像做java开发这种,但是如果你逻辑思维不太可的话,会很难学会。就算去找了个机构培训上岗了,过几年还是会做回老本行。身边见过蛮多这样的例子,如何你逻辑思维可,那没问题的。可以去一些网站找找视频看,先敲最简单的代码试试喽。
2 其实IT行业还有像新媒体运营电商这类也不错的,这种类型的工作需要脑子活,就是思维比较有发散性。
3还有一种是UI设计 ,在二线的话招聘的多的是平面,这个要是有一定的审美工资也不错的。
4 还有一种程序猿是做软件测试的,也就是在程序上线前后测试。这种难度不大,岗位大多为女生。当然一般测试的工资也比较稳定,加班相对来说少一些的,也有高的,看能力,一般在一线城市岗位比较多。
㈨ 自学编程可以吗,难度大不大啊
要说编程难不难,这给你总结下编程的难点吧:
1、初学者。编程是用计算机语言和计算机交流,你输入什么,你期望计算机理解之后,输出你需要的结果。所以这个过程可以概括为“输入–计算–输出”。学习一门计算机语言,说难不难,说易也不太容易,为什么呢?如果你是编程的初学者,你要上手一门语言,是非常困难的(天才除外);但如果你是精通一两门语言,再去学其他语言,可以说一个星期就能熟悉。所以,对大部分初学者来说,编程语言是难点。
2、编程思想。程序员一定要有编程思想。跳过初学者这一关,假设你可以对任何语言顺手拈来、即插即用,那么,你水平就一定很高了吗?其实不然,这只能说明你学习能力上一层楼了,但并不说明你就多么厉害。比如,你熟悉设计模式吗?设计系统的时候有没考虑扩展性?是否考虑到性能问题……如果整天只做crud,不去关注以上问题的话,瓶颈是很难突破的。那么编程思想何来?就要平时多阅读这类的书籍和文章,比如设计模式,比如高并发系统设计相关知识等。除此以外,还要多思考,为什么这样设计,所谓学而不思则罔,思而不学则殆!
3、沟通能力。好了,即使你掌握多种语言,又可以把系统设计要得很溜了,但是如果你是个不会说话的哑巴,你就无法表达出自己的思想,无法向老板展现你的才能,那么你的职业生涯会受到很多限制。我自认为本人的沟通能力是弱项,自己也在不断努力改善这点。现在每次参加讨论的时候都会积极发言,表达自己的观点,除此之外还报了一些口才课,来提升自己的表达能力。
当然,每个人的逻辑思维能力不同,兴趣点不同,总有一部分人觉得容易,一部分人觉得吃力。但只要你想学,肯定能学会。
学习编程是一个漫长而痛苦的过程,需要持之以恒的耐心,千自万不能急于求成。对于一名初学者来说,最重要的还是打好基础。说实话入门不难,但是想做精就比较困难了。
㈩ 程序员50万年薪难不难
程序员50万年薪难。
想要做到年薪50万,程序员工资年薪10万起步是很正常的一件事,首先你自己必须是高水平的程序员。但是也有高薪这也是很多人想要学IT做程序员的原因。那么年薪50W对于程序员来讲,也不是触不可及的事情。相当于网络T6,阿里P7,腾讯T3的级别。
工资是对一个人的价值的衡量。程序员工资高,这个不是由一家公司说了算,也不是某一个程序员自己制定的价格基准,而是由市场决定的。所以如果市场上普遍对程序员的工资都比其他类型的职位高,说明是稀缺且珍贵的资源,市场需求量大,需求是大于供给的。
能年薪50万的程序员至少自身能力,工作年限长,经验丰富,他们的共同特点是10年以上的工作经验,在大公司当过螺丝钉,也在创业公司做过技术leader,有些有过一两段不算成功的创业经历。这样的程序员无论是去BAT还是去创业公司,都能拿到50万年薪以上的offer。
过硬的技术实力和学历学历虽说在IT行业不重要,但是六星也提到过,学历是敲门砖。 真正的技术高人,虽然前面说技术水平不是决定薪水的唯一因素,但如果技术牛到一定程度,高薪offer也是探囊取物。
正确的技术方向,互联网的发展方向在哪里,主攻语言选择哪个,是传统的技术公司还是新兴的互联网公司,我们从一开始就在做选择,毕竟,连我们做一名程序员也是我们自己做出的职业选择。站在风口,猪都会飞,同样的技术实力,善于发现和判断机会的人,永远占据先机。