当前位置:首页 » 编程软件 » 编程师通病

编程师通病

发布时间: 2022-04-13 19:14:53

‘壹’ 为什么很多人都争着要去当编程老师

编程要把人想做的事变成要计算机做的事你是中间的翻译你不但要有人的思维还要有计算机思维人要从计算机的角度去考虑问题才能让计算机帮助你正确地完成你下达的任务

‘贰’ 成为一个计算机编程师需要些什么条件

【怎么样】随着计算机对于社会各个领域的不断渗透,客户对于一些专门的应用软件需求量大增,所以对于程序员的需求也在不断增加,虽然现在中国的程序员数量已经相当可观,但是还是处于求大于供的状态,尤其对于一些技术熟练、有很好的编程习惯的优秀程序员,市场需求量还是很大的。而且程序员的发展空间很大,可以经过努力升级为软件设计师、系统分析员、项目经理等。不过程序员有事工作相对繁琐,有时需要经常加班,技术更新快,所以压力也很大。
【谁能做】① 大专以上计算机相关专业学历,至少熟练掌握两到三种开发工具的使用,同时对于数据库和操作系统有很深入的了解,有一定的英语水平,有相关的数据结构等方面的知识; ② 通过初级或者高级程序员考试或者拿到一些国际、国内认证的证书,有一年以上相关经验; ③ 软件结构设计/分析能力,出色的编程能力,掌握了几种软件的开发技巧,同时需要有严格的软件工程思想; ④ 较强的逻辑思维能力,团队精神和协作能力,强烈的好奇心和学习精神,具有永攀高峰的精神。

‘叁’ 在大学遇到一个垃圾编程老师怎么办

可以看参考书、和同学展开讨论互学,大学生一定要有自学能力,别指望老师手把手的教了。

‘肆’ 编程怎么那么难学啊

难,很难,非常难!

但最难的不是知识,而是自律,而是能不能合理安排时间,而是能不能做到自我激励。

说句实在的,互联网发展到现在这个程度,网络上的学习资源完备且高质的情况下,在学习资源的获取上,自学和非自学早已没有界限了。

你报个培训机构,里面的老师大概率还没有B站上的免费课程讲的好。

自学与非自学唯一的界限就是有没有人赶着你,逼着你,监督你。

而如果你的编程学习需要人来督促你,那完了,你从培训机构出来的那一刻,你的整个职业生涯就定型了,而且一定会走下坡路。

所以,做不到自我管理,自学编程一定是很难的,而且是难上加难,编程的难加上自学的难。

我就直说了吧,我劝你放弃。

所以你除了迎难而上,坚持自学之外,没有第二条路可以走,哪怕报班暂时逃过一劫,之后也还是要面对。

文章图片1
效率不高怎么办?

你可能会说,报班不是因为自己学不了,而是因为报班有老师可以问,不会出现因为一个知识点卡死的问题,能够提升效率。

我想告诉你的是,不需要而且不可能。

首先说为什么不需要,你的80%的编程问题可以通过Bai以及Google得到详细的简答,绝对比你的老师更详细。

剩下20%中的10%可以通过加一个技术交流群来解决。而最后的10%,相信我,你的编程老师也解决不了,不然他不会去当编程老师了。

最好的解决办法是,私聊GitHub或者公众号的编程大佬,给他们发个红包,然后询问你已经整理好的问题。

再给你分享下我的经验吧。

在我近十年的工作、学习以及与人交流的过程中,我得出一个结论:不管优秀不优秀,一个程序员的成长60% 都是靠自己,而且你越优秀这个比例就越大。

至于为什么,也很好理解。

你越优秀,比你更厉害的人就更少,无人可问无人可教,你不靠自学靠什么?

这也是为什么我说哪怕你暂时逃过一劫,你之后还是要面对。

程序员这个行业,做不到与时俱进就一定会被淘汰,要么就越工作就越感觉自己从脑力活动变成了体力活动,单纯的搬运。要么就是没等到35岁就已经因为能力跟不上企业需求的发展而被裁员。

我一直强调,程序员有没有35岁危机我不知道,但我知道程序员一定是靠技术吃饭的,而想要持续精进自己的技术,只有靠自学。

