1.扩展技术是一个挑战。Just do it。
我们是从一个只有3个人其他啥都没有的创业公司逐步成长为一家大型的具备可扩展性,业务操作能力,数据库和产品开发的企业。如果你真心醉心于做企业,那么这就应该成为你的目标。
当你从2009年还只有几十号人成长到我们现在这个规模,那么你得能适应公司巨大的变化。既有技术上的挑战,也有组织结构上的考验。扩展经营意味着迅速成长和雇佣更多的工程师。这是一个全球性的挑战。但是要真正解决的话,我只有一句话:真的很难。
2.迸发激情。
做你喜欢做的事情。做你充满激情的事情。不要别人说什么你干什么。了解怎样才能实现自我,走好自己的道路。激情是促使你前进的动力。
3.面对面交流对于远程团队是必不可少的。
我们规划了高额的差旅费用以便于让大家能够面对面地交流。尽管我们有Skype、谷歌视频群聊(Google Hangouts)和Flowdock,但是我们依然每年组织几次让大家聚在一起。如果你加入本公司,那么你会有两周时间在旧金山和团队相处,此经历让会让你获益匪浅。
欢迎阅读我们对Morten的采访。
4.角色比职位名称更重要。
在非自然层次结构中我的角色被定义为是CTO。但是,在自然的层次结构中,其他人或许也会承担一些我的工作任务,如果他们在工作中需要的话。
因此,在Buffer,职称变得不是那么重要——因为我们大多数人会担任很多不同的角色。
5.投资自己。
Mark Cuban曾经说过,“你能做的最好的投资就是投资自己”,事实确实如此。
虽然我以前的创业公司并不成功,但这或许是我做的最好的一件事,因为这是一个投资。
我投资了时间来专注发展自己。
6.100%的测试覆盖率并不重要。
我们并不是太关心测试覆盖率有没有达到100%。
重要的是你要去判断什么是真正重要的,什么将会被破坏,然后根据实际情况添加测试。
欢迎阅读我们对Sunil的采访。
7.学习新技术。
关于技术教育现在有一个巨大的转变。技术发展是如此之快,以致于越来越多的人开始意识到,我们需要学习了。
所以我是周末课程学习的坚实拥护者,学习不仅可以挑战自我,还能激发兴趣。何况现在网上各种免费的资源比比皆是,你还有什么理由不去学习呢。
8.优先测试,经常发布。
我们信奉测试先行的理念。我们上市的产品很少是没有经过高规格测试的。
但是我从不认为我们有办法找到所有百分之百的bug,因此经常发布是王道。
欢迎阅读我们对PJ的采访。
9.管理远程工作人员是一个挑战。
最大的挑战毫无疑问是管理分散在全球各地的团队。这是一个巨大的挑战。其中最大的难点是由于时差的不同,团队能够同时工作的重叠时间只有区区几个小时。
我们面临的挑战是,作为一个管理者你得确保你的工作任务始终保持在第一位。另外,你还得解决团队不能在同一地理位置工作所产生的痛苦。
10.探索各个行业。
随着我的成长,我开始喜欢接触不同的机会,比如说实习工作,营销工作,所以了解一点销售知识,能够让我更快地进入这些领域。
年轻时候的经历在很大程度上影响了我的观点,让我更能适应职场。
欢迎阅读我们对Rani的采访。
11.不管你多大年纪,都应该去学习如何写代码。
我曾经认为:“哎呀,我不会编程,学习编程实在是太复杂了。”我知道那个时候,有很多年纪比我还小的孩子早就已经开始编程了,我心里想:“唉,我已经晚了,算了,我不学了。”然后,一个很偶然的机会,我学会了编程。
我建议任何人,对,就是任何人,无论多大年龄的,至少可以从开始学习编程。
12.学会如何说“不”。
有时说“不”其实比真正去做这件事情更难。
我认为大家面对的一个经常性的挑战就是对要求说“不”。不管是来自客户的,团队的,还是来自于你自己的。
对想法说“不”并不意味着这个想法就是坏的。说“不”其实更麻烦。因为你将不得不向每个参与的人解释,说服他们,在会议上降低所有人的积极性。与此相比,只是构建一个东西,哪怕你知道它不正确,相对而言就比较简单了。
欢迎阅读我们对Thomas的采访。
13.紧跟其他开发人员的脚步。
我认为最重要的事是使用技术——实践并优化,跟随其他人都在探索的技术,但也不要一下子学的太多。保持在现行流行趋势的顶端对于我们而言比技术更重要。
14.不要害怕删除产品的功能。
我们时不时地还得删除功能,当我们发现没人使用或没有足够的人使用这些功能的时候。
删除不再使用的技术也会成为一种问题,这是因为这不属于真正改善和提炼产品,但却是一个任务。
欢迎阅读我们对Leif的采访。
15.明智地选择编程语言。
JavaScript有着巨大的潜力,因为它是当今世界最流行的语言。如果你写JavaScript库,那么就能帮助更多的人。
16.实时功能既工程巨大又非常复杂。
关于实时性和协作功能我们已经接触过不少。多人同时操作app的状态是极其复杂的。
我工作于Adobe的创意云团队。创意云团队是所有人都可以参与合作的创意项目。我亲眼目睹了其合作管理之复杂,以及做好一个真正好的能和其他用户交互而不会互踩脚趾头的用户工作流程的困难。
欢迎阅读我们对Eric的采访。
17.标准化的编码方式。
当开发人员从创建短命的营销活动转移到长寿的长时间在线的SAAS方案时,实现一个完全新的关于架构、代码和可持续性的思维将会是一个大的挑战。
代理项目经常像个人秀——各种不同的代码风格层出不穷。将这些风格规范化标准化是快速奏效的首要方法之一。使用如持续集成等工具有助于更多地专注于产品。
18.谨记测试。
在web开发中,我深信测试是“另一个每个开发人员都应该知道,并整合到他们的工作流程中的学科”。
因此,资源专业化是维持已建立的测试环境的好方法。更重要的是,每个开发人员应该时刻将测试谨记在心。
欢迎阅读我们对Johannes的采访。
19.关于CTO的角色现在还没有达成共识。
一百个CEO就有一百个CTO的角色问题。关于如何成为CTO的书也并不是很多,这是因为这个角色在不同的公司中往往不尽相同。我是一个面向外部的CTO。我不管理团队。
我从来没有真正在内部管理过一个团队。一旦我们真的成长到需要更多管理的时候,我们会招聘一个工程副总裁。
20.作为服务的基础设施将发挥巨大的作用。
云依然是服务的集合,服务的集合依然是你必须要管理而我不喜欢做的事情。我们应该做的是为此提供服务。
21.测试复杂度和测试速度之间的权衡。
我们需要做的最大权衡是测试复杂度和测试速度之间的权衡。
最好的情况是,在每个浏览器上统统测试一遍以确保它都可以工作。但是,这需要很多很多的时间,甚至是一个做不完的工程。
所以你必须做好权衡得失。
欢迎阅读我们对Florian的采访。
22.招聘伟大的开发人员是一个挑战。
当然,或许你不认为这是挑战。之所以聘请开发人员会成为一个主要挑战的原因是每家公司都希望人才。此外你还必须得有足够的开发人员才能完成产品改进。
23.让沟通变得畅通无阻。
我们预测变化需求。然后,管理层就可以对有关费用和轻重缓急有一个清晰的轮廓。
欢迎阅读我们对Christian的采访。
战线切勿拖太长,除非练手,否则不是真心想去的公司就别试了。对公司信息的了解要放在平时,多与同事朋友了解沟通,偶尔逛逛blind一亩三分地一类,这样才能确定下次跳槽的目标,有的放矢。选公司不是买菜!别见一个爱一个
ie下websocket的安全限制问题:数据看板中的数据大部分都是实时数据或前一天统计的历史数据,因此这边后端考虑采用websocket来实时和定时推送数据来保证数据的实时性和有效性。而前端开发这边为了提高前端开发的复用性,采用了在各个组件中开发成一个个的小部件
从11岁时,我就一直在编程,并且一直都很喜欢技术和编程。这些年来,我积累了一些艰难又容易的经验。作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的朋友
我发现前端开发人员一直在努力征服CSS。理由也很充分,开发人员是用逻辑思考的生物。添加一个DIV元素导致所有代码都不得不往下移一行,而另一个DIV“浮”到左侧,感觉没有任何意义
这是一篇值得收藏起来,隔三差五就拿来重读的文章!因为作者向你保证,他“遇到的所有糟糕的代码,都是因为没采纳这些实践经验。而任何一段优秀的代码,都采纳了至少部分实践经验。”
别再用 JS 框架了,转向可复用、可正交组合的 HTML+CSS+JS 单元吧。这几年我零零碎碎写过一些进展,现在既然 Jon 问到了,我觉得有必要把这些总结成一篇文章概括一下。我和我的团队一直在用 Web 组件来构建我们的 Web UI。
一个拥有 20 年编程经验的“熟手”,编程干货有多少?本文的作者是一名从业 20 年的程序员,在本文中,他分享了自己这 20 年来学到的 5 种编程经验:重复的知识最糟糕、把代码当成一种债务、对高级开发人员信任但去验证、使用 TDD
踏入职场后写代码已经有 14 个年头,保守估计应该垒了有 50 万行的代码。尤其最近 1 年多从 0 开始写起 Bytebase,日常也会 review 同事的代码。趁着端午也总结了一些经验
特别是网络请求或者其他异步操作中,await 记得包裹 try catch,可以给用户一个友好提示,同时可以考虑 catch 中需要做什么兜底处理,必要时进行上传日志。
能把一件事坚持 40 年的人并不多,我们今天要介绍的这位就是其中一员。他叫 Noah Gibbs,从事编程工作快满 40 年了,最近他用博客的形式分享了自己总结的一些经验。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!