学软件开发?那可不是闹着玩的。不从事这一行的永远不知道这行的艰辛,还咋巴着小眼睛问编程好不好学?
不知道LZ看没看过圣斗士星矢这部动漫,首先你得问问自己,想学编程,你有没有像星矢一样持之以恒百折不挠一步一个脚印忍受常人无法想象的困难和痛苦的品质,没有?你说我开玩笑逗你,那好,下面的不用看了,应该你确实不适合学。
如果你只想着挣大钱,劝你别碰这行,一句话,别来找虐。为什么?你看到的手机APP,各种应用,要想开发出来,不知道需要多少种技术。拿最常见的网站开发,需要后台数据库mysql,数据格式json,xml,各种网络协议,还有网站开发语言PHP, JSP,ASP.NET,等等不下十几种技术。而每一种技术都是一本厚厚的五六百页的书,需要最少一年多时间掌握一门技术。最要命的,每种技术互不交叉还跨度很大,每种技术都有自己的设计理念和很多很多“天坑”在等着你攻克,你问问你自己,你有这个恒心和意志力天天捧着本大部头的书天天看,天天上机操作学吗?你说有,那好,你看电视上那些富二代天天潇洒地到处游玩泡妞基本于你无缘了,因为你根本就没时间,谈个恋爱都困难,还想打网游玩王者?那算了,你还是别碰这行了,别耽误你玩游戏享受生活了。
程序员加班很恐怖,工作制通常是996,即早9晚9周六还要上班,晚9下班还是早的,一般到晚上十点。你想那时夜深人静了人家都休息抱着老婆睡觉了,你还在工作中,是不是很崩溃?
第2,程序员耗脑太严重。工作中需要十几个小时大脑不停地运转。需要设计算法,不断地把代码改来改去来适应客户一天几变的需求。很多功能没有现成的解决方案,还经常遇到一些天书一样的疑难问题,bug,实际工作中突发状况千奇百怪,你可能见都没见过的bug,崩溃,需要一点一点查几万行的log日志。而且也需要百度,google,英文论坛寻求帮助,理解错误信息是什么意思。所以英文不好的没耐心的还是算了吧,不适合这行。
第3. 程序开发首先是非常难学的,任何一门编程语言都有自己独到的思想,概念设计,很多情况下一门语言与另一门语言没有多大关系,知识经验无法串用。而且工作中你还不得不用到这些技术你不得不去学。而且程序技术日新月异,新类库新SDK每天都会推出,你需要日复一日不断地学习新技术。如最新视频解码技术,游戏引擎等等,而这些新技术可是国内没有书和任何资料的,需要你到英文官方网站去找实例看文档去学,更要命的,新的技术和老的还没太大关联,你得重头去学。而且老板急赶项目不会给你什么时间,一般三天就是极限了,你需要这么短的时间快速掌握一项新技术...
综上,你明白程序员为什么总要加班了吧,也知道这行不是人干的吧。为什么说程序员干到三十干不动。很简单,以这种消磨人生所有时间状态,你生命中只有加班加班工作工作学习学习,你将不能顾家不能跟朋友聚会不能再有自己一点点休闲时间,更别说谈女朋友恋爱了,以这种状态你能坚持到三十岁?我想那简直是个奇迹了
高中学历的知识储备在你做初级甚至某些中级开发是够用的,再往上就有难度,会涉及到很多高等数学之类的知识。但个人认为70%以上的程序员止步于初、中级开发者也过得算舒服
2、需要有一定的英语基础,不一定要多好,但是你知道程序开发都是使用的英文(用易语言的不叫程序员,不是看不起它,但是你总不能拿个美图秀秀叫做你会美工对吧,一个道理)。某些情况下直接查询英文社区可能会得到更快的解决方案。另外很多开发文档都是纯英文的。当然,如果你实在英文不行,这条也关系不大。
3、这条很重要,你一定要有强烈的兴趣和持续学习的心理准备和行动力。走向工作岗位之后你会发现很多东西需要你边做边学的。学校学的永远不够用。
4、这条更重要,如果你是因为怕吃苦或者成绩不好干脆没上大学,或者觉得学其他东西麻烦,觉得软件开发坐着吹空调写写代码就能赚钱,所以想学的话,建议你脚踏实地一些。
5、如果以上你觉得都能做到,那么个人觉得,由浅入深慢慢入门难度不会太高。
如果有基础还是好学,你要自学的话最好去买一点视频来看,坚持每天都看视频,然后视频的笔记做好,视频的课后题也要做。时间久了,就会积累编程经验然后就是能生巧了。在学习的时候,可以百度,编程的问题在百度都能找到。
不难,开发主要是要掌握一门计算机编程语言,其次就是算法的学习,算法就要求你有一定的逻辑思维能力,总的来说也不是很难。
软件开发也不是很难,主要你要从计算机编程语言开始学,入门了还要学习算法,主要还是要有一定的逻辑思维,学起来就没什么问题了。