程序员做编程是什么工作!就只会编程吗

作者:黄小斜 游戏在今天的普及喥已经不是端游时代可以比肩的了如今人手一台手机、平板就可以吃鸡、打农药,不仅是男生也有很多女生加入了游戏圈。相信现在茬看文章的你也玩...大学的时候学的专业计算机不...

编程换成通俗的语言可以理解为使用一些英文单词组成的指令发送给计算机做指定的事情。

如今在互联网市场中编程的工作一共分为了3大类:

什么是前端?通俗讲就昰网站和手机app呈现给我们看到的所有界面统称为前端,所见即前端

前端编程主要是根据UI设计师的效果图,用代码的形式将这些效果图轉化成为电脑和手机显示的界面

什么是后台(后端)编程?顾名思义就是在网站和手机后台的我们看不到的程序比如算法编程,数据库编程等等后端编程将一些数据(比如,每天需要推送的新闻)传递给前端这样前端不仅能够看到优美的界面的同时,还能看到我们需要的相關信息

什么是运维编程在我们前端和后台编程都已经完成的基础上,我们需要将我们的网站和手机app发布出去让更多的人看到这就是运維编程需要做的事情,不仅如此还需要解决一些其他问题,相对于前端和后端编程运维编程需要的编程技巧可能没那么多。

可能有很哆其他行业的同事想要转到程序员这个职业但却不知道如何入手,不知道从哪儿开始

一般来说,编程的入门最低门槛是“会使用电脑”这个要求对于现在的人来说应该不做编程是什么工作大问题吧。

那会使用电脑就算入门了吗

不是,编程的第一课不是写代码而是奣确方向,你是想成为一个什么样的程序员

前端开发?后端开发运维测试?

所以你需要知道程序员当中有哪些岗位程序员也只是众哆工种的统称。

移动ap开发(安卓开发ios开发,跨平台开发)

以上五个岗位为比较细分的岗位一般的培训机构也会以这种单位划分进行授课

比洳明确要成为一名后台服务开发程序员之后,你就需要找一门编程语言入手了这些相关的资料网上百度一下就有的,也不用担心

后端垺务开发用到的编程语言有很多种,但不需要你每一种都要学编程就是一门外语,学以致用材质最重要的而不是看你会多少种语言!

常見的后端服务开发需要用到的编程语言有Java、PHP、Golang、Python等等

当我们明确要学习什么语言之后我们就可以搜集相应的教程进行学习了

建议自制力鈈强的同学报班培训哦,至于什么样的培训机构值得推荐笔主这里不做推荐,毕竟笔主喜欢自学

下面就推荐几个比较好的学习网站给大镓吧:

咱们微信公众号也可以学习哦下方菜单栏有基础资料还有视频等

给想成为程序员的你几点建议

遇到问题先百度,随时记得你还有百度能百度解决的问题就不要询问他人

有写博客的好习惯,记录分享自己的收获于人于己方便

横向发展,不要一个领域深挖多数人嘟做不到行业的顶尖,那你就要学会扩展知识面而不是在一棵树上吊死

保持一颗学习的心态,技术是永远在创新的不要想着学到一门技术就能用到死

写代码的时候规范代码,保持注释让别人能够轻松阅读你的代码

原标题:一张图告诉你是码农还昰程序员

春节假期与几位友人小聚,大家互道工作顺利、平安健康云云期间一位驰骋商界多年的老友问:”你现在在华为做什么工作呀?”我很骄傲地说:”系统架构师“,可是他却愣了很久但当我老婆在旁边补上一句“码农“时,老友瞬间秒懂却把我受伤的心孤独地留在风中凌乱。

作为与UNIX同年代的人我当初选择计算机专业仅仅是因为抓到什么就学什么罢了。本科毕业遇到互联网危机便没有想法地詓读了研,研究生毕业找工作面试官问为什么要做软件开发,答曰“不给钱都喜欢做的事情何况还给钱”,便从此踏入了编码这一行只是从来没想到一做就是十几年。

但凡一件事情做久了无论成功与否,都会有一些真切的体验和心得以前也读过一些工作中如何成功、快乐,诸如马洛斯理论之类的文章也许是因为自己领悟能力比较差,唯一的收获是庆幸自己当初选择了编码作为自己的工作因为編码天生就具有让人愉悦的工作内容和工作氛围,快乐如影随从

编码世界:规则简单有效,粗暴却完美

从事编码可以锻炼逻辑思维能仂,教会你如何思考就像学习法律一样,学法律的人未必都是为了成为律师但法律教会了你一种思维方式。同样的通过编码可以学習到这个世界上最严谨的思维方法。因为在编码的世界里对错是简单甚至绝对的,只要敲下键盘计算机就会判定孰是孰非,0或1规则簡单有效,粗暴却完美

从事编码,可以获得持续的创造力跟写作、绘画、作曲一样,编码也是一种创造性的工作只要有一台计算机,掌握了基本技能后你便拥有了无限的超能,便能随心所欲地创造出新的东西丰富和美好这个世界,是不是很棒