除此之外,我一直有一个观点:程序员不是教出来的,而是培养出来的。对程序员来说最重要的,不是会什么,而是能会什么。

知识是死的,学习能力却是活的。

与其想着如何便捷地获取知识,不如培养自己获取知识的能力。

所以,给你推荐一篇基础能力的文章:

‘伍’ 我想考高级编程师,请问需要做哪些准备啊

首先选择一门编程语言和操作系统平台。
操作系统平台国内比较流行的基本有Windows、Linux(Unix)、Mac OS。一般来说大家都选择的是Windows平台,因为此平台是国内处于垄断地位的操作系统,而且有很多优秀的开发工具可供选择,缺点就是Windows平台的开放性不高,往底层探究比较困难(但我对于言必称底层的观点比较反感,不是所有搞开发的都要对底层非常了解,做出用户满意的系统才是我们追求的根本,玩些底层的trick只是一种自我满足罢了。当然我们需要有一些掌握底层技术的高手,但这个是个人选择的问题),而且用惯Windows的程序员在配置、脚本等方面比较弱。Linux是开源平台,当然从理论上你可以操纵Linux的一切,但是有几个人能够达到这一水平?刚刚开始学习开发的程序员,在Linux上也仅仅能够开发一些应用软件罢了。Linux下的开发工具不够人性化,但这种情况正在逐步得到缓解,Eclipse就是非常出色的开发平台。在Linux下开发,你可以得到大量优秀的源代码,并且一切都是透明的(只要你想),但你必须学习很多命令行指令,掌握各种系统和参数配置以及脚本方面的知识。
编程语言的选择更是令人头痛,我涉猎不多,对于有些语言,我无法给出任何建议,只好等这方面的高手来给大家补充了。我仅仅对C++和java进行一些说明,当然这个也仅仅是基于个人体会,绝对不是权威观点 :P
C++仍然是目前占主流的开发语言(详细的可以阅读TCPL中的相关论述),而且一种语言的发展或消亡都是一个渐进的过程,在可以预见的将来,C++仍然是一门举足轻重的开发语言,但其所针对的领域和方向可能会有所调整,我认为最主要的变化是C++会逐步从商业MIS系统市场上退出。选择C++的理由是关于C++的优秀开发书籍和开发工具最多,相关的资源也异常丰富,待对于一般应用程序的开发掌握之后,无需过渡,就可以深入学习各种技术,因为现阶段讲述系统底层奥秘和高级技术的书籍,基本都是选用C\C++做为示例语言。加上微软精心打造的开发平台Visual Studio或Borland的C++ Builder系列,学习起来更是如虎添翼。但C++现在的缺点也是比较明显的,我最深的感触就是对于XP和Agile Development的支持不好。
Java简化了C++的语法,学习起来比较容易(但随着Java的日益普及和发展,是否能够继续保持这一优势,我不敢断言),Eclipse是非常优秀的Java开发平台,支持XP的整个过程:设计、测试、编码、重构……现阶段敏捷软件开发的主要语言就是Java。而且Java的跨平台特性更是非常大的优势。
实际上,选择哪门语言都没有关系,根据你的发展规划和目前身边的环境选择就可以,没有必要跟风,其后的坚持才是难点。
好,假设你选择了C++做为开发语言,在Windows平台上开发,那么我给你如下的学习建议(其他的选择请各位积极补充……):
C++语言的学习当然是基础,这个阶段由于没有任何在特定平台上的开发经验,我们只能按照书中的例子一个一个输入运行,暂时告别熟悉的图形界面,回到古老的DOS了。参考书的选择是这个阶段很多朋友关心的,Stan Lippman的《Essential C++》和《C++ Primer》是我优先推荐的,而《Essential C++》因为篇幅较小,讲解内容适当,而且对C++ STL的运用有不少描述,显得相当实用,我认为最适合初学者使用。无论选择了那本书做为入门教材,都应该逐个例子逐个例子的消化,不要贪快,但同时要对重点内容有所侧重。我们学习任何东西都是为了解决实际问题,所以请把重点放在我们实际中最常用的部分,而不要过多的追究一些细节和艰深晦涩的不常用技术。
此刻我们会碰到很多过后看来非常简单幼稚的问题,比如为什么编译出错,为什么按照书中的例子输进去却无法通过编译,找不到头文件等等,大体上这是因为刚刚接触程序开发,对程序理解还很初级,以及对于所使用的开发环境不够了解,特定编译器对标准C++的支持程度不一导致。请多阅读关于所使用开发环境的各种文档,以及查阅帮助文档。以我最经常使用的Visual C++配合MSDN来说,当出现一个我不能理解的编译错误时,按F4键编辑器就会自动跳到当前错误地点,下面的输出窗口也会给出错误代码(比如C××××),把错误代码记下,打开MSDN,在索引一栏输入错误代码,就能够查到详细的关于此错误的说明,当然,是英文的(不要问你不会英文怎么办,这是基本要求)。现在的开发工具查错排错非常方便。当然,有时很多错误原因并不是编译器所提示的地方,而是往前或往后一些地方,长期的编程经验可以提高查错速度。此时也请多练习练习Debug技术。
此阶段只要能够掌握C++的基本语言要素,对结构化程序设计和基于对象的设计有一定理解,能够完成一些简单的小程序就可以结束了,毕竟DOS程序现在很难勾起我们学习的欲望了 :P 在此之后可以视自己的情况决定是否学习数据结构,数据结构是程序员的必修课,不可或缺,地位非常重要,即使你现在希望马上进入图形界面程序开发的世界,这一课我也提醒你记着早点补上。
终于可以迈入图形世界,我们要从SDK编程开始,不要担心,这不会花费你太长时间,但却是对Windows程序运行机制进行深入了解的好时机,在此的努力都不会白费(trust me),此时的参考书没有什么好考虑的,基础的有Charles Petzold的《Windows程序设计》,进阶的有《Windows核心编程》。请从《Windows程序设计》开始,Charles Petzold的书通俗易懂,学习起来非常轻松,而且对你的语言要求不高,只要懂C就可以了。
此时容易碰到的问题大多与项目设置有关,如果使用Visual C++,请按Alt+F7调出项目设置对话框仔细检查,并阅读相关文档,熟悉各项配置的意义。
此阶段请重点掌握Windows SDK程序的编写方法,Windows程序的运行机制和Windows消息机制,和常用的Windows API。我们还可以更进一步:尝试用前一阶段学到的C++知识对过程化的SDK程序进行初步的改造,将我们敲入计算机的程序变得可重用,按照自己对基于对象思想和面向对象思想的理解来重新编写例子程序。
OK,现在你已经初步入门了,掌握了C++的基本用法,对面向对象有了一点模糊而自以为是的认识,也能够写出Windows程序了,虽然还有点简单,还有点丑陋,不过,总归是图形界面啊。开始有点感觉了,是吗? :P 别急着往前冲,停一停,将C++和Windows SDK的基础打牢,贪多嚼不烂吗。此时有很多经典书籍等待你去掌握,也有几乎无限的题材供你练习,请尽量多阅读接触下面的资源:
• 《C++ Primer》

