大家好,我叫 Geoff,是一名网页设计师。至少,这就是我告诉别人我做的事情,因为这是大多数人理解的事情。
事实上,我是一名前端开发人员。如果你定期阅读此博客,那么我甚至不需要费心解释这个职位名称。
还是需要解释吗?
我感觉到我们可能对成为前端开发人员的含义有不同的定义。我敢打赌,你为我写的职位描述与我在日常工作中实际做的工作大不相同。你甚至可能期望我知道某些编程语言,而事实上,我并不知道。
换句话说,你们中有些人可能根本不认为我是一个开发人员,或者最多是一个冒牌货。许多人认为前端开发根本不是开发。这曾经伤过我的感情。
当我最近看到 Lara Schenck 分享她的故事 时,我发现自己回忆起了那些伤痛的感情,她因为不熟悉编程测试 FizzBuzz 而错过了 UX 工作。她没有得到这份工作并没有让我那么困扰,就像她的故事收到的那些尖酸刻薄的评论一样,这些评论主要来自那些不认为前端开发是一种开发形式的人。
我成为非独角兽的故事
我为网页设计,并经常将这些设计编码成人们在前端交互的东西。
我并不总是编写代码。事实上,当我 2005 年开始设计网站时,我从未想过我会写一行代码。设计师在 Photoshop 中工作,开发人员在他们工作的任何地方工作——我不知道,因为这似乎与我无关。我们都是机器中的齿轮,至少在我工作过的一些地方是这样的。
但随着时间的推移,我发现自己不仅在问这些问题,而且还试图为自己找到答案,因为这成为了一种必要。如果我的设计在一天结束时没有在屏幕上完美像素(还记得那件事吗?),我想知道为什么。最终,这导致学习 HTML,然后是 CSS,然后是 jQuery,然后是 JavaScript。我甚至发现自己对 PHP 有了基本的了解,仅仅是为了能够编写 WordPress 过滤器。
我在以上所有方面都很出色吗?绝对不是。我绝对可以应付,但我仍然发现自己需要浏览 Stack Overflow 论坛,寻找其他开发人员可能认为非常明显答案的问题。
这就是我成为前端开发人员的简短故事。或者前端设计师。或者仅仅是设计师。随便吧。
但你仍然不是开发人员!
这就是我有点像嬉皮士一样的地方,因为我认为开发的角色是一个不断发展的概念。开发仅仅是关于编程吗?或者 开发也可以是设计 吗?因为,如果它完全是关于编程,那么我绝对不是开发人员。
事实是,开发与设计和编程都有很大关系。它们不是相互排斥的。试图将它们在一个笼子里进行一场关于谁拥有这个术语的比赛,就像圣克鲁斯和亨廷顿海滩为 冲浪之城,美国 争斗一样毫无意义。
我如何应对批评
我倾向于通过不关心语义来处理关于前端开发不是“真正”开发的批评。老实说,我不在乎人们认为我的职位名称是什么。在某些圈子里,我被视为设计师。在其他圈子里,我被视为开发人员(我想,为了更好的表达)。哎呀,当我打这些字的时候,Chris Coyier 认为我是作家。这与任何事情有什么关系吗?
我在这篇文章的开头自称是网页设计师,这是我对我的工作的默认答案。我的一些工作恰好涉及设计布局。有些涉及编码原型。有些甚至要求我编写函数。所有这些部分都是为了开发一个网站而协同工作的,而这正是我在一天结束时想要做的事情,无论我被视为设计师还是开发人员。
我们下一步该怎么办?
首先,让我们爱而不战。我真的不喜欢叫骂和尖酸刻薄的在线评论,因为这没有效果。
其次,我认为为更好的职位描述而进行坦诚对话的大门是敞开的。Lara 文章的重点不是 FizzBuzz 是邪恶的化身,而是她面试的职位超出了职位描述中的范围。
最后,让我们接受我们的行业正在快速变化,这包括我们所做工作的范围。我们需要对前端开发的范围有一个包容性和不断发展的基本理解,并且*开发*的含义可能会随着时间推移或甚至项目而发生变化。
好的,是时候停止写作,开始设计了。干杯!
你在这里完全说得对,如果你阅读了 这篇 Quora 文章,以及我和 Chase Adams 之间的后续讨论,你会发现它更多的是关于职位名称的问题;有时,企业或开发人员会模棱两可地使用像“前端工程师”这样的术语,因为他们认为这是他们实现目标所必须要求的,或者它是前端开发人员/工程师最简洁的方式来描述他们所做的事情,就像我猜测你一样?
哦,顺便说一句,我绝对认为开发现在不仅仅是编码,因为像 HTML、CSS 和 JS 这样的语言和结构的语法现在已经发展到了,有些人正在创造像 SCSS 和 CoffeeScript 这样的元语言来生成结构和规则,从而产生越来越令人印象深刻的交互式,在某些情况下是独立的应用程序、小部件和元素;如果没有它们,这些东西将无法工作!
在这个领域很难定义角色,尤其是在你不作为一个开发人员群体的一部分工作,而且没有固定的专业领域的情况下。
我认为这也是科技领域更广泛问题的一部分。随着时间的推移,随着角色的多样化,简历需要更具体。例如,简历是这样的演变
计算机 > 网页设计 > HTML、CSS、Javascript > 前端开发人员 > CSS 小部件 UX 交互专家
是的,我有点过于简单化,而且有点讽刺,但我认为这个领域的节奏可能是残酷的,围绕职位名称和技能的势利行为不仅没有帮助,而且当我们构建网站和创建内容的方式正在如此迅速地发生变化时,这种势利行为是荒谬的。
我被称作“全栈”开发人员,尽管我讨厌这个词,因为我既是前端开发人员,也是后端开发人员。由于我看到了两个方面的全部内容,我仍然同意你确实是一名开发人员。如果你可以编写 HTML/CSS/JS,那么你就是一名前端开发人员,我不在乎你是否不是专家。
老实说,我希望更多网页设计师能花时间学习 HTML/CSS,或者至少了解网络上的布局是如何工作的。这将解决我 90% 的问题。
向你和你同类致敬。
谢谢 Brian!在彼此的鞋子里走走,这绝对是件好事。即使它不会带来学习技能,它也应该建立同理心和理解,这在团队环境中同样重要。我们应该珍惜每个人为项目带来的东西,并学习如何共同努力打造伟大的作品。
您好!虽然只是一个简单的播客,但值得一读,令人鼓舞且富有启发!充满了诚实的意见......我想,我很享受阅读它。感觉很好!
太棒了,感谢分享!我一直都在思考如何解决标题/描述不匹配的问题,我认为这需要在标题方面进行某种程度的标准化。但不要标准化到让我们被限定在特定任务中——例如,擅长前端设计的设计师不应该被限制在设计师的角色中——而更像是性格测试,展示出我们技能最强的方面。然后,您可以根据自己的喜好重新进行测试,您的职位描述也会随之更新。网页人的迈尔斯布里格斯性格测试。
这些术语可以配合一个结构化的职位发布表单,这样就无法发布标题和描述不匹配的职位。为了更好地学习 JS,我遵循了 FizzBuzz 的理念,制作了一个原型,展示了它可能的样子。
啊,看来我已经开始写那篇我一直想写三周的博文了。很快就会发布!再次感谢您的写作。
Lara,你真是太棒了!我喜欢你开发(看到了吗?)这样的工具,它能提供解决方案。这个表单原型非常棒,我认为对于雇主来说,它非常有用,可以用来表达特定职位的需求。
毫无疑问,标准化可能会弊大于利。也许我们不应该努力为前端开发找到一个包罗万象的职位名称,而应该更好地定义项目的需求,并让申请者解释他们拥有哪些工具和技能来帮助完成项目。
我无法感谢你分享你的文章和反馈。它真的触动了我,我喜欢由此产生的讨论。你真棒。:)
嗨,Geoff,我认为这篇文章很有趣。我记得 15 年前,当静态网站流行的时候,我们都称自己为网页设计师。后来,当前端开始进行更多编程,行业需要一个术语来区分那些编程的人和那些做设计的人时,就出现了网页开发者这个词。当时,两者之间存在很大差异,我认为这种区分在某种程度上是必要的。当时的设计师很少进行编程(我说的是 jQuery 出现之前的日子),而后端程序员开始涉足前端,但对设计一无所知。当时,两者之间似乎有明显的界限。后来,当客户了解到这些术语时,他们开始利用它们来对付我们,老实说,他们现在仍然这样做。就像你一样,我来自设计行业,并学会了编程。现在我靠编程谋生,实际上很少做设计。我曾遇到过这种情况:我自称网页设计师,结果却让客户感到困惑,他们想知道“设计师?但你会编程吗?”
如今,界限变得模糊了。不过,我认为想要被视为网页开发者,就应该会编程。也许我的观点是受到社会影响造成的。我妻子有一台不错的相机,有时我也用它拍照。我认为自称摄影师很可笑,也会贬低真正的摄影师。我觉得对于那些只做了一点 HTML/CSS 就自称开发者的朋友,我也有同样的感受。这只是我的想法。我很喜欢阅读这篇文章。感谢你,Geoff。
在过去的七年里,我一直是一名前端开发者,我从一本关于 CSS 的书开始学习,并从那里一步步学起。
直到最近,当我主动提升我的 JS 技能时,我才真正感觉自己是在学习编程。
开发者和程序员之间的区别可能在于,操纵 DOM 元素以获得 UX 优势与编写完全可执行程序之间的区别。
我相信 FED 会像几乎所有 Web 文化一样进一步分化。一些人会成为动画和 JavaScript 专家,而另一些人会专注于 API、Ajax 和 Node。这其中有很多领域需要覆盖,很容易开拓自己的领地。当人们需要你时,他们会来找你的。
我同意你的说法,问题的根源不在于 UX/UI 设计师是否应该会编码(反之亦然,开发者是否应该会设计)。
了解你工作另一方面的基本概念绝对是件好事,但不是必需的。问题在于所谓的 HR/招聘人员以及招聘流程本身。他们不知道自己要找什么,也不知道如何写一份合适的职位描述。
这不是因为他们工作不好,而是因为他们没有足够的知识来寻找和评估潜在候选人。
一个优秀的 HR 应该知道这一点,并应该从负责相同角色的人员那里寻求帮助。HR(或管理层或其他人员)应该指导潜在候选人完成招聘流程的不同阶段,而不是主导它。
我被推荐到一家知名的大型跨国金融公司担任前端开发职位,在完成前两个认知评估测试后,我被几个关于经济和财务计算的问题给打懵了,这些问题主要基于电子表格图表。不用说,我考试失败了,并被告知“请在一年内不要再次申请”。
他们问这些问题是对的吗?也许吧,如果你在一家金融公司工作,就意味着你应该了解经济学基础知识。职位描述中是否明确定义了这一点?绝对没有。
职位描述只是要求一名具有我完全具备的技能清单的前端开发者,但我不得不先处理财务计算,即使我的工作技能还没有被测试。
如果我想聘请一名会计师在一家网络代理公司工作,他们是否应该了解循环、条件语句或如何设计网站?如果他们了解这些,可能对他们的个人知识有所帮助,但绝对不是工作所需的技能。
这是浪费时间吗?绝对是。我可能浪费了自己的时间和他们的时间(这相当于公司的资金),仅仅是因为他们的招聘流程存在严重缺陷。
现在是 2015 年,我们的工作工具和知识发生了变化。而招聘人才的工具和知识还停留在 1995 年。
如果您是 HR/招聘人员/等等,并正在阅读本文,请开始考虑邀请你们的开发者审查测试,并在面试时与你们坐在一起。你们团队比任何人都更了解他们迫切需要什么样的人。
我喜欢这篇文章!太诚实了……太真实了……这个行业里有很多势利眼,我申请过很多“前端开发者”职位,都像是雇主列出的圣诞愿望清单!说实话,很多设计师开始接触代码,但现代前端开发者需要精通一切……Node、SASS 等等……这个框架等等……当人们拥有“前端工程师”的职位时,我总是翻白眼!我也认识很多前端工程师(JS 程序员),他们也不擅长设计,所以我对他们也翻白眼……说实话,每个人都在努力进步学习……我不是 JS 大师,似乎因为这个原因我得不到某些职位,然而当我查看这些公司的网站时,往往都很糟糕,所以我感觉他们错过了什么,他们已经迷失了方向。从一端到另一端并非易事,所以向你致敬。
我非常理解你。网站编码是我的爱好,但我的职业是“计算机科学家”。我能用 Windows 或 Office 帮助你吗?可能有一点,但我的工作描述是软件工程师、软件开发人员、软件系统架构师等等。但人们不理解这些名称,所以我仍然是“计算机科学家”。顺便说一下:优秀的程序员不仅会编码,还会在桌面上放一张纸,而且他们会在开始实现之前绘制设计图。
因为我会 HTML/CSS/WordPress,我自称前端开发者很长时间,但后来发现这是“错误”的,因为我不懂 JavaScript。(我喜欢保持自己的网站简单,没有动画和花里胡哨的东西!)所以我开始称自己为设计师,但我发现这也是“错误”的,因为我没有在平面设计学校学习过。叹息好吧,我必须选择一个类别,现在我在设计学校学习。这并不容易,但我认为我很享受。我想知道,经过这一切之后,我是否真的可以称自己为“网页设计师”……
好吧,这有点贬低了 JS 的作用。当然,保持简单是一个值得称赞的目标,但有时使用 JS 可以帮助实现这个目标。为了给这场讨论增加另一个维度,当您开始接触 Web应用程序而不是 Web网站时,JS 基本上就成为了一个基本要求。
在这种情况下,我认为那些告诉你你错了的人大错特错。如果你有强大的作品集,并且努力学习设计原则和历史,那么你是否上过设计学校并不重要,尽管我意识到现实世界并不完全符合这个理想,令人遗憾。
你应该深入学习 JS。否则,将来你可能会在找新工作时遇到麻烦。除此之外,JS 动画非常强大。不幸的是,jQuery 平庸的动画库让开发者误以为 JS 动画不好。
这听起来像我自己的故事,我只是不停地追逐着技术领域的兔子洞,直到有时被称为“全栈”人员。虽然我越是往后端和业务端走,我总是会回到用户体验——并且简单地操作后端以产生更好的前端体验。我还想提一下,职位名称或描述的困难之处可以归咎于人力资源人员,他们需要给事物贴标签,而且经常无法获取关于招聘什么方面的正确信息——因此在招聘和人才搜索方面存在着很大的混乱。
继续保持技术上的创造力 :)
如今,成为一个 FED(涵盖所有前端内容)在很多方面都非常非常困难。任何认为并非如此的人要么无知,要么是天才。虽然前端开发的门槛很低,但要精通它却极其困难。如果在该领域定义职位名称存在困惑,那么人力资源或公众就更没有希望了。如果能诞生一些新的职位名称,有助于区分不同的职责,那将非常棒。但是,由于变化如此迅速,这些新的职位名称可能在被广泛采用之前就已经过时了。也许我只是太老了。
我认为你说的很对,skube——感谢分享!事实上,我认为有足够的理由支持“前端开发是真正的开发”这一说法,因为所有这些工具和资源(例如 Grunt、Sass、Javascript 等)已经成为我们工具箱中必不可少的组成部分。而且一个人工具箱中的内容与另一个人工具箱中的内容之间的差异可能非常大,足以证明职位名称不同的合理性。
在这个行业(可能也包括其他行业)中,试图将你的技能与特定的职位名称匹配,虽然令人烦恼,但这仍然是一个有用的工具。我认为社区确实需要努力朝着达成共识的方向发展,即使我们永远无法完全达成一致。我实在受不了看到那些招募前端开发人员的职位描述中还包括网站设计,而那些招募网页设计师的职位描述中却要求具备前端框架的知识。
在我看来,如果你正在开发/编写网站,你就是一名前端开发人员,如果你正在设计网站或网站的特定部分,你就是一名设计师(网页设计师、UI 设计师、UX 设计师,等等)。如果你两者都在做,那么你就有两个头衔,你是一名前端开发人员,也是一名设计师。当然,总会有一些重叠,但在某个时候,你不再仅仅是一个设计师或一个前端开发人员,而开始成为两者。拥有两个头衔没什么不对。
这很有趣,因为我认为有很多设计师被迫学习代码,而很少有开发人员觉得他们需要学习设计。
而且,你真的能“学习”设计吗?这就像成为一名音乐家——并非所有弹奏乐器的人都是音乐家。
我可以有效地组织信息,我知道如何布局网页以使其更佳。而且我看到好的设计时也能认出来。但这并不意味着我是一名设计师。
另一方面,了解所有开发框架真的有多重要?如果我使用 Grunt,这是否意味着我不适合使用 Gulp 的职位?这太荒谬了。
不幸的是,除了你的个人网络之外,所有招聘都是由计算机程序完成的,它根据关键词筛选成千上万份简历。所以如果职位描述中写着“Gulp”,而我知道“Grunt”,我的简历甚至无法送到人力资源人员手中。
如果我知道 Grunt,而他们想要 Gulp,很有可能我会得到面试机会,因为我的打字错误。无论我想要输入哪个,我都很有可能打错成另一个。
如果可以编程,我就可以编程,前提是我可以访问 Google 来查找问题的答案。
我不会创作图形艺术。对我来说,这就是编程与视觉艺术之间的界限。
我在任何系统中需要关注的部分工作,以便为我的客户提供他们需要的结果。叫我全栈开发人员,我会给你一杯葡萄酒,并引导你去现代艺术博物馆(那里所有的艺术都很荒谬,正如小野洋子作品“艺术”所证明的那样),然后我会继续工作。
昨天,我必须弄清楚如何将任何纵横比的图像并排放置在任何尺寸的屏幕上,以便可以比较和投票。我称之为前端设计和开发。
上周,我以 root 用户身份登录到 Linux 服务器,实施了域密钥和 DKIM,因为从该服务器上的应用程序发出的电子邮件报告被一些客户的邮件服务器退回,而邮件管理员无法弄清楚如何将发送域列入白名单。我称之为后端基础设施,并为一位本应通过将我们的域列入白名单来避免该服务器工作的同事擦屁股。
去年,我编写了大量的 SQL 代码,将数据从一个数据库迁移到另一个数据库,以便将数据放入正确的表和字段中。这听起来像
数据管理或数据库开发。
前端开发人员认为我是一个黑客,因为我不了解他们所有的技术。服务器管理员告诉我,如果我必须问一些我问的问题,就不应该使用 root 帐户登录。PHP 程序员认为我是一个初学者,即使我一直这样做,直到他们还是个孩子。我被一个 22 岁的年轻人侮辱了,说我不够时髦,因为我不在项目中使用 Composer 来管理第三方库。这个年轻人没有看到 Google 的 reCAPTCHA 代码示例链接到 8 个库中的 1100 个文件,其中 5 个不同的供应商,而实际上没有一个文件用于使 reCAPTCHA 工作。外部库的原因是 Google 的内部项目团队需要这些库,因为 reCAPTCHA 是 Google 内部更大项目的一部分。这使得我的工作——为客户的购物车结账实现“我是人类”复选框——变得更加困难,而他们只想知道我之所以难以实现是因为我对相关技术缺乏经验。他们无法理解这些技术无关紧要,因此应该从公共版本中排除。我想这让我成为了架构师。
看来,职位名称的势利眼并没有被认清是什么——愚蠢和丑陋。
我一直以程序员或 IT 管理员的身份谋生,从 1984 年开始。在那之前,我从麻省理工学院获得了工程学学位。当我说明我的教育、培训和经验让我得出结论,Wordpress 是一个骗局时,我的任何资格或职位名称都不重要。没有人想知道为什么我认为 Wordpress 是一个骗局。重要的是,那些认为 Wordpress 很好的人认为我是一个疯子,而那些不喜欢 Wordpress 的人认为我是一股清新的空气,终于出现了“一个 IT 人员”没有在屁股上取乐。
我是一名计算机程序员。这就是比尔·盖茨在运行微软时,护照上的职业。我不喜欢使用 Windows 服务器,我更喜欢使用带有 Linux 基础的 Mac 而不是笔记本电脑上的 Windows,但我仍然觉得比尔·盖茨称自己为计算机程序员很酷,我也称自己为计算机程序员。
我倾听人们想要什么,并向他们展示我为实现我对他们想要的东西的理解所做的事情。如果他们需要艺术作品,我通常可以从别人的网站上获取我需要的东西,稍作修改,使剽窃不那么明显,这样每个人都会很高兴。如果他们需要一个标志和非常好的品牌设计,我会告诉他们,这些成本对于小企业来说从 10,000 美元起,以涵盖艺术作品和编码全新设计的四倍时间。
所有这些职位名称都是胡说八道,是由那些招聘和解雇人员的人力资源经理发明的。他们可以得到我的中指,我正指着他们。
我和你一样——除了我的学位是电气工程。
我相信,我今天不是“程序员”的原因是我的第一个基础 FORTRAN 课程需要使用穿孔卡片。:^P(伊利诺伊大学历史上最后一个使用穿孔卡片的课程。)
基本上,我使用任何对我来说有意义的工具和技术来创建网站。网络专业人员听起来很合适。
让那些 22 岁的年轻人花点时间学习,他们不是无所不能的——他们越傲慢,教训就越难学。(这是从一个 22 岁时也很傲慢的人那里得到的教训。)
我个人很乐意在州政府工作,主要是因为我不必和那些比我孩子还小的、告诉我该怎么做的人打交道。
顺便说一下,OSX 是基于 Unix 的,而不是 Linux。
Jorge,OSX 是基于 Unix 的,而不是 Linux?这是个笑话吧?…也许不是笑话,但可以解释为什么它有点虚弱?
我已经习惯于把自己称为网络专业人员了。这个称呼有点泛泛,模糊不清,可能还带点自负。但我认为,它为我参与的项目以及我想参与的项目设定了正确的预期。
有一段时间,我试着告诉人们我是一名“网络设计者”,几乎没有人觉得有趣,他们对我的角色更加困惑。
每个人都在这里提到 HTML/CSS/JS,所有这些都是必需的,但 PHP 也是必不可少的,无论我们是否喜欢它。
哈!我记得也试过同样的事情,结果非常相似。
PHP 当然已经变得很重要,它可以非常有效地简化前端工作流程,即使只是“少量”的理解:https://css-tricks.cn/sprinkling-php-server-side-techniques-help-front-end-tasks/
我认为 PHP 如今不再是完全必须的了。我觉得这个要求已经变成了类似“需要精通面向对象的 Javascript 并且熟悉像 Gulp 这样的构建工具”。
是的,PHP 绝对不是必须的(我认为其他技能也是如此,比如 Sass、Grunt 等),但它可以在我们的前端工具集中起到帮助作用,并且可能帮助我们与可能在同一个项目上工作的程序员建立更好的工作关系。
PHP 不是必须的。许多网站使用 PHP,但也有其他语言可以用来编写网站。
例如,我有 7 年的经验使用 C# .NET 作为后端来编写前端内容。(作为前端开发者,C# .NET 比 PHP 好太多了。)
我同意了解你正在使用的后端语言的基本知识很有帮助。
我不确定你生活在哪颗星球,但在我的世界里,PHP 是必须的,因为它为 WordPress、Drupal、Joomla!、MediaWiki 等提供支持。
使用 PHP 的热门网站包括 Facebook、Twitter、维基百科或百度。
根据 W3Tech,在 2015 年,PHP 被 81.9% 的已知服务器端编程语言的网站使用。以下链接提供了一些揭示性的统计数据。
网站服务器端编程语言的使用情况
我不确定你生活在哪颗星球,但在我的世界里,PHP 是必须的,因为它为 WordPress、Drupal、Joomla!、MediaWiki 等提供支持。
使用 PHP 的热门网站包括 Facebook、Twitter、维基百科或百度。
根据 W3Tech,在 2015 年,PHP 被 81.9% 的已知服务器端编程语言的网站使用。以下链接提供了一些揭示性的统计数据。
网站服务器端编程语言的使用情况
@Ian 对于你生活在 PHP 世界里,我很高兴,但这里不是这样。我所知道的所有的重大项目都是用 .NET 构建的。最大的 IT 公司都在使用 .NET 进行开发。
Twitter:Scala(以前是 Ruby on Rails)
雅虎:php(正在迁移到 node.js)
领英:java、scala
eBay:java
亚马逊:java
Stack Overflow:asp .net
谷歌 - Java(网页)、-C(索引)。
如果你查看招聘机会,这里大约 50% 的职位要求前端开发者具有 .NET 经验。
所以,PHP 不是必须的。了解后端的工作原理,我说的不是语法,这是一个加分项。
那么,“这里”究竟位于银河系的哪个角落?我只是好奇。
在 2015 年的地球上,“这里”的 PHP 被 81.9% 的网站使用,这些网站的服务器端编程语言被 W3Techs 监控,这是一个非常可靠的来源,至少在 IT 人士中是如此。
http://w3techs.com/technologies/details/pl-php/all/all
仅 WordPress 平台就为全球 25% 的网站提供支持。
在我看来,人们对 php 的看法就像它对普通人来说太危险、太难了。我就像“什么?我会告诉你什么很困难,那就是当你无法在模板中使用 php 时,让一个系统按你的意愿工作!“我们的模板不需要你是一个程序员,因为我们有这些半吊子的短代码来使用,而不是 php,这些代码比 php 简单得多!”(我以前从未见过它们,它们可以完成 php 所做的绝大部分工作,但并非所有工作……它们与 php 100% 都是一样的编程语言,但这只是表明我对这些东西一无所知,它们以前让我抓狂。
是的,我真的很喜欢这篇文章……它击中了一个痛点。以前这让我很痛苦。
这里 = 荷兰。
如果你是一名开发者,并且你的专业知识是 WordPress、Joomla、Drupal,那么对 PHP 有所了解是必须的。但是你不能否认 PHP 是唯一的语言。.NET 的市场份额正在增长(我的位置)。NodeJS 也在增长。
有许多不同的服务器端语言。你只需要了解的是后端是如何工作的,以及在较小程度上,它所使用的语言。
我自己也刚开始学习 PHP,我对 PHP 的了解非常有限,但我可以用它很好地完成工作,因为我对后端的工作原理有基本的了解。
只是出于兴趣,领英正在使用 node.js,而不是 Java,他们最近才迁移过去……我在“学习 MEAN 栈”一书中读到的……我目前正在学习……PHP 很重要,但和其他语言一样重要,对前端开发者来说并不是必须的,尽管在某些职位中需要,而且通常也很有用。我开始发现企业中使用 asp.net 的比 php 多,但确实有很多语言……作为一个前端开发者,与其说要使用代码块进行开发,不如说是要围绕它工作,无论使用哪种语言,我假设更高级的开发者会对整个技术栈都有所了解……
这本书的名字是……抱歉,它不是我上面提到的那个名字……它的标题是:
全栈
JavaScript
开发
使用 MEAN
作者:ADAM BRETZ 和 COLIN J. IHRIG
我与这本书没有任何关联……只是想提一下,因为我发现它对像我这样的 node.js 初学者来说非常不错;)
我非常能理解 Lara 的文章,并对它收到的那些尖酸刻薄的评论感到震惊。我忍不住把自己代入那些评论的接收者的角色,因为我与她的文字产生了强烈的共鸣。我很高兴我不是唯一一个有这种感受的人。我只是希望我能像你一样,少关心一些,Geoff,但我发现如果我需要向别人准确地推销自己,我就做不到。
但对那些我不想准确描述自己工作内容的门外汉来说,“网页设计师”这个称谓确实最合适。
我完全理解你的感受,Coz。如果我处在一个需要更多自我营销,并需要定义那些技能来获取新业务的职位,我可能会比现在更在意这些问题。我记得当我第一次开始做自由职业时,我对自己的定位感到非常尴尬,花了很长时间才找到了正确的平衡点。
在我参加工作面试的经历中,我遇到了各种各样的雇主,他们甚至不知道自己要找什么样的人。仅仅是因为他们没有经验丰富的项目经理,无法确定开发团队需要什么样的工作能力。即使是大型跨国公司也是如此。所以大多数时候,我都是身兼数职,完成那些在其他公司会分配给多个人完成的任务。
非常有启发性的文章,它准确地描述了我今天遇到的问题,因为我正在寻找一份前端(WordPress)开发者的工作。
我决定称自己为“数字媒体设计师”,因为这是我在乌特勒支艺术学院的专业。
我知道这种观点有缺陷,也有一些灰色地带,但这就是我目前的看法……我在描述性意义上使用这些术语。
开发者构建东西。设计师让东西看起来和感觉起来都符合某种方式。
前端是客户端。后端是服务器端。
如果你使用 JavaScript 在网站上修改内容/结构,那么你就是前端开发者。如果你使用 LESS,那么你就是后端设计师。
话虽如此,我认为技能比术语和头衔更重要。将一组技能归并在一起,然后称自己为设计师,这并不能告诉我你到底做了些什么……也许你使用 jQuery 来制作动画,也许你只会使用 Photoshop。
我感觉到我的朋友中有一种批评:‘前端开发者只是学会了 html 和 css 的设计师’。我大多数时候都无视他们,因为他们后来又回来求助,然后……我就笑了。
我认为这些更多的是职位名称。我认为职位名称在公司试图确定职位所需的技能组合时会发挥作用。
归根结底,我认为如果你为网页做任何类型的编程,你就是一个网页开发者。我建议 HTML 和 CSS 不属于“编程”(一个小技术细节)。所以,如果你只是在 Photoshop、HTML/CSS 中工作,那么我认为你是一个网页设计师。
我发现,很少看到一个“前端开发者”对 JavaScript 非常熟悉,却从不接触 PHP 或其他服务器端代码。目前,我是一名前端工程师。我每天都在使用 PHP(Phalcon)。
我还要说,这可能是更有经验或更高级的开发者不太关心的问题。你开始意识到你无法真正对自己的工作进行分类,我们都是网页开发者(只是熟练程度不同)。
很有意思!我喜欢用合适的技能来匹配工作的需求,无论职位名称是什么。
你为什么说 html 和 css 从技术上来说不是编程?我认为这是错误的,但我非常乐意说,“哦,我不知道,谢谢你教会我一些东西。”
这里的底线是,最终都归结于找到一份你感到舒适和快乐的工作,所以我会根据自己的经验多说几句……
如果我要为潜在的技术公司写你的简历标题,我会写“UI/UX 设计师/开发者”。这不是一个干净或漂亮的标题,但它包含了你似乎做的所有事情,并且按优先级排序。你的技能似乎主要集中在设计方面,在 UI 开发方面略有涉猎,而在服务器端方面则很浅。这听起来像是,如果工作需要,你会很乐意深入研究 JS,并放弃更多设计方面的工作。至于你是否会乐意这样做,那就另当别论了。
我曾经是一名设计师,然后是艺术总监,然后是网页设计师,然后是网页开发人员,曾在“UI工程师”(一个几乎是矛盾的称号)职位上短暂任职,现在担任UI开发人员。在自我营销时,我使用“高级前端开发人员”的职位。“高级”是因为我从事这项工作很长时间了,并且很乐意接手项目并领导项目,“前端”是因为我更倾向于将它与开发而不是“UI”联系起来……老实说,我认为“UI”不应出现在“开发人员”之前的职位名称中,但这是我公司赋予我的职位名称,所以无所谓。我仍然做一些UI/UX设计工作,但我主要为大型Angular应用程序编写模块化JS,并在需要时与Java和SQL作斗争。
在过去的几年中,我面试了多个前端开发职位并获得了工作机会,我看到的大多数标记为“前端开发人员”、“UI工程师”或其他类似名称的工作都在寻找首先是精通JavaScript的人。不仅仅是DOM操作和CSS类交换,或者甚至是构建由JS驱动的复杂UI组件,而是能够构建和扩展单页应用程序的人,无论技术是Backbone、Angular、Ember等。
这些公司也一直在面试一些会一点jQuery的设计师(不是说你,也不是想贬低你),他们想出了像上述FizzBuzz这样的试金石来检验对流程控制和迭代的基本了解,这些在应用程序开发中被不断使用。他们知道,如果你不能做到这一点,或者至少尝试去弄清楚,那你不仅不符合这个职位的要求,而且如果被录用,你也会对你的工作感到很不满意。
我同意设计师和开发人员互相抛出头衔并声称某种优越性是愚蠢且毫无意义的。然而,我不确定说设计有点像开发,或者试图重新定义它以试图融入你认为“势利”的人中,是否真的有效。再说一次,你必须关注底线,面试,职位描述,你的技能,以及作为求职者和职业发展者,你需要知道公司发布职位时在寻找什么。
当我找工作时,我通常会阅读任何写着“前端”或“UI”的职位描述,然后直接跳到描述他们在项目中使用的技术栈的部分。如果我对他们使用的前端(HTML/CSS/JS/jQuery/Angular)技术感到满意,并且对后端(Node/Java/PHP)技术略微感到满意,我就会滚动回顶部阅读所有关于公司及其“改变游戏规则”产品的夸夸其谈。对我来说,“了解Photoshop/UI设计是一个加分项”有点像一个红旗,表明他们不是在寻找一个深入编码的人,而更像是一个能设计、编写CSS并了解一些jQuery的万能选手。我个人希望每天专注于深入研究web应用程序代码以保持我的技能敏锐,所以做一个万能选手会让我在职业上感到不快乐。
如果你陷入这样一种情况,你参加了面试,但你并不愿意接受这个工作,最好的办法是对自己和潜在雇主诚实。指责你认为与职位描述不符的职位名称,或者把面试官说成是不理解你的势利小人,这是在对自己不诚实,并阻止你从经验中学习。决定你是否更愿意做每天编写JavaScript的书呆子,并对FizzBuzz了如指掌,而不是设计和构建漂亮的UI,这才是真正重要的。
所以,我不知道我上面说的话对任何人是否有意义,但最终我觉得设计/开发更像是一个频谱,而不是一个职位列表,而你的技能通常会填充并更多地倾向于这个频谱的一侧。我认为职位名称除了它们为你提供的职业和经济上的攀登阶梯之外,没有其他意义。我也相信,为了真正对你的工作感到满意,你只想去申请你愿意承担责任的职位描述。
是的,我是一个万能选手,并且接近抑郁。我正在努力不再是任何东西,但发现很难在任何方向上奔跑,然后告诉下一个说自己不熟悉计算机的人,而他们在第二句话中又说他们认为这需要两个小时,我不能帮助他们。我自我审查是为了礼貌。
是的,我经常看到一些毫无意义的职位名称,比如“前端忍者”或“网页摇滚明星”,但对不同的人来说,它们的含义都不一样。
雇主(或者招聘人员)有责任正确地表达工作期望,这样才能吸引到更相关的申请者。
另一方面,正如你总结的那样,就是申请你感到舒适的任何职位,不要欺骗或勉强自己,这一点非常棒!
Geoff,既然你同时拥有UI设计和前端开发经验,我很想知道你是否仍然期望对设计进行“像素级”的实现,或者你是否允许开发人员更加灵活。
我喜欢这样看待问题:有前端开发人员,也有既是前端开发人员又是程序员的人(即全栈开发人员)。
第一种人来自设计背景。他们要么了解设计,要么就是设计师,通常精通HTML、CSS和Sass/LESS/Stylus。而JavaScript则不然。他们知道如何使用jQuery进行基本操作(显示、隐藏、点击、动画),但例如无法编写自定义jQuery插件。
第二种人来自编程背景。他们不是设计师,通常没有设计眼光。他们在他们选择的服务器端语言方面是专家,通常精通HTML、CSS、Sass/LESS,以及JavaScript。他们知道原型继承和闭包是什么。他们可以编写jQuery插件。他们可以使用AngularJS、D3.js和任何其他复杂的JS库。
请注意,只要他们不虚假宣传自己的能力,第一种前端开发人员不应该有任何污点。如果你只知道jQuery,那你就不知道JavaScript。不要在你的简历上写JavaScript,也不要申请需要一定程度的JavaScript开发经验的工作。
基本上,你应该少关注职位名称,多关注工作要求。
如果工作要求本身也准确的话,我完全同意。
我在招聘信息中看到了各种各样的组合。设计师职位要求开发人员技能,反之亦然,以及两者之间的所有情况。没有人知道这些到底代表什么——但那些应该知道的人(即人力资源/招聘经理/猎头/临时机构/那些正在寻找我们的人)也许是最无知的。
我对此没有意见……因为我找不到好的解决方案。但我认为问题更多地来自他们,而不是我们。
这篇文章非常清晰地解释了前端角色之间的差异。
http://drewbarontini.com/articles/the-front-end-spectrum/
喜欢这篇文章。谢谢。
谢谢!
我总是听到有人被称为独角兽。那是什么意思?
这是一个“神秘生物”,它无所不能,指的是web开发。图形设计、UX/UI、前端/后端开发、服务器,以及喝咖啡。
大量的咖啡。;^)
其实,在web上工作意味着戴很多不同的帽子,这并不是什么秘密。我的职业道路和你非常相似。最初,我只是一个知道Photoshop和Dreamweaver的人。整天都在使用所见即所得工具。后来我发现自己对生成的膨胀代码感到沮丧,就开始学习HTML和CSS,这样我就可以控制自己的设计。然后“嗯,我需要比这更多的功能”。于是,我开始了漫长的JavaScript探索之旅。
最终,随着我对技术的兴趣和好奇心不断增长,我有一天抬头一看,意识到自己在进行严肃的编程。这不是有意的,而是**自然而然的进步**。随着web的复杂性不断增加,我们发现自己需要更好的方法和技术,web编程的范围也随之扩大。
我怀疑我们经常不知道自己作为前端开发人员应该处于什么位置的原因是,web本身正在扩展到更大的领域,而我们只是跟随地形。技术本身发展很快,但web是**水银**。一个传统的程序员可以选择一个领域,并确信,即使它不断发展,他们的技能在未来几个月,甚至几周内都不会发生重大变化。
web则不然。简单地回顾一下它多年的发展历程,你会发现它是一个几乎**无限可塑**的领域:不断改变形态以适应目的。从纯文本和Usenet到丰富的媒体和世界上最流行的社交网络。从局限于笨重的CRT显示器到握在我们的手腕上。我们的冰箱也将是网络化的,并将进一步模糊这些界限。
不是为了美化它,而是为了工作和建设,我们自己也必须具有可塑性。相比之下,系统领域非常动态,但你可以暂时离开它,并相信你仍然会有一定的相关性。web simply won’t let us sit still long enough for the atomic level of specialization that occurs in other domains.
不仅如此,它还很年轻。与整个开发相比,web只是一个爱闹腾的婴儿。再举一个例子:其他领域的开发人员仍然将web技术视为不稳定的原型,我们可能看起来像在为他们驯服牛的农场工人。web开发被认为不是“真正的”开发,因为我们仍在**发展**我们自己的习惯用法和标准。即使我们这些在战壕中的人都知道这有多真实。
不过,就我个人而言,网页开发是否算得上真正的开发并不值得考虑。仅仅因为网页开发尚未获得其他技术领域那样的稳定性,并不能削弱其发展的复杂性,也不能贬低我们为了跟上步伐而不得不学习的新技术。
我怀疑网页设计和网页开发如此紧密结合的原因(以至于它们可以互换使用)是因为网页本身从文本媒介发展到视觉和交互媒介。设计是外观和功能,我认为没有哪种媒介像网页一样能证明这个真理。
网页设计和开发都是文本。有时是生成的文本,但从标记、样式到功能,都是文本文件的集合。毫不奇怪,这两个角色之间会存在混淆。**在很多方面,网页设计类似于网页开发**。这似乎仅仅是我们在创建网页产品的堆栈中的位置问题。
在这方面,我们的困境是自然的。现在没有明确的界限。在试图使网页更像我们熟悉的媒介时,可能存在过这样的界限,但作为自身生物的网页的需求,已经很大程度上消除了这些界限。
过去,网页设计师是在Photoshop中设计网站的人,而网页开发者是将设计转化到网页并实现功能使其运行的人。然而,随着媒介的演变和普及程度的提高,我们无法再将网页放在单一的环境中考虑。
因此,我们的角色必须改变。现在,我们需要戴很多帽子,我们的技能处于一个频谱中。不再是设计还是开发的问题,而是**我们有多少**和**我们多长时间**倾向于钟摆的任何一边。我们有这样的困境,**因为网页迫使我们做出改变**。
最后,正如您所说,即使在更传统的开发中,设计也是一个重要的关注点。良好的设计和架构,不仅包括代码,还包括界面,对软件和系统的质量至关重要,试图将它们分开将是断头之刑。
自从我开始涉足技术领域以来,我戴过很多帽子,以至于我已经决定学会喜欢戴帽子。:P
说得好。最终,这一切都归结于经验。多年来你戴过什么帽子并不重要,重要的是你不断学习新东西,每天都面对新的挑战。
Chatman,非常感谢你分享你的故事!我真的很喜欢在一个快速变化的环境中,我们需要乐于戴很多帽子的想法。
喜欢这个
这篇文章非常适合我,我目前正在上大学,主修交互媒体和网页设计,这是一个你所能想到的最平淡无奇的学位了。我主要专注于网页设计,而我的同学中有90%是平面设计。每当我在课堂上,每个人都说我是一个后端程序员。我同意,但我做的不仅仅是这些。他们似乎认为,既然我精通PHP / MySQLi,那我只能做这些。每当我在设计原型时,或者在我的领域超越“前端人员”时,他们都会感到惊讶。我可能是一个“后端程序员”,但我绝对不会放在心上。我喜欢做各种各样的事情。很棒的文章。
喜欢那个结束语。:)
没错,我看到太多标题被用来填补这些角色,或者许多其他角色。有些人只精通CSS,有些人更倾向于JS……前端开发人员/设计师,UI/UX开发人员,甚至只是“网页开发人员”。
我喜欢这样看待它?
我“构建”网站。编程?我们至少需要了解它的基本方面。尤其当你开始使用JS的时候。当然,它不是世界上最难的语言。但重要的是概念。OOP等等。
我可以拿起任何编程书籍,并且可以从每种语言中学习到新的东西。但大多数都是从以下内容开始:If,If Then,循环,变量等等。
我们可能不知道20种不同的遗留语言,等等。
但我敢肯定,你不知道如何才能让用户点击某个特定的项目。
哪些词语会真正突出并吸引他们的注意力。
如何才能真正地很好地推广一个网站。
我认为,我们身处一个必须了解网页各个方面知识的领域。服务器语言,浏览器问题,社交媒体,设计,计算机科学,用户互动和行为。
你可能不认为我是一个程序员。
但我确实是一个知识渊博的操纵大师。
哎呀,太棒了。为什么人们不能只是做他们喜欢做的事情,而不用“势利眼鲍勃”来插嘴呢?做你自己吧。
这么多评论!每个人都有自己的想法,这并不奇怪。
作为一名多面手,我比见证他们变得有意义,更多地经历了对角色的错误命名和误解。
幸运的是,我现在的客户决定,与其试图弄清楚要用什么标签,他干脆用了“网页忍者”,然后描述了他的目标。在他(令人失望地)明确表示没有潜伏在蜘蛛侠服装中或使用双节棍后,我们都明白了他的意思,以及我能够做到这一点。
为了清晰起见,我认为我们应该简单地避免使用标签,而谈论目标。我们一直在争论是使用em,i,span,p,div,还是其他任何适合当前项目的标签,我们惊讶的是,我们无法将工作职位名称弄对吗?
一旦有人不再使用标签,而是说“我希望开发者这个词脱颖而出”,我就可以提出必要的问题,以准确了解他们想要什么,并决定如何最好地为他们提供服务。
在我看来,是JS MVC开始了这场混乱。后端现在通过JS被推到了玻璃窗前,硬核JavaScript开发人员现在被认为是新的前端开发人员。
是的,为什么不呢,加入一个bootstrap主题,用Angular加强它,你就得到了一个网站。它可能不是一个高质量的网站,但嘿,如果它们都一样糟糕,没有人会注意到(只有我们这些“玻璃窗”前端人员,一个正在消亡的物种)。
然后,你就得到了乐高定义的前端开发人员。
HTML5/CSS3,基于JavaScript的MV*框架,线框图
将视觉设计翻译成HTML和CSS
响应式设计和浏览器优化
移动优先
CSS预处理器(LESS/SASS)经验
自动化的功能和验收测试
MVC设计模式和单页应用程序
对我来说,这似乎是一件非常繁重的事情。去掉RWD、SASS和浏览器优化,你就得到了一个优秀的JavaScript应用程序开发人员,恕我直言。
如果这是新的定义,我几乎感到羞愧于称自己为前端开发人员。
这个问题最近一直困扰着我,我在过去的一年里多次更改过我的LinkedIn职位名称 ;) 我目前还是坚持用HTML & CSS开发人员。
几个月前,我得出结论,“开发者是你的印前人员”,这很有趣,克里斯在一周前也提到了这一点。桌面出版商有两种类型,技术型和创意型。创意型桌面出版商在图形工作室中排版页面,而技术型桌面出版商在印刷厂中准备打印文件。
前端开发人员将/应该进一步细分,类似于
JavaScript开发人员(API、Ajax、Node等/又称技术型前端开发人员)
HTML & CSS开发人员(响应式、sass等/又称创意型前端开发人员)
动画开发人员
这只是我的观点……带着点批判性地去看吧。
网页设计师最低限度知识
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
CSS,Sass/Less,CSS框架,HTML,可访问性,基础SVG,基础DOM操作(使用JavaScript或jQuery),可以设计跨浏览器兼容的网页,使用矢量软件(如Illustrator或Inkscape)进行设计。
前端开发人员最低限度知识
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
CSS,HTML,了解JavaScript的基础知识,至少精通一个主要的JS库(动画库/MVC框架/jQuery等)。可以通过浏览器或服务器开发交互性。
现代开发人员+设计师
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
以上内容再加上至少一项或多项:HTML动画,Canvas动画,SVG动画,WebGL动画,音频/视频演示。
自杀式设计师/开发人员
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
我不学习 ______ 或 ______ 因为(在这里插入懒惰的借口)?
HTML动画……我笑了,我想是年龄大了,因为
<marquee>Weee animating html</marquee>
当我创建我的第一个主页时,它就在那里;)
我认为网页设计师和网页开发人员之间的最大区别不在于他们是否能做到两者兼顾,而在于他们花更多时间设计还是开发。
例如,我是一个全栈开发人员。我做了一些项目,我自己设计和做UX。这是否意味着我是一个网页设计师?很有可能,但我只认为自己是一个开发人员。
与此同时,我的一位朋友做UX/设计。他知道如何做HTML/CSS/Javascript。他可以创建快速原型,但他从未真正将自己视为开发人员。
设计和开发之间存在重叠吗?绝对。但正是这些重叠让设计师和开发人员更容易更高效地合作。
很棒的文章!最近我自己在个人层面上也一直在纠结前端开发人员、网页开发人员、软件工程师、全栈等等这些术语。
我的背景实际上是电气工程,在25年以上的时间里,我已经四次经历了“RIF”(裁员),我决定追求我所谓的网页开发的热情。
凭借着强大的编程背景,对网络标准的热爱,以及从加州大学洛杉矶分校扩展学院新获得的设计传播艺术证书,我远程参加了黑客反应堆课程,以复习我的 JavaScript 知识。
不过让我说清楚一点,我不是设计师,也不认为自己擅长图形设计或网页设计,或者任何类型的设计,说实话。我知道什么看起来好,什么看起来不好,但当我自己要做什么类似的事情时,我就会僵住。我喜欢编码!!
当我今年 1 月完成黑客反应堆课程,开始找工作的时候,我很难确定应该怎么称呼自己(现在也是)。我将网页开发人员和前端开发人员等同于那些能够并确实进行设计的人,而我将软件工程师(无论是前端、后端还是全栈)等同于那些编写代码的人。
在找工作的时候,一些潜在雇主看到了我的设计传播艺术证书,并假设我擅长设计,我不得不解释说我完成证书是因为我想知道设计师的想法,并了解良好设计的背后基础知识。甚至有一位面试官向我展示了他的网站,并告诉我“让它变得漂亮”。 ugh!!
我还发现,公司之间存在差异,取决于他们是在寻找开发人员还是工程师。大多数寻找开发人员的公司期望有设计经验,而工程师职位则寻找编码人员。我收到一份工作机会,被宣传为网页开发人员,但提供给我的却是软件工程师职位!
我最终接受了一份被宣传为软件工程师的职位,这也是我倾向于称呼自己的方式,试图避免人们期望我拥有良好的设计能力!我仍然做一些诸如响应式设计之类的项目,但我不是独角兽! ;-)
很棒的帖子。对我来说,我很高兴看到似乎有“喜欢 JavaScript 但从未打开过 Photoshop 的人”的容身之处。
嗨,伙计们!我试图编辑我在这里的评论……
你们真的需要在发帖时提供编辑和删除选项。
谢谢
有时我觉得其他语言,CSS 在语义错误的情况下会生成错误等,这样就不会让外行人觉得它很琐碎。
我知道你的感受。我想我的头衔应该是系统工程师,包括前端和后端编程。由于我主要为网络开发,人们仍然叫我网页设计师。
我知道如何设计,但我并不擅长。就像你描述你的编程技能一样。
作为一个“开发设计师”,我在过去二十年中意外地靠精通 HTML、CSS(以及我们喜欢的元抽象)、普通 JavaScript、jQuery、AngularJS、ExtJS、Flash (AS2/AS3)、PHP (Drupal/Wordpress) 谋生。我也被诱骗去追求设计像素完美的呈现。“如果你想把事情做好,就自己动手。”或者,至少要精通到足以与你的开发者兄弟姐妹说同一种语言。
我在日常工作中偶尔(也是意外地)使用 C#。别忘了我在上一个工作场所使用的 JAVA……长话短说,我不知道该怎么称呼自己。当人们(比如祖父母)问我在做什么工作时,我总是回答“电脑……”。我被 Lara 的工作头衔生成笔逗乐了。它太棒了,应该被送到每一个 HR 部门。
如果你能从我的胡言乱语中明白一件事,那就是你要主动承认角色和职责重叠的趋势和变化。你的价值会提高十倍。随着时间的推移,你(意外地)会巩固更高级别的架构概念,而那些学习计算机科学的人可能在入门课程中就学习了这些概念。与那些人交谈,并与他们交朋友。停止复制粘贴,开始扩展基本类。如果你不这样做,当你的架构在规模上崩溃时,你会经历无数的“啊哈”时刻。
好了,今天早上回到 Sketch 和 InVision。:)
我理解你的感受……
我从和你一样的起点开始:学习 HTML 和 CSS 作为我 Photoshop 和其他设计技能的扩展,主要用于帮助推广朋友的乐队。
从那时起,在专业环境中大约 10 年的时间里,我在这些技能的基础上不断学习,并称自己为“前端开发人员”或“UI 开发人员”,但也学习了其他后端语言,比如 Java,这样我才能在开发前端界面时更有用。我们这个领域的一个笑话是,超级聪明的后端开发人员就是不懂 HTML 和 CSS,也不会设计 UI/UX。我理解这一点,因为有时我无法理解他们做的事情。
最近我转到 Ruby on Rails,对前端和后端编码有了更好的理解,但我喜欢处理面向用户的网站设计。我觉得了解两部分如何运作会让我成为一名更优秀的开发人员。然而,当我在某个阶段面试工作时,我发现称自己为“前端开发人员”最终会低估我自己。
我发现一些后端和全栈开发人员,无论他们想如何与前端区分开来,都非常敏感,但谁拥有闪亮的“开发人员”徽章。我不明白为什么这很重要,只要我们讨论的技能很清楚就行了。前端开发人员——你开发……前端……视觉效果,以及使这些视觉效果生效的代码。也许这里和那里有一点面向对象编程,rails 或者 something.js。
你有没有发现 IT 专业人员普遍很势利?我有,虽然样本量不是很大。我想知道为什么。也许这是因为对他们/我们的技能需求量很大,而且通常与精通这些技能的人高智商有关。当然,对于每一个争论语义并嫉妒地保护自己的“开发”后缀的吵闹的开发人员,都有一位极具天赋的人与社区分享,并普遍乐于讨论和学习。 ¯\_(ツ)_/¯
你知道这里最大的问题是什么吗?
最大的问题是 SPA(单页面应用程序)。我为什么这么说?
因为前端开发越来越难,因为现在你被期望了解这些,而 SPA 深入软件工程领域。
如果你在前端方面涉足过 HTML、CSS 和 JS,目的是使你的网站具有交互性和美观,你很快就会意识到这与编程 SPA 有多不同。
你看,对于 SPA 来说,一切都是关于数据管理和数据流的,这与为用户创造美观的东西完全相反。
这就是我们给自己的职业命名如此之难的原因。
如果你问我,我会这样说:
前端网页开发人员——UX 设计、HTML、CSS、JS (jQuery)。
JavaScript 开发人员——SPA。
你的意思是前端开发人员?
Geoff,
我认为自己是一位前端设计师/开发人员。为什么?因为在 8 年的时间里,我一直专门在 Photoshop 和 WordPress 中进行设计和开发,并且在这样做的过程中,学习了一些 PHP 和 JS,但只有在需要的时候才会学习。我同样也是 Google 学习和 Stack Overflow 的学生。
现在我回到了就业市场,我发现像我这样的人不仅需要知道 HTML/CSS(我知道),还需要知道 jQuery、JS、HTML5/SASS/LESS 等。
WordPress 设计工作并不多,我花时间(在找工作/面试之间)被迫学习编程语言,以便申请前端开发工作。也许在 WordPress 中开发是一个障碍,因为我从来没有真正需要学习这些前端编程语言,但现在我别无选择,只能接受它,咬住编程的子弹。
我和 Lara 也有过类似的对话,我认为她在设计/开发领域击中要害。我绝对认为自己比设计师更擅长编码,但不是一个强大的程序员(虽然我正在学习!)。我属于哪里呢?
这不是因为他们不擅长自己的工作,而是因为他们没有准确的知识来寻找和评估潜在的候选人。http://vijaytamilserial.com/