如何成作为一名销售人员高级开发人员

联系
总机:400 - 722 - 721
座机:024 -
传真:024 -
- 818
邮箱:
地址:沈阳市和平区文化路金科大厦1410
(C) 2010 TianMei Technology All rights reserved. ICP:辽B-2-4-如何成为一名高级的html5前端开发工程师?_达内Web培训
400-111-8989
如何成为一名高级的html5前端开发工程师?
如何成为一名高级的html5,是IT爱好者多么关切的问题。分享如何成为一名高级的html5工程师,并提出必备条件。
1.别光解决问题,想想究竟发生是什么
很多人埋头写 CSS和 Java直到程序工作起来了,然后就去做别的事情了。我通过 code review发现这种事经常发生。
我总会问大家:“为什么你会在这里添加 float: left?”或者“这里的 overflow:
hidden是必要的吗?”,他们往往答道:“我也不知道,可是我一删掉它们,页面就乱套了。”
Java也是一样,我总会在一个条件竞争的地方看到一个setTimeout,或者有些人无意中阻止了事件传播,却不知道它会影响到页面中其它的事件处理。
我发现很多情况下,当你遇到问题的时候,你只是解决当下的问题罢了。但是如果你永远不花时间去理解问题的本源,你将一次又一次的面对相同的问题。
花一些时间找出为什么,这看上去费时费力,但是我保证它会节省你未来的时间。在完全理解整个系统之后,你就不需要总去猜测和论证了。
2.学会预见未来的浏览器发展趋势
前后端开发的一个主要区别在于后端代码通常都运行在完全由你掌控的环境下。前端相对来说不那么在你的掌控之中。不同用户的平台或设备是前端永恒的话题,你的代码需要优雅掌控这一切。
我记得自己2011年之前曾经阅读某主流 Java框架的时候看到过下面这样的代码(简化过的):
var isIE6=!isIE7&&!isIE8&&!isIE9;
在这个例子中变量 IE6为了判断 IE浏览器版本是否是6或更低的版本。那么在 IE10发布时,我们的程序判断还是会出问题。
我理解的在真实世界里特性检测并不是100%工作,而且有的时候你不得不依赖有
bug的特性或根据浏览器特性检测出来的错误设计白名单。但你为此做的每一件事都非常关键,因为你预见到了不再有 bug的未来。
对于我们当中的很多人来说,我们今天写的代码都会比我们的工作周期要长。有些我写的代码已经过去8年多了还在产品线上运行。这让人很满足又很不安。
3.阅读规范文档
bug是很难免的事,但是当同一份代码在两个浏览器渲染出来的效果不一样,人们总会不假思索的推测,那个“广受好评”的浏览器是对的,而“不起眼”的浏览器是错的。但事实并不一定如此,当你的假设出现错误时,你选取的变通办法都会在未来遭遇相同的问题。
一个就近的例子是 flex元素的默认最小尺寸问题。根据规范的描述,flex元素初始化的 min-width和 min-height的值是
auto(而不是0),也就是说它们默认应该收缩到自己内容的最小尺寸。但是在过去长达8个月的时间里,只有 Firefox的实现是准确的。
如果你遇到了这个浏览器兼容性的问题并且发现 Chrome、IE、Opera、Safari的效果相同而 Firefox和它们不同时,你很可能会认为是
Firefox搞错了。事实上这种情况我见多了。很多我在自己Flexbugs项目上报的问题都是这样的。而且这些解决方案的问题会在两周之后
Chrome44修复之后被体现出来。和遵循标准的解决方案相比,这些方案都伤害到了正确的规范行为。
当同一份代码在两个或更多浏览器的渲染结果不同时,你应该花些时间确定哪个效果是正确的,并且以此为标准写代码。你的解决方案应该是对未来友好的。
额外的,所谓“卓越高级”的前端工程师是时刻感受变化,在某项技术成为主流之前就去适应它的,甚至在为这样的技术做着贡献。如果你锻炼自己看到规范就能在浏览器支持它之前想象出它如何工作的,那么你将成为谈论并影响其规范开发的那群人(你将成为大神)。
4.阅读别人的代码
出于乐趣阅读别人的代码可能并不是你每周六晚上会想到的娱乐项目,但是这毫无疑问是你成为优秀工程师的最佳途径。
自己独立解决问题绝对是个不错的方式,但是这不应该是你唯一的方式,因为它很快就会让你稳定在某个层次。阅读别人的代码会让你开阔思维,并且阅读和理解别人写的代码也是团队协作或开源贡献必须具备的能力。
着实认为很多公司在招聘新员工的时候犯的最大错误是他们只评估应聘者从轮廓开始写新代码的能力。我几乎没有见过一场面试会要求应聘者阅读现有的代码,找出其中的问题,并修复它们。缺少这样的面试流程真的非常不好,因为你作为工程师的很多时间都花费在了在现有的代码的基础上增加或改变上门,而不是搭建新的东西。
5.与比你聪明的人一起工作
我印象中的很多前端开发者(相比于全职工作来说)都是自由职业者,有同类想法的后端开发者并没有那么多。可能是因为很多前端都是自学成才的而后端则多是学校里学出来的。
不论是自我学习还是自我工作,我们都面对一个问题:你并没有机会从比你聪明的家伙那里学到什么。没有人帮你 review代码,也没有人与你碰撞灵感。
强烈建议,最起码在你职业发展的前期,你要在一个团队里工作,尤其是一个普遍比你聪明而且有经验的团队里工作。
如果你最终会在你职业发展的某个阶段选择独立工作,一定要让自己投身在开源社区当中。保持对开源项目的活跃贡献,这会给你团队工作相同甚至更多的益处。
6.“造轮子”
造轮子在商业上是非常糟糕的,但是从学习的角度是非常好的。你可能很想把那些库和小工具直接从
pm里拿下来用,但也可以想象一下你独立建造它们能够学到多少东西。
我知道有些人读到这里是特别不赞成的。别误会,我并没有说你不应该使用第三方代码。那些经过充分测试的库具有多年的测试用例积累和已知问题积累,使用它们绝对是非常明智的选择。
但在这里我想说的是如何从优秀到卓越高级。我觉得这个领域很多卓越的人都是我每天在用的非常流行的库的作者或维护者。
你可能不曾打造过自己的 Java库也拥有一个成功的职业发展,但是你从不把自己手弄脏是几乎不可能淘到金子的。
在这一行大家普遍会问的一个问题是:我接下来应该做点什么?如果你没有试着学一个新的工具创建一个新的应用,那不妨试着重新造一个你喜欢的 Java库或
CSS框架。这样做的一个好消息是,在你遇到困难的时候,所有现成的库的源代码都会为你提供帮助。
7.把你学到的东西都记录下来
最后,但丝毫不逊色的是,你应该把你学到的东西记录下来。这样做有很多原因,但也许最重要的原因是它强迫你更好的理解这件事。如果你无法讲清楚它的工作原理,在整个过程中它会推动你自己把并不真正理解的东西弄清楚。很多情况下你根本意识不到自己还不理解它们,直到自己动手写的时候。
根据我的经验,写作、演讲、做 demo是强迫自己完全深入理解一件事的最佳方式。就算你写的东西没有人看,整个过程也会让你受益匪浅。
只有技术和表现方式达到了同步,才能让一个好东西活的长久一些,目前的现状就是,H5广告潜力之大无可厚非。 但是,目前在手机流量加载速度慢
咱们都知道,互联网可是个新兴行业的大风口,膨胀速度与生长周期都快的离谱。这也造成了,拥有较高技术能力,并且成熟周期缓慢的前端人才变成了稀缺资源,而H5广告的生产最终执行都是由前端完成的
起初,这个外号还没人用…而且html是缩写,每个字幕都有固定含义,毙掉后面三个,好念了但表意错了,而且国际上就没这个说法,你跟老外吹都不好使!你看
HTML5严格来说,不能称之为媒介,但是它确实承担了传统媒介的很多属性,互联网时代的广告打破了纸媒介和电视媒介的枷锁,它可以游离在任何屏幕上
Copyright (C)
All Rights Reserved
选择城市和中心
达内北京亦庄大学生实训基地
达内北京网络营销中心
达内北京会计中心504 Gateway Time-out
504 Gateway Time-out
The gateway did not receive a timely response from the upstream server or application. Sorry for the inconvenience.
Please report this message and include the following information to us.
Thank you very much!
iz28gxmj4glz
Powered by Tengine/2.0.3中国领先的IT技术网站
51CTO旗下网站
如何成为一名高级开发人员
这篇文章是写给所有已经有几年企业工作经验并希望提升自己能力的开发人员,程序员,码农的(或者那些希望找到一 个正确学习路线的新人)。这篇文章也是写给那些怀有一个简单希望的人: 想成为一个高级开发人员并在所属领域有所成就。 读完这篇文章后,你将找到提升自己的合适路线和最好资源,进而成为高级开发人员。
作者:OSC 协作翻译来源:| 14:30
这篇文章是写给所有已经有几年企业工作经验并希望提升自己能力的开发人员,程序员,码农的(或者那些希望找到一
个正确学习路线的新人)。这篇文章也是写给那些怀有一个简单希望的人: 想成为一个高级开发人员并在所属领域有所成就。
读完这篇文章后,你将找到提升自己的合适路线和最好资源,进而成为高级开发人员。下面让我们开始吧。
就像生活中的所有事情,你总能按照自己的方式去做。尽管这并不意味着它是唯一的方法,但它是我在自己的职业生涯中,通过多年与一些社区高级和德高望重的开发者对话和交谈总结出来的一套方法。这篇文章是我收集的所有具有共通性的东西。更进一步讲,这不仅仅是一篇教你怎样变成一个更好的开发者的文章,它更是教你怎样用高效合适的工具去优化你的时间,使你能够享受生活的文章。这种学习方式将使你终生受益。
我们要的是什么?
我们都力图在工作上做得更好。具体做什么不同的人有不同的看法。然而,大部分人应该会同意如下基本内容:
我们不希望一生都被视为&不称职者&
我们希望得到同事的尊重
我们希望能感受到智慧和成就
我们希望得到赞赏
为了达到上述目的,我们不能停留在过去的荣誉上,并期待好事情主动来找我们。特别是在编程的世界里,技术总是在变化,巨大的信息量把我们淹没,我们应该把注意力集中在成长和学习上,而不应浪费掉。随着越来越多的开发都从高校和和训练营中走出,我们需要让我们的技能更好,并在学习方式上要做到灵活和高效。说的够多了,让我们开始吧。我们会尝试采取最好的办法。
什么是高级开发人员?
一个通晓多种语言的代码,可以用10种不同的编程语言建立自己的 Jarvis (马克&扎克伯格的
Jarvis&&他的人工智能助理)不会使你成为一个高级开发人员(尽管你很有才华)。这是因为高级的开发者是能带来增量效益的人,他能带领团队一同成长,并努力实现产品的商业价值。如果你的编程能力卓越,但缺乏良好的沟通能力,或不能向顾客传递产品的实际价值,你就算不上高级开发者。这是重要的一点:你带给你的公司/新创办的小公司/生意以价值?如果你是公司里少数几个能给公司创造重要价值的开发者之一,你就算得上的高级开发者。高级开发者不只是另一个头衔,而是用你的经验提供真实利益给利益相关者的能力。
我怎么做才能成为高级开发呢?
这部分可能就是你一直所期待的。让我们深入的思考,是否我们能做成所有事。我们一起学习一下面的主题。如果你积极的实践下面的技能,那么你将会甩其他人几公里外。我称它为开发者福音:
在某个领域,总会有人比你更有经验,但是你可以追求精益求精。积累各种各样的技能,你提升的效果将立竿见影。这不仅让你成为更好的开发者,也会增加你整体的幸福感,因为你在为人们奉献真正的价值。
关于学习,你需要完全集中注意力在一件事上。然而,这不是生活中的样子。只有一项技能很难生存下去。尤其,在像技术这样日新月异的领域(谁知道5年后机器学习工程师会成什么样子呢?),你需要多种多样的技能,这些技能让你有更强的适应能力。
成为一个高级开发人员,你需要学习 6个核心技能。
1. 技术技能
这是大多数人首先想到的技能,但这只是众多技能的一部分。技能很重要,容不得半点含糊。高级开发人员需要花时间去了解一门技术的来龙去脉。为什么这个问题会出现?为什么这个框架会存在?这个库正在解决什么问题?作为一名开发人员,你需要有对所有能受益于开发生命周期的工具和想法有好的理解力,而且能选择对项目有最大积极作用的工具。而不是去专注于每一个新版本的超级华丽测试框架的特性,相反地,当他们试图为公司解决一个实际问题时,他们会更专注于每个测试框架的优点和缺点。他们会问些类似于&为了提供一个更好的产品,在我们持续交付的过程中哪些工作可以被优化呢?&的问题。
他们也知道事情是如何连接在一起的。要开始这样的考,就要建立自己的思维图。你可以用它将学习提升到更高的层次(给 Javascript
开发者思维图)。思维图将帮助你的大脑连接不同的想法和技术。
示例: 如果我是 Javascript 开发者,以 Cory House 的课程为例,你将会了解到在 JavaScript
环境连接点。在一个行业中,一旦你掌握了相应的工具和技术,你就需要创建思维图,解决产品规模扩大时所面临的问题。在头脑中有上述的连接关系,通过更广泛的视角,你会把公司的主要资源集中在关系重大的事情上。
如果你仅通过实战课程学习编程,或者没有计算机科学的学位,那么你需要学习数据结构、算法以及其他计算机科学的主题。虽然架构和技术在变,通用的基本准则是不变的。
通过学习高级的主题,会再次意识到:虽然时间在变,语言在变,但大多数软件问题以及好的实践不变。这两本书 (Rob Conery) 、 链接 (Gayle
Laakmann McDowell) )是提升你技能的最好工具。虽然它们只是概览,但能为你将来的学习打下坚实的基础。
收听像 Jeff Meyerson 的 软件工程师日报 的播客节目,你能时常关注当下的问题,并且用未来的视角看待这个行业。
2. 团队技能
这是一个经常被忽视的技能。你如何与团队成员合作?你是否在审查 PR(pull
request)时傲慢并自以为是,并促成了一个有毒的文化产生?还是说你体贴、合作以及会鼓励你的团队成员?高级开发者从不自吹自擂。他们知道自己很优秀,不需要向别人证明自己。他们编写干净简单的代码,而不是写团队成员读不懂的代码来炫耀他们的技能。他们乐意帮助别人,也会在自己不知道的时候提问。
这就是情商的用武之地。社会心理学是提高这种技能的重要工具,没有什么比著名的 人性的弱点 更值得一读。请记住:如何能让你周围的人变得更好?如果你的团队中有
5 个人,1 + 1 + 1 + 1 + 1 应该大于 5,因为你应让你周围的人变得更好(别纠结纯粹的数学理论了&&让我继续)
如果你在一个项目里,或者你参加了一个团队,并能与团队很好地协同工作,你已经比大部分人都领先了。你也使管理者、主管、敏捷专家和 CTO
的生活更轻松。这些人会得到晋升,更重要的是,他们为公司带来了价值。
3. 客户/用户技巧
在与客户交谈的过程中,你能否清楚地了解他们的需求?当他们向你求助时,你能否明白他们正面临的问题?高级开发者能与客户单独沟通,是一个伟大的倾听者,会在了解所有情况后,向客户提供推进的建议。他们擅于建立关系,且具有很好的说服力,但这种说服不是强迫。他们明白客户与开发者的交易是一场互利互惠的游戏,详情了解。
最后,你需要能够向非技术人员解释复杂的编程概念。可通过观看教练如何分解复杂的主题开始培养这种技能。这是我最喜欢的教练,以及我的第二喜欢的教练。虽然他们教授的内容很难,但他们都有一个共同点,而这也是他们的厉害之处。
4. 成长的技能
高级程序员总是都会学习新的东西。但并不是花 14
个小时坐在电脑前阅读文章,而是采用更高效的方法,他们会与其他开发者一起交流,互相询问问题和解答问题。他们不会只专注于一项技巧。在某一领域你的能力可能是最强的,但是,如果你对于你要解决的问题没有一个全面的了解,就会在某个环节败下阵来。
他们持有成长的观念(相信智力是可塑的),并进行有目的的练习。他们明白学习所有的事情是不可能的,所以他们选择将时间花在他们喜欢的和最重要的事情上。
他们不会只是抱怨:&我讨厌这个类库!&很多时候,说出这类抱怨的人都是因为他们对这项事物不够了解。例如,有人会很自负地说:&我讨厌
jQuery,只有低水平的开发者才使用它。&但在高级开发者眼里:&jQuery 是 Web 开发的重要工具,是非常流行的 JavaScript
框架。&他们喜欢并尝试着新鲜事物,在说出&讨厌&某一事物之前,会先去学习和了解它。
5. 销售/面谈技巧
高级开发人员能获得资深职位,因为他们擅于与上级领导沟通。他们能很快把握雇主或商业需求,并表现出能很好满足这些需求的形象。高级开发者自信却不自傲,他们有足够的信心完成指定任务,并能在高压下执行。而且他们也有充分的但是挑战更高层的职位。销售和谈判看似与技术无关,却是工作中并不可少的能力。
6. 社区技能
高级开发者贡献于开发者社区,不管是技术会谈,主持会议,贡献源码,还是发表文章。他们需要与整个社区的工作者进行沟通交流,拓宽他们的视野,因此他们在整个产业中充当的是分享信息资源的角色。这就好比是一次旅行:在与他人交谈的过程中了解的文化越多,你对人类之间的差异的理解就越深入,就越能以欣赏的眼光看待他人。
如果你能在工作中主动运用这些技能,很快就能看到自身的改变。这篇文章最重要的主题就是:热爱你的工作。如果你并不喜欢每天学习计算机科学和软件开发技术的过程,你永远不会成为一个高级开发人员,因为你缺乏进步的动力。
激情不是三分钟热度,真正的激情产生在你掌握一个技能之后。如果你已经努力成为了某个领域的专家和领导者,已经掌握了这些技能,那么现在,尊重与帮助他人能让你获得持续的进步。
这就是你如何培养你对工作的热爱的方式。
如果你已经学会了代码并且正在寻找你职业生涯的下一步,你需要以不同的方式思考。你怎么能脱颖而出?你怎么能成长?你如何帮助人们解决实际问题并提供价值?你要成为一个高级开发人员就不能只做简单的事情。你做的事情推动并挑战你的思想和舒适程度。你每天不断的学习和调整,就像你第一次写代码。每一步都很小,但在一生的时间里,一小步就会变成一英里。永远不要停止阅读和学习,但也要知道,你所花的时间哪些是有价值的,哪些是没有的。【编辑推荐】【责任编辑: TEL:(010)】
大家都在看猜你喜欢
热点原创热点头条头条
24H热文一周话题本月最赞
讲师:30971人学习过
讲师:17562人学习过
讲师:14891人学习过
精选博文论坛热帖下载排行
在网络应用越来越复杂的今天,传统的网络应用已经不能满足企业和用户的需要,这就对网络管理员、信息管理部门提出了更高的要求。本书介绍了...
订阅51CTO邮刊

我要回帖

更多关于 如何做好一名客服人员 的文章

 

随机推荐