• 《Windows核心编程》

• 《应用程序调试技术》

• 面向对象开发设计方面的书籍

• MSDN的Platform SDK部分,Periodicals部分(包含了大量有价值C++、SDK方面的技术文章)

• CodeProject里相关的源代码是很好的补充学习资料

现在继续往前走吧,利用SDK开发毕竟有时太过于费时费力,还是使用更高级的应用程序开发框架的好,主要的有MFC和VCL,关于这些框架谁好谁坏的争论我已经听烦了,一句话,能帮助我们完成任务就行,它们无非都是工具,你自己随便选择吧。不过选择好之后,你应该明白,对于你的工具,了解越深,越能发挥它的威力。如果你选择了MFC,我建议学习下面的书籍:
• 《深入浅出MFC》:关于此书毋庸多说,尽管有人不停的贬低,但它的地位是无可置疑的,而且也是对我最有帮助的书籍之一。

• 《MFC程序设计》

• 《Visual C++技术内幕》

然后就停止找书吧,网上开发站点的数不胜数的源代码就是最好的老师了……

返回页首

学习过程中碰到问题我该怎么办?
我始终认为学习软件开发过程中遇到的问题只有自己尽最大的努力去解决,才能收到最大的成效,对于那些动不动就把问题发到网上指望高手帮你解决的做法我非常不赞同,因为这样你并不能从中学到多少。我建议的做法是,首先尝试自己独力解决问题,花几个小时解决一个问题,是很正常的,不要几分钟解决不了就放弃了;实在无法解决的时候,请尝试尽量减小涉及范围,将问题归结一下,初步形成自己的结论;然后利用搜索引擎或者开发论坛中的搜索功能来搜索是否有对于自己问题的解答;实在没有的时候,再发帖子求助。请了解一点:你遇到的问题都是别人遇到过的,网上肯定有现成的解决方法(因为你还没有到开发研究前所未有的问题的水平:P),只看你找不找得到了,请尽力去利用现有的资源而不是麻烦别人。
CSDN的论坛、MSDN在线文档都是非常好的资源,基本上我们遇到的问题在这里都能找到解答。

