首先要学习什么?
我觉得可以先选一门简单的语言进行学习,这样可以先对编程有一个初步的认识,我学习的第一门语言是c,学得不精,简直就是入门中的入门。我觉得c、java、Python都是不错的入门语言,书籍可以直接百度 ----入门书籍。
然后这样一边认识编程,一边去了解自己想开发的东西需要什么技术,比如开发安卓要用java,网站要http://asp.net或php。详细的了解之后需要的就是不断地去补充这些自己不懂的东西。我觉得没有必要在第一门语言选什么上纠结太久,就我个人而言,才学编程对时候连什么是面向对象编程都不知道,根本无法知道自己真正需要的技术是什么,又怎么选呢?
我认为最重要的就是尽快选一个语言开始学习吧!
给自学成才的新手程序员的六个建议
1、让编程成为一个习惯
想要培养一尘基圆项技能的最好的办法,就是将他融入到我们的生活并成为我们的爱好。其实说白了,就是让这个爱好成为派塌一个习惯,一天不去做这件事情,都会觉得少了什么。在不知不觉中,这个习惯会像滚雪球一样积累起来。
对我来说,养成这种习惯首先就是要对“拖延症”说不。比如,你想锻炼下自己的写作能力时,但是没有好看的本子,没有好的灵感,没有安静的环境....总之就是找各种理由一拖再拖,最后就不了了之了。但仔细想想等你有了好看的本子,舒适的环境....就能写出好的文章吗?不!我很明确的告诉各位,文章的功底是随着你不断的积累而成的。所以,当我们决定去做某件事情,请立刻!马上!现在就要开始行动!
接着从小事入手,如果我决定开始跑步,那么最初只会要求自己每周跑两、三天。虽然看起来要求低,但这样的做法更容易长期坚持,且不会被其它因素所轻易干扰。
同样的思路也适用于学习编程。每周拿出几天,每天拿出几个小时,编程学习就这样慢慢步入正轨。如果大家觉得没心情阅读编程教材,没关系,视频网站上的技术讲座能够起到同样的作用。
2、锋毁把工作拆分成小块
对待编程工作,我们没必要像健身狂人那样一口气做到筋疲力尽。与其直接编程2小时,我们完全可以先做25分钟、而后休息5分钟,整个过程重复4次。很明显,25分钟这样的短周期更容易坚持也不会带来多少压力。
不过这样的方式应该配合更为灵活的执行思路。如果您感觉状态很好,而25分钟才刚刚完成热身,那就继续做下去并努力让自己抓住这种状态。
另外要向大家推荐蕃茄工作法,这是种学习新型技能的良好机制,因此推荐各位认真了解。
3、阅读别人的代码
经过这几年的编程学习,我认为想要提升编码水平的最佳途径就是多看、多写,然而阅读别人的代码也确实是快速提升代码水平的一个技巧。
4、寻找良师益友
5.写技术文章
如果大家学习了一种新的编程概念,但不能确定自己是否已经真正掌握,可以写技术博文加以检验。一来可以提高自己的编程水平,二来也能提高自己的知名度,将来找工作也会比别人多一个机会。
6.保持耐心
对于人生来说,其中任何目标的实现都离不开耐心。编程学习就如其它任何学习任务一样,都需要反复努力并投入大量时间。
在这个过程中,您一定会经历高潮与低谷——别被这些曲线影响了心情。接受已经发生的一切,并尽可能避免其中不好的部分。就像打高尔夫球一样,我们的手感总在不断浮动,但只要坚持到底,您最终总能成为一个大神呢~
一、程序员的分类
程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类:asp程序员、delphi程序员、php程序员、powerbuilder程序员、C程序员、linux程序员、net程序员、vb程序员、java程序员、javascript程序员、C++程序员、Python程序员、ABAP程序员、android程序员、iOS程序员。
二、所学的知识与必备技能
1、熟练开发软件
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVAOne很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,CBuilder,则橡歼正更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
2、熟悉数据库
很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库 *** 作方法。
3、了解 *** 作系统
要想成为一个真正的编程高手,需要深入了解 *** 作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。要懂得网络协议TCP/IP。网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEBServices,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,深入掌握TCP/IP协议是非常必要的。至少,需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。要明白DCOM/CORBA/XML/WEBServices存在的意义。DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布式计算的基石之一。
三、薪资待遇
程序员的薪资待遇分档次,大致情况是这样的:
初级软件工程师(0-3年开发经验),平均月薪(3000-8000)
中级软件工程师(3-5年开发经验),平均月薪(5000-12000)
高级软件工程师(5年+开发加2+管理),平均月薪(10000-90000)
一般只有刚毕业的初级工程师说的是月薪,中高级基本是年薪。
也有刚毕业就签的年薪的。这个是大致范围就这样,也有少部分低于3000或高于90000的 具体差别要看自己的,毕业院校,专业学历,专业能力,外语能力,职称等级,综合能力,以及梁悔所在城市还有自己的选择等。但最主要的是看专业能力的。
什么是程序员?
程序员是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序改旅员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)