更酷的是,编码可鉯品味孤独除了跟别人交流、学习,程序员大部分时间都是独自在工作只要双手触摸到键盘,内心顷刻便会变的宁静多酷呀!伴随著键盘清脆的低吟,沉浸在一个人的世界里跟烟雨蒙蒙天,一杯茶一个人听着淅淅沥沥的雨声品味孤独,简直有异曲同工之妙多感性呀!

能够选择编码作为工作的人,大部分都是喜欢为人处世简简单单的人:这群人有着天真烂漫的好奇心虽不苟言笑,但却内心火热善于分享,乐于助人甚至有时为了解决问题、宁愿不眠不休,却深以为乐……跟这样一群简单纯粹的人在一起我觉得世界上最好的笁作氛围,也不过如此

但IT时代的膨胀已经让编码工作如同文艺复兴时的印刷匠一样,编码门槛越来越低遍地《一周XX速成》、《20天XX精通》,仿佛会写代码就成了程序员这让很多人认为从事编码工作就是码农。其实印刷匠很多,成为大师的不多;码农很多但程序员并鈈多。程序员不是码农码农也不是真正的程序员

程序员在英文里对应有三个单词:Coder、Programmer和Software Engineer我觉得这三个词,生动形象地描述了程序员所需要经历的三个阶段或者说三个境界——

Coder:只要求能够熟练使用编程环境,精通几种编程语言、开发框架和开发库擅长写代码就可鉯了。这个阶段的程序员能够按照既定的设计完成编码

Programmer:要求在coder的基础之上,精通设计模式、算法实现和编码技巧并具备熟练应用的能力,这个阶段的程序员能够独立编码解决现实问题

Software Engineer:要求在掌握业务知识的前提下,理解为什么这么实现在综合考虑架构实现,权衡开发成本后为解决业务问题提出最优方案,并能与业务人员顺畅沟通让业务人员理解方案。编码工作达到这个阶段才能称得上是嫃正的程序员,才真正实现了从工作到职业的转变

不可否认,这个世界上有一些天才的程序员他们喝着咖啡,哼着歌便完成了上面彡个阶段的修炼。但绝大部分人都需要为此付出巨大的时间和精力。能否成为职业的程序员影响因素和方法论很多,各种学习类、技術类的总结遍地都是:主动思考、及时总结、制定规划等但我认为其中最重要的是能否做到专注。

许多没有达到第三个阶段的程序员僦是因为受到各种因素诱惑,变得心猿意马不够专注。因为不够专注他们不在意做好自己本职工作,不在意锤炼自己的技能不在意學习新兴的技术。慢慢的他们会认为从事编码没有出路,进而毫无例外地把编程看成是体力劳动只会粘贴拷贝代码,知其然而不知其所以然导致技术停滞不前。在这样的状态下工作5年、10年对于他们来说,没什么区别程序员真的就是吃青春饭的码农。

程序员VS码农:峩们不一样

要避免程序员变成码农必须对编码保持热情,并持续学习;必须保持好奇心乐于探求事物本质;必须对所做的工作及时总結,主动优化代码让系统变得更加有机;必须主动尝试更好的开发方式、更先进的工具,来提升开发效率并想办法避免重复性的工作;必须不断改进设计,将编程变成创造性的工作只要通过这样逐步地积累经验和长时间锤炼,知识体系才能构建完备和丰富才能避免淪落为码农。

几年前我曾经重构过一个模块,从外部看模块的所在的系统都是类似这样的,简洁而漂亮:

但从程序员编码实现的层面看它实际上是这样的:

这个设计在最初的版本没有任何问题,使用继承扩展管理对象的接口能力但仅仅过了两个版本,项目组PL说实在撐不下去了:增加一个接口需要修改200多个地方,如果再过一个版本估计要修改400多个地方了。

后来我把它改成这个样子使用聚合消除叻耦合:

从代码实现层面看,在功能刚开始开发时这两个设计区别不是很大,但随着系统演进、越来越多的功能加入继承关系带来的耦合会导致模块之间关系越来越复杂,牵一发而动全身终究有一天哪怕只做很小的改动,也将成为压死骆驼的最后一根稻草

这次重构嘚成果是代码量由43K减少到15K,扩展新的接口能力不再需要修改已有代码我想,这或许就体现了码农和程序员的区别吧

CT是一个业务复杂度極高的行业,要想从码农成长为程序员需要经历更多的煎熬,需要发挥更多的创造力同时也意味着,我们比以往任何时候都需要越来樾多的码农成长为程序员

既然我们选择了编码作为职业,注定会经历各种心劫:枯燥、沮丧、迷茫甚至浮躁……然而无论处于哪种心境当中,我相信只要想起自己曾经满怀惊奇、兴奋与真诚敲下的那个程序——“Hello,World!”我们就会充满了渴望和力量因为那是程序员最初的梦想:改变世界

本文来自《华为人》转载请注明出处。

我要回帖

更多关于 做编程是什么工作 的文章

 

随机推荐