‘陆’ 编程师一个月能赚多少

编程师一年左右的经验的话薪资应该在10000左右,主要还是看自己的技术方面是否够扎实,如果技术好的话出来就差不多一万多了,所以说有的时候工作年限是一方面,但是跟重要的还是你的技术是否扎实符合公司的用人需求。

2017 年AI 编程工程师平均年薪为 34 万元,接近 IT 工程技术类的两倍,而有 10 年以上经验的 AI 工程师,年薪高达 140 万元,而 IT 工程师还不到 55 万元。

业内人士表示,由于人才匮乏,人工智能工程师的年薪水涨船高。博士毕业进入企业,起薪或可高达百万元,“否则根本留不住人”。而且,即便这样的人也很难“上手就用”,都要在公司经过数月至一年的专业培训。

‘柒’ 自学编程靠谱吗如何做

编程一说,无非就是让你学一门新的语言,需要一点英语基础,不过并非要求那么高。因为即使是英语不错的人学编程很多函数、头文件、关键字还都是要从头学起。所以如果你想自学编程是可以的,不过初级水准自己还是不用太累可以达到的,但是想成为高级程序员是要花费一番功夫的。

首先,万事开头难,学任何一种程序语言都是如此,等你慢慢入门了,你就会发现各种不同的程序语言其实都是有共同点,以及所谓的触类旁通。需要看视频或是仔细学一下,然后慢慢入门。刚开始学,先选择一门比较有市场有水平的语言,他然后好好学,务必一定要多练多动手,这是学程序必须的一点。建议先学C++,然后可以考虑java;C语言是基础,java是一种比较实用也挺有意思的一种语言,你自己也可以上网搜一下,看看大家的推荐。

其次,就是大量的练习,自己编写一些经典的程序,大量的自己动手,平时感觉有意思的东西要学会用程序去解决,要成为编程师,就要学会有用编程解决一切问题的觉悟。然后去看一些比较难的程序,花功夫去分析,一点一点的把它分解绕后慢慢变成自己的东西。

最后,其实有些东西还是要去找些资料,主要还是在自己。全部手写,花了20多分钟,我只能起个引导作用,其他的靠你了。

其实初中生、大学生的差距在哪里呢?无非就是后者多了一些理论经验,眼光开阔一点,你要做的就是大量不你缺失的经验,做好决定就不要听别人的闲言碎语,一往无前,加油!!!!

PS:编程视频教程网上多的是,可以去B站看看,很多大佬都在那里!也可以找一些学习网站,有一些免费的视频教程可以看看!

‘捌’ 编程师怎么编程的

1、一个IT工程师应该具有的技能

我认为实用技能包含3个方面,如图1所示:

图1

这些都是很重要的:

●编码:你必须能够在限定时间内编写出高质量的代码。
●经验:具有相关经验表明你对该行业的热情,并能够在一开始就进入工作状态。
●理论:理论知识是IT工程师的基础,好的理论知识能够让你快速解决新出现的问题。

而准备工作面试的过程是一个提升自己各种能力的绝佳机会。

1、提高你的理论知识

(1)学习C语言

