回答这个问题答案很明确,就一个字:难!而且非常难!
为什么难?为什么有很多人却说不难?比如有一期微软公司总裁来作客什么节目谈及软件开发对初学者说软件开发只有加加减减,非常有意思。吸引众多人对学软件趋之若鹜...
我只想说:这些说法都是不负责任的人在对你说的忽悠,仅此而已,他们根本没写过一行代码没学过一天C++编程语言,就大言不惭,实在让人为他们脸红?
软件开发难吗?这和学武术差不多,谁都喜欢动作电影里的动作明星,谁都想要一点好身手。那你问一问格斗家说学武难吗?你想他们会跟你说武术一点也有不难,只要有悟性即可...
软件开发也一样,难度丝毫不比学武术低,即不有趣,也不好玩。而且需要一定的智商悟性,智商不足怎么办?只有比人家付出十倍百倍的努力来学习获得经验了,所以说这行的难度跟其他行业比起来就是一个天上一个地上,网吧收银员可以看着电影混过一天,一个有经验的老中医懂了家传绝活之后可以吃一辈子。但软件开发不行,入门写个helloworld可能简单点,但稍一深入,你就会发现它的深奥费解之处了。
做不做软件开发,关键看你喜不喜欢这行了,软件开发非常有魅力,就像天堂来的天使一样吸引着很多求知的年轻人,工资很高回报极其丰厚,但学习和开发的难度和工作压力跟其他行业相比不可同日而语,那可不是闹着玩的。如果热爱软件开发就坚持下去吧,不过没完没了的环境搭建,各种天书一样的疑难BUG,内存泄漏和近乎无解的三天两头学习新技术新工具新SDK,上google,baidu和英文网站搜解决方案在等着你,那可不是什么只有加加减减,你解决不了问题随时会被公司开除,公司老板不懂开发不了解开发难度,他们只想要什么问题都能瞬间秒解的高手,所以软件开发需要智商的。同时更需要坚持,没有圣斗士星矢的执著是坚持不下去的。
学软件开发?那可不是闹着玩的。不知道LZ看没看过圣斗士星矢这部动漫,首先你得问问自己,你有没有像星矢一样持之以恒百折不挠一步一个脚印忍受常人无法想象的困难和痛苦的品质,有没有勤奋好学咬定青山不放松的决心。
你看到的手机APP,各种应用,要想开发出来,不知道需要多少种技术。拿最常见的网站开发,需要后台数据库mysql,数据格式json,xml,各种网络协议,还有网站开发语言PHP, JSP,ASP.NET,等等不下十几种技术。而每一种技术都是一本厚厚的五六百页的书,需要最少一年多时间掌握一门技术。最要命的,每种技术互不交叉还跨度很大,每种技术都有自己的设计理念和很多很多“天坑”在等着你攻克,你问问你自己,你有这个恒心和意志力天天捧着本大部头的书天天看,天天上机操作学吗?你说有,那好,你看电视上那些富二代天天潇洒地到处游玩泡妞基本于你无缘了,因为你根本就没时间,谈个恋爱都困难,还想打网游玩王者?那算了,你还是别碰这行了,别耽误你玩游戏享受生活了。
程序员加班很恐怖,工作制通常是996,即早9晚9周六还要上班,晚9下班还是早的,一般到晚上十点。你想那时夜深人静了人家都休息抱着老婆睡觉了,你还在工作中,是不是很崩溃?
第2,程序员耗脑太严重。工作中需要十几个小时大脑不停地运转。需要设计算法,不断地把代码改来改去来适应客户一天几变的需求。很多功能没有现成的解决方案,还经常遇到一些天书一样的疑难问题,bug,实际工作中突发状况千奇百怪,你可能见都没见过的bug,崩溃,需要一点一点查几万行的log日志。而且也需要百度,google,英文论坛寻求帮助,理解错误信息是什么意思。所以英文不好的没耐心的还是算了吧,不适合这行。
第3. 程序开发首先是非常难学的,任何一门编程语言都有自己独到的思想,概念设计,很多情况下一门语言与另一门语言没有多大关系,知识经验无法串用。而且工作中你还不得不用到这些技术你不得不去学。而且程序技术日新月异,新类库新SDK每天都会推出,你需要日复一日不断地学习新技术。如最新视频解码技术,游戏引擎等等,而这些新技术可是国内没有书和任何资料的,需要你到英文官方网站去找实例看文档去学,更要命的,新的技术和老的还没太大关联,你得重头去学。而且老板急赶项目不会给你什么时间,一般三天就是极限了,你需要这么短的时间快速掌握一项新技术...
综上,你明白程序员为什么总要加班了吧,也知道这行不是人干的吧。为什么说程序员干到三十干不动。很简单,以这种消磨人生所有时间状态,你生命中只有加班加班工作工作学习学习,你将不能顾家不能跟朋友聚会不能再有自己一点点休闲时间,更别说谈女朋友恋爱了,以这种状态你能坚持到三十岁?我想那简直是个奇迹了
回答这个问题答案很明确,就一个字:难!而且非常难!
为什么难?为什么有很多人却说不难?比如有一期微软公司总裁来作客什么节目谈及软件开发对初学者说软件开发只有加加减减,非常有意思。吸引众多人对学软件趋之若鹜...
我只想说:这些说法都是不负责任的人在对你说的忽悠,仅此而已,他们根本没写过一行代码没学过一天C++编程语言,就大言不惭,实在让人为他们脸红?
软件开发难吗?这和学武术差不多,谁都喜欢动作电影里的动作明星,谁都想要一点好身手。那你问一问格斗家说学武难吗?你想他们会跟你说武术一点也有不难,只要有悟性即可...
软件开发也一样,难度丝毫不比学武术低,即不有趣,也不好玩。而且需要一定的智商悟性,智商不足怎么办?只有比人家付出十倍百倍的努力来学习获得经验了,所以说这行的难度跟其他行业比起来就是一个天上一个地上,网吧收银员可以看着电影混过一天,一个有经验的老中医懂了家传绝活之后可以吃一辈子。但软件开发不行,入门写个helloworld可能简单点,但稍一深入,你就会发现它的深奥费解之处了。
做不做软件开发,关键看你喜不喜欢这行了,软件开发非常有魅力,就像天堂来的天使一样吸引着很多求知的年轻人,工资很高回报极其丰厚,但学习和开发的难度和工作压力跟其他行业相比不可同日而语,那可不是闹着玩的。如果热爱软件开发就坚持下去吧,不过没完没了的环境搭建,各种天书一样的疑难BUG,内存泄漏和近乎无解的三天两头学习新技术新工具新SDK,上google,baidu和英文网站搜解决方案在等着你,那可不是什么只有加加减减,你解决不了问题随时会被公司开除,公司老板不懂开发不了解开发难度,他们只想要什么问题都能瞬间秒解的高手,所以软件开发需要智商的。同时更需要坚持,没有圣斗士星矢的执著是坚持不下去的。
高中学历的知识储备在你做初级甚至某些中级开发是够用的,再往上就有难度,会涉及到很多高等数学之类的知识。但个人认为70%以上的程序员止步于初、中级开发者也过得算舒服
2、需要有一定的英语基础,不一定要多好,但是你知道程序开发都是使用的英文(用易语言的不叫程序员,不是看不起它,但是你总不能拿个美图秀秀叫做你会美工对吧,一个道理)。某些情况下直接查询英文社区可能会得到更快的解决方案。另外很多开发文档都是纯英文的。当然,如果你实在英文不行,这条也关系不大。
3、这条很重要,你一定要有强烈的兴趣和持续学习的心理准备和行动力。走向工作岗位之后你会发现很多东西需要你边做边学的。学校学的永远不够用。
4、这条更重要,如果你是因为怕吃苦或者成绩不好干脆没上大学,或者觉得学其他东西麻烦,觉得软件开发坐着吹空调写写代码就能赚钱,所以想学的话,建议你脚踏实地一些。
5、如果以上你觉得都能做到,那么个人觉得,由浅入深慢慢入门难度不会太高。
学习软件编程是一个艰苦而漫长的过程,需要持之以恒的耐心,千万不能急于求成。对于一名初学者来说,最重要的还是打好基础,建议从C语言开始入门,C语言作为基础语言,大多数的高级编程语言都是在C语言的基础上演化而来的,学好了C语言,有助于掌握其他的高级语言,并掌握软件编程。