‘壹’ 怎么成为一名程序员,要从哪里开始学起,先学什么在学什么
答:
首先你要清楚程序员也分很多种,从语言分,有C,C++,C#,JAVA,Delphi等等,你要考虑好弄自己向哪部分发展。
一般如果没什么理解可以从C语言学起,因为C语言比较贴切于机器语言,大学里面一般也都是先学C的,学好了C语言,可以触类旁通,更容易学其他的语言。
2.Java据说是现在最热门的(所有程序员都觉得自己用的那个语言最牛逼),IOS或者android学了可以做手机软件哦,Delphi和C#是用控件拖出自己想要的结果,然后在后台写代码的,不过有人说Delphi相对落伍了,但好些大公司还是在用Delphi来搭框架的。
3.选定好语言后,如果觉得自己理解能力动手能力超强的话,自己买本入门的书,或者网上看些教学视频,边看边实践。不过这个对于初学者来说真的挺难的,因为第一次的话,可能连环境都搭不好,用来编程的软件对初学者来说还是蛮麻烦的一种软件,不是这个不行,就是那个设置错了,或者连一些基础的窗口啊工程啊项目啊的概念都没有,网络起来又要答案一个一个看,浪费时间。而且还要自己搭数据库啊什么的,真的很难。有老师教的时候,还能挂科一大片的。不过入门了,之后就简单了,自己随便找本书,学学代码用法啊,照着打就可以了。
拓展资料:
程序员(英文Programmer)是从事程序开发、程序维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、中级程序员、高级程序员(现为软件设计师)、系统分析员,系统架构师,测试工程师六大类。
岗位职责:
1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。
2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。
3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。
4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。
5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。
6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。
7、负责相关技术文档的拟订。
8、负责对业务领域内的技术发展动态进行分析研究。
网络词条 程序员
‘贰’ 程序员如何进阶
程序员是一个没有极限的职业,所以要成为一个成功的程序员,你就需要不断的超越极限。在程序员职业生涯的开始阶段,他们将面临许多挑战,面对困境,他们之中有一些人将会放弃,而只有少数人会坚持到底,并成为这个领域的领头羊。
1.学习新技术
随着新技术的不断进步,我们学到和实施的技术会很快地过时。所以,作为一个程序员,你就需要了解与学习这些新技术,保持与时俱进。出现的这些所谓的新技术通常由一些进程和语法变化而构成,但逻辑是相通的,所以你可以很快地掌握,不要害怕去学习。
2.调试技巧
程序员不但需要创建代码,当软件未能按照预期方式工作时,程序员还必须能够快速而有效地解决问题。
3.解决问题的技巧
当一名程序员获得项目时,会直接写代码。但一名进阶的程序员会试图找出代码出现问题的根源,并通知团队领导或项目负责人。因为有时在文档化项目需求并启动项目后,甚至在完成项目后,我们才会在项目中遇到一些问题。所以最好在出现问题之前先找到问题。最好可以快速地找到解决问题的方法。
4.对工作的热情
我们的工作时间大多为朝九晚五,但是当你对工作迸发激情时,那么不要到了休息日就将工作束之高阁。一直工作直到完成它。当然,我的意思不是说如果你没有解决方案,还得成天垂头丧气对着电脑,我的意思是如果你已经接近于完成的时候,那么索性一鼓作气搞定吧。
‘叁’ 与代码有关的工作阶段有什么
如果系统比较复杂,那应该在系统架构明确,概念清晰的时候开始。如果系统简单,...
至于如何判断系统复杂程度,一般依据参与员工的数量和经验。大多数企业都有自己...
‘肆’ 程序员成长过程
序员是一种技术工作,在IT的发展中有相当重要的地位,从底层硬件通讯协议的建立, 到数据传输层的处理,到操作系统的建设,到数据库平台的建设,一直到应用层上各种数 据营销平台的搭建,程序员在里面都扮演着举足轻重的角色并为IT事业的发展做出了巨大 的贡献。
中国有很多精于编码的人,但是中国软件行业,尤其是网络应用开发方面误区很大,很难形成有规模的软件开发力量和产品能力,不但比美国差距甚远,和印度相比也是颇有不如。这些问题不是在于中国程序员的智商和工作努力状况,也不是在于国家和民间对开发的投入程度,而是很大程度上,有一些对技术,对程序开发,对项目设计方面的思想误区,这些误区,导致了软件行业的产品化能力不足,缺乏规模化和大型复用系统研发能力,可以说,改变认识误区,是解决软件行业小作坊模式和个体英雄模式所带来的局限性 的重要工作。
中国有很多小朋友,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,这些人,一个网上的朋友说得很好,他们实际 上只是一些Coding fans,压根没有资格称为程序员,但是据我所知,不少小网络公司的 CTO就是这样的coding fans,拿着吓人的工资,做着吓人的项目,项目的结局通常也很吓 人。
‘伍’ 网站程序员的程序员成长之路大概分几个阶段 和未来的发展
信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,如何才能成为一名合格的程序员,一名合格的程序员需要掌握哪些技能呢?为此天天招生网采访到几位孳生的程序工作人员,就如何做好一名成功的程序员谈出了自己的经验。
熟练掌握开发工具
做为一名程序员至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C和JAVA是重点推荐的开发工具,C/C以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而JAVA即其相关的技术集JAVA One很可能会成为未来的主流开发工具之一。其次,能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
熟知数据库
为什么数据库是如此重要?作为程序员,他们自然有自己的理由:很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。
对操作系统有一定的了解
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。
懂得网络协议TCP/IP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
明白DCOM/CORBA/XML/WEB Services存在的意义
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
不要将软件工程与CMM分开
现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。
拥有强烈的好奇心
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
如果您正为如何成为一名合格的程序员而发愁的话,希望以上文字能为您排除一些顾虑和问题。如果您想获得更多有关程序员的信息,那么请随时关注天天招生网,我们将在最短的时间内提供最
真实,最准确的相关信息。
‘陆’ 程序员一般要学多久
如果零基础,全日制学习,一般需要4个月左右,时间太短应该学不会。有短期的4个月和长期的2年,费用一般在1万。
一般学习it技术需要花费的学费是不一样的,不同的地方收费标准也是不一样的,在学习信息技术的时候,初学者经常犯的错误是只要速度,而不注意基础知识的学习,这样无论是学习后期,还是参加工作后,都会觉得很难,因此一开始就要牢牢掌握计算机的基础知识,比如软件系统,计算机网络知识和数据库知识。
(6)程序员阶段扩展阅读:
程序员培训注意事项:
弄清楚整体流程,掌握全局才能形成清晰的思路,就如同写作文要先写提纲一样。
理顺各个模块之间的关系,才能更好的衔接各模块来完成相应功能。
做接口时,要考虑使用者的感受是否易用,并且尽可能少的向使用者暴露内部的实现过程,简化使用过程。
正常分支总是少数,大部分情况下都是异常分支,可以用2-8定律来形容,因此对异常处理很重要。
‘柒’ 从程序员到架构师要经历哪些阶段
架构师是什么?
架构师这词其实很有意思,很多人的Title是这个,但其实我们对架构师都干什么并没有太统一的认识。往大了说,比尔盖茨当年好像也称自己为架构师,往小了说随便一个小的软件上做设计的也说自己是架构师。所以如果把这个词泛化而不局限于特定的场景,估计单是说清楚什么是架构师就要花费不少口水。下面我们用一个取巧的办法,在一个具体的场景下来看看,架构师都该干什么,而不把这个词泛化,如果在特定场景下这个角色应该干什么清楚了,那它就可以为其它场景下提供不错的参考。
我们只考虑从头开发一款产品的场景,不考虑这款产品可能是个家族,可能需要在公司里与许多东西配合这样繁琐的事情。这样问题就简化成:当我们要开发一款新产品的时候,架构师都要干些什么?为让事情更具体,我们进一步假设公司想做一个Trello,Worktile这样的协同办公工具。
在产品初期除了UI这类东西,还能明确的一些关键需求大概是这样:
简单、迅速,追求极致的用户体验,这时也许能想到看板这样的功能
打入社交元素(任务分配与沟通时打入信息流的机制)
移动端支持
公司判断:如果产品能在1年内上线,时机比较好
其他的需求呢就是感觉上肯定有,但暂时说不清楚
基于这样的简单提示,长做程序的可能脑子里会立刻冒出来无数东西,比如:
快的确保?
看板里拖动的实现?
SaaS时伸缩性的确保?
数据库中表的设计?
数据库类型的选择?
移动端的支持方式?
人员的现状?
迭代式开发的支持?
... ...
但显然不是每个事情都要在架构设计阶段搞定,否则等于是被弄蒙了,这时候架构师的一个关键职责就是要能区分出哪些东西预先需要搞定,而哪些东西则要在迭代过程中解决。
一般来讲重置成本越大,牵涉的人越多的事情越应该由架构师预先搞定,否则就容易做无用功,对开发工作产生致命伤害。具体来讲这类事情由三个核心部分组成:
选定Tech Stack
概要设计,确立分工的基础
协同方式
下面来分别解释下这三个方面的具体含义。
选定Tech Stack是指要选定包括编程语言,基本框架等一系列东西,比如Trello选完之后大致是下面这个样子:
http://www.csdn.net/article/2014-07-28/2820883
‘捌’ IT行业大多数技术人员的成长阶段大致分为哪几个呢
第一阶段:学徒阶段
这个阶段有些人是在学校里完成,有些是通过自学完成,有些人是半路出家通过各种教育平台完成。这个阶段,刚接触代码不久,有些问题变如同雾里看花,但终究是开始行动了,所以这个阶段过得很快,心态上可能还是觉得前路不清晰但已经逐渐有了成就感。
第二阶段:初级程序员
这个阶段的人通过学习已经掌握了一部分的技能,比如知道如何团队协作、项目版本如何控制、如何使用项目管理工具、如何让代码顺利运行上线等等,这个阶段也许做了一些小的项目便开始觉得自己会得东西不少,其实只是算个半吊子程序员,这个时期的程序员很容易觉得其他程序员也不过如此。
第三阶段:中级程序员
这个阶段的程序员已经掌握了进阶的技能,并逐步确立了自己的专长,在职场中开始能够独立承担项目,并会有意识地去学习。这个阶段像一个分水岭,有些程序员除了工作不研究其他的技术,虽然在工作中很容易完成任务,但很容易就被更加年轻的程序员所代替;有些人则是不断的提升自己,热衷于研究各种技术实现细节,多和他人讨论,多看了很多书籍文献,这些人有着自己的规划,在工作几年后就是项目组中不可或缺的人。这个时期他们的薪资暂时没有太大的差距体现,也是在程序员平均水平。
第四阶段:高级程序员
这个阶段对各种编程已经有了自己的认识,一些程序员脱颖而出开始带领团队。这个阶段的程序员基本上在公司担任CTO、技术专家、首席架构师等非常关键的职位。随着自己知识的深度和广度的提高,反而会觉得自己需要学习的东西更多了,在这个阶段,他们对于团队在工作中遇到的问题,基本都能解决,因为很多知识都自成体系了,站在更高的角度宏观的看待问题。
第五阶段:自我创业
这个阶段的程序员已经有了自己的资本和人脉,很多人开始选择自我创业,哪怕不想自己成为老板也会选择与人合作创办公司,他们有些是为了实现自己的理想,有些是为了能够获得更高的生活,这个阶段的程序员已经不是单纯只考虑编程本身了,还会开始接触很多商业知识。
以上就是我的回答,希望对你有所帮助
‘玖’ 如何从初级程序员过渡到中高级程序员
在程序员圈,一直流传着这样一个传说,用发量来判断程序员的级别,这明显是种调侃。那么,中级程序员,相对于初级程序员,有哪些不一样的特质呢?
总得来说,比较于初级而言,中级程序员在执行层面属于攻坚力量,他们不仅能独立完成高档难度的开发使命,并且在用户体验(质量提高)和功能优化(优化效率)都能作更全面的考量。
以下,是小编总结的关于中级程序员七大特点,各位可以对号入座。
(一)善于沟通
程序员内向的居多,喜欢交流的很少,但中级程序员往往能够克服自己的内新的恐惧心理,多和同事交流。
甚至有管理者认为,程序员应该80%的时间,花在同事的交流上。不仅是部门内的同事,也还包括跨部门沟通,敲代码的需要经常与产品经理、运营的同事沟通需求。
日本不少跨国公司,甚至有让程序员去体验几个月销售员的传统。公司要求,程序员在敲代码的同时,也要能够理解一线用户的需求。
交流对于初级程序员了解技术的发展,也相当有好处:读读博客、学学新语言和框架、讨论讨论话题、看看同行在做什么。自扫门前雪,很难成为一个优秀的程序员。闭门造车型的程序员终将被时代的潮流所淘汰。
(二)对编程有激情
有些程序员干这一行只是为了挣钱,如果有更好的职业,他们会毫不犹豫的辞掉程序员的工作。
能够顺利晋升为中级程序员的人,往往热爱编程,喜欢钻研代码中的问题,他们感到能指挥电脑来帮助人们和自己解决现实生活中的问题是一种神奇的能力。当遇到问题无法解决时,他们会茶不思、饭不想,无法入睡。
每个人都有心理上的舒适区,但是中级程序员,会不断地突破自己心理上的舒适区。
他们很乐于经常去研究没有接触过的代码,也正因为这样,成长速度快的中级程序员会越来越熟悉不同的代码结构和设计模式。
(三)精通代码调试
几乎所有的程序员写代码都不是一遍就能写好的。精通代码调试 ( debug )很多人在写代码的过程中,经常会有的一个问题就是:为什么我写出来的代码不能运行?为什么运行的结果不是我想要的?
中级程序员非常快的就明白自己代码的问题可能是什么。代码调试是一个很重要的能力,但是偏偏学校里不教,面试的时候考官也不经常提及。那么怎么去调试代码呢?
代码调试是有一套方法论的。最简单的就是在代码里输出日志来判断,复杂一点则需要去接触一些高级的工具,或者直接带有 Debug 功能的编辑器。
(四)主人翁精神
部分初级程序员刚入行,可能还没有进入状态,往往认为自己是打工者,以打工者的身份和心态工作。
中级程序员却会把自己当成企业的主人,他们知道企业的利益和自己休戚相关。
成熟的程序员明白一点,作为一名优秀的企业员工,自己是生产者而非消费者。他们心中一直想得是自己能够为公司,为顾客创造什么价值,而不仅仅只想着待遇。
(五)工具型思维
中级程序员知道如何能更高效的完成任务,如何更能有效的解决问题。其原因是工具型思维,如同荀子所言,“君子生非异也,善假于物也。”
Facebook 前技术总监 Bobby Johnson 说,高效率的程序员都把时间花在制作工具上。很多人也认为工具是很重要的,但是他们并没有花时间去制作、整合自己的工具。但是,Jonson 团队最出色的员工耗费了他们 1/3 的时间在工具制作上,这些工具可以用来发布代码,监控系统,以及能让他们花更少的时间去做更多事情。
中级程序员遇到问题时,不钻牛角尖,善于利用外部工具解决自己的问题,特别是能熟练应用搜索引擎。
(六)刻意练习迭代速度
魔鬼在细节上,如果一个程序员想要提高自己的工作效率,就需要他能够不断地在细节方面,进行微创新,提高效率。
举一个例子,假设一个初级程序员,每次要花 12 秒钟去搜索某个函数是在哪里定义的。如果,他每天做这个动作 60 次,就要花 12 分钟去搜索函数定义。
中级程序员会选择用一个好一点的编辑器,每次找到函数定义只要 2 秒钟,那么他每天将节约 10 分钟,每年节约 40 个小时。如果能够找到 3 个这样的场景去优化一下,那么对于中级程序员来说,每年可以节约一个月的时间。
(七)系统学习
学习是要有方法的,尤其是在职场中,程序员的自我学习要符合两点要求:一是有结果;二是高效。因此,系统性学习,非常重要。
高级程序员系统学习指南如下:
第一步,源码分析。看看大牛是如何写代码的,提升技术审美,提升核心竞争力。
第二步,工程化。工欲善其事必先利其器,不管是小白,还是资深开发,都需要先选择好的工具,提升开发效率和团队协作效率,让自己有更多的时间来思考。
第三步,分布式。从深度到广度的完善自己的知识体系,准备迎接高并发大数据的挑战
第四步,微服务。绕微服务的通用模式,学习spring Cloud的常见用法及原理,让微服务的开发更加方便 快捷,让微服务应用更加稳定 可用。
第五步,性能优化。从JVM底层原理到内存优化 再到各个中间件的性能调优,做最科学和最严谨的性能调优。
第六步,并发编程。深入了解底层原理,不只是做一个开发者。
第七步,积极参加大牛的分享。
(八)总结
可以理解,对于初入职场的程序员来说,他们在内心也知道学习的重要性,但因为没有时间,被老板的需求给填满,没有精力去提升自我。
然而,根据人类的学习曲线来说,任何一门新的技艺,都是一条对数曲线。其分为两个阶段:缓慢期和高速发展期,即初期很慢,后期进展迅速。
如果,能够让程序员在刚进入职场的时候,便摆脱初级程序员的桎梏,直接拥有中级程序员的实力,是不是就能跨越学习曲线的缓慢期呢。
知名IT教育机构传智播客已开通了中级程序员课程,发布了全新的项目,想学习的小伙伴抓紧