C语言是编程的基础。因此,学习C语言能为我们了解高层概念打下坚实的基础学习C语言的基础知识并不会花太长时间,只需要几个星期的时间一般就能够掌握。C没有太多的抽象封装,这就使得C语言相对简单,和其他人一样我学习C语言是看《C Programming Language》这本书(我们可以看谭浩强的书)。
一旦你能够真正理解C语言中的指针和内存管理,C就会变成一门有趣的语言,因为它将帮助我们从处理器层面(底层硬件)来理解语言,而这正是其他大多数的高级语言所不具备的。同时了解这些概念,也将有助于你了解更高层次的语言工作。

(2)了解数据结构和算法

虽然在网站/应用程序开发中编写复杂的算法和数据结构比较少见,但是数据结构和算法在我们编写复杂系统的时候将会影响我们的思维。即使你不需要编写自己的数据结构,你也可能会在编程中使用到他,因此,了解基本的选择是至关重要的。

我推荐这本书,《算法导论》。由于这本书是很长,如果你没有时间把他读完,那也要学习其中的排序,哈希表,二叉树,字符串匹配部分。

一旦你很好的掌握了数据结构和算法,你会发现这些概念将只是将你做的每件事都总结成问题而已。

2、比较编程语言

一开始,你会经常接触多中编程语言。你可能还需要快速学习新的语言和概念。
为了加快学习,学习不同语言有助于我们了解他们的概念以及他们的相似及不同之处。
最好的办法是在下面每种风格的语言中学一门语言:

●底层:C语言。
●面向对象:JAVA,C++等。
●动态语言,高层次的语言:python, ruby 等
●函数式语言: Lisp, Erlang, Haskell等(之前将其翻译为功能性语言,感谢zzljlu的纠正)

3、至少精通某一种语言和一种框架

这能够说明:
●你既然能在一个领域成为专家,就表明你同样能在其他领域做得一样好。
●你理解这些语言/框架的细节可以让你根据不同技术的优缺点来做出决定。
●你有激情去深究一个项目并且深入语言的最底层。

想要成为专家需要花一定的时间和经历。这里有一些建议:

●尝试做不同的项目,这样能够帮助你理解编程语言。
●阅读其他人的技术博客。 Hacker News是一个很好的技术博客。
●为开源社区做出自己的贡献,例如在GitHub上能够查到你的代码。

4、提高实际编码能力

在这里我们在面试时主要通过3中方法来测试工程师的编码能力:

●你贡献到开源社区的代码(例如,在GitHub上)
●现场编写一段代码
●连续2小时编写代码的挑战

一个工程师的编码能力的质量和速度是重要的,而这只能来自于实践经验。
另外,使用合适的语言和框架对于一个项目也是很有帮助的。例如用Python和Ruby等脚本语言可以比使用像Java、C++这类静态语言的许多情况下更快。因为我们知道一个求职者可能在动态脚本语言方面没有太多经验,所以我们面试的时候并没有将其作为重点。
做一些有挑战的编程测试可以磨练你的技能。网上可以找到了大量的资源,这也可以测试你的编程速度,从而让你可以进一步提升你编写代码的速度。Google Code Jam上面有一些不错的题目。

5、提高您的相关技术经验

有一些相关工作经验是很重要的:

●这表明你对编程有一定的激情
●你的开发经验可以引导公司里的其他人
●你将会在工作中一鸣惊人。

●你有能力可以探究更多的现代技术,并有一个更加全面的视角

你可以从你以前的公司里或者其他项目中学到这些经验。

6、结论
当然,在技术方面仅仅是一个硬币的一面。第2部分中,我将探讨非技术方面。

热点内容
androidgif控件 发布:2025-03-15 22:10:51 浏览:336
我的世界手机版非常好玩的服务器推荐 发布:2025-03-15 22:04:48 浏览:178
怎样解压手机文件 发布:2025-03-15 22:04:47 浏览:525
我的世界手机基岩版怎么做服务器 发布:2025-03-15 22:04:11 浏览:100
邮件发送压缩文件 发布:2025-03-15 22:04:06 浏览:819
数据库中的数据特征 发布:2025-03-15 21:56:20 浏览:29
账号密码可以用什么替换 发布:2025-03-15 21:55:43 浏览:699
主板自带什么配置好 发布:2025-03-15 21:49:57 浏览:699
交换空间linux 发布:2025-03-15 21:49:57 浏览:85
剪映怎么添加安卓手机里面的录音 发布:2025-03-15 21:45:01 浏览:697