- 熟悉OOP和数据结构;
- Android的Java开发经验。
- 了解Android API,了解Android架构;
- 了解HTTP,XML,JSON的基础知识;
- 具有Git版本控制系统的经验;
- 拥有Android Studio和Gradle的经验;
- 有使用SQL数据库的经验;
- 熟悉材料设计原则;
你知道了吗 当然可以。 这是标准程序员简历之一。
就个人而言,此摘要使我想起了一
首歌 ,或者说这首歌的一行:“拉达! 已经很好了!”
它还提醒人们在同一拉达(Lada)上
做广告 ,其中有ABS,雨水和光线传感器等。 被赋予竞争优势。 好吧,著名的口号是:“这应该是汽车!”。
但是程序员应该那样吗? 如果您想像Lada一样-庞大,便宜且“好像不是
机器程序员”,那就可以。
但是我们不是那样,所以我们将制定和制定我们的竞争优势-
一整套解雇 。
解雇工具是您更换工作时随身携带的东西。 正如尤里·舍甫丘克(Yuri Shevchuk)演唱的那样:“这就是我之后的一切。 这就是我要带的。”
解雇工具包有条件地分为以下几部分:
- 解决方案(成品或半成品);
- 经验
- 完成任务;
- 取得的成果。
当然,分成几部分是有条件的。 有时不清楚试剂盒中该成分是指什么。 有些人仍然提供工作基础的副本,但我个人不建议这样做。
因此,让我们按顺序进行处理。
为未来的雇主工作
我在一个会议上说了这个短语,这引起了许多不同的回应。 那时没有时间更详细地解释它,现在我将对其进行纠正。
为未来雇主工作是解雇工具包工作的基本原则。
乍一看,我似乎建议欺骗雇主,从事左侧工作或破坏他人。
事实并非如此。 我提供有利于您,您的雇主和您未来的雇主的协同效应。
让我们来看一个例子。
您可以做一个受欢迎的决定-一个仪表板,该仪表板从公司系统中获取数据并使用Google Charts或d3在网络上显示这些数据。
当前的雇主希望看到销售和现金流。 至少他是这样告诉你的。
没什么复杂的。 您可以接受数据请求以形成所需维度的数组,并使用Google图表或图表开发人员精心编写的示例生成静态js脚本。 您需要将静态脚本嵌入某个位置,即使是在主任办公室的电视上,也可以配置浏览器自动更新-如此,您就可以使雇主满意。
然后,您回想起您将要换工作。 您永远不会知道,也许他们打算搬到另一个城市。 而且您认为-哦,但是最好带一个仪表板。 该主题很受欢迎,我将在智能手机上接受采访时显示给您,它不是1C,可以漂亮地缩放和翻转图表。
问题摆在您面前-新雇主希望在仪表板上看到什么? 还有销售和金钱? 如果它将零售,并且您需要平均账单怎么办? 还是在实施TOC的地方进行分发,而他们想查看缓冲区的状态? 突然之间它将是一个php系统,例如bitrix,然后所有的请求都必须被重写。
是的,您认为您需要能够配置和与特定系统隔离的功能。 可以使任意数量的指示器显示在任意仪表板上。
休息,做完-美丽。 来一份新工作,立即产生令人赞叹的效果。
但是你辞职了。 我们移交了一切,将新的仪表板和其他决定告诉了新程序员,然后就离开了。
然后,更改从您以前的工作开始。 仪表板又花了10位数。 我们购买了另一家公司,在BP中有会计部门,我们还需要一个仪表板,以便根据控股规则进行自动化。 我们启动了一个有关战略变革的项目-没有独立的,大型的,漂亮的仪表板-战略监控器是不可能的。
仪表盘可以轻松,快速地实现上述所有功能,而仪表盘仍保持原样。 现在,您已经完全可以使新雇主对相同的仪表板感到满意。
现在我们停下来,计数谁更快乐:
- 您,因为您在面试中拥有领先优势和竞争优势;
- 您的新雇主 从内存中获得了快速实施的交钥匙解决方案或行之有效的想法;
现在注意: - 您的旧雇主 仪表板在没有您的情况下也可以正常工作,可以在短时间内解决所有新任务,这意味着-花费很少;
- 而且,很奇怪的是,在您从事旧工作之后来工作的程序员是新来的。
仪表板中的所有新数字已经是其结果,尽管已收到您的感谢。 他的结果为他带来了利润。
总计4位幸运者。 如果您离开了仪表板的第一个版本(带有两个请求和一个静态脚本),那么只有旧雇主会很高兴,甚至很久也不会高兴。 一旦他开始改变,他们将与新程序员一起咒骂您。 单词之一是“ govnokoder”。
当然,您也可以在Git上发布仪表板,这样幸运的仪表板数量就会大大增加。
显然,制作正确的仪表板所花费的时间比错误的仪表板要长。 但是,相信我的经验,与所有参与者的收益相比,差别很小。
在这里,我们有纯粹的协同作用。 而不是1 = 1,我们得到1 = 4。 所有这些都是因为为当前的雇主工作,所以我们为未来工作。
最后是彻底消除疑虑。 现在的工作地点,以前的工作地点或工作地点都无关紧要。 从根本上讲,您:
当前和将来的任务都针对雇主-当前和将来。 因此,制作正确的仪表板可以解决两者的未来任务。
或以另一种方式:
解决当前雇主的未来任务。 当您已经在另一家公司时,摆在他面前的任务。你懂吗
也许这可以称为“解决过去雇主的问题”。 这听起来也令人不快,例如“解决未来雇主的问题”。 所有麻烦都与沿着时间轴的左侧或右侧的起点(您所在的位置以及两个雇主所在的位置)有关。
但是现在您知道这只是一个双关语,它破坏了一切。 过去,现在,未来。 给出一些情感,评估阴影。
如果丢弃双关语,它将变得简单明了。
您正在为未来而努力。解决方案
让我们从法律问题开始。 随身携带一些代码,模块和库通常是错误的。 该程序的一部分似乎是创建该程序的公司的知识产权。
因此,我建议着重解决方案的思想和芯片,知道您可以随时复制该解决方案。
但是,当然,如果存在可以完全没有法律后果地做出决定的情况,那么不使用该决定是一种罪过。
然后,一切都很简单。 解决任何问题时,请记住以下问题:
- 当前雇主多长时间执行一次此类任务?
- 将来在现任雇主中多久执行一次此类任务?
- 其他公司多久执行一次此任务?
如果您看到任务正在重复或将自己重复,请尝试抽象地解决它。 这样,当您离开他的雇主时,您的决定将对未来的雇主和您当前的雇主都有用。
要正确回答这些问题,您不仅需要编程。 您需要查看别人在做什么-公司,程序员,供应商。 紧跟平台,框架和整个行业的发展方向。
甚至还有一门科学-趋势管理,趋势研究。 这样她就可以做到。
您将必须关注公司变化的动态。 多久一次。 结构,经理,簿记和金融家/经济学家,产品,市场等。
所有这些知识将有助于影响您的决定-是使乐器抽象和撕裂,还是这次$ p.cat.byId(“ 000002341”)就足够了。
我一生中没有做出过很多被拒绝的决定-大约有50个。因此,我的开除职位相当微薄。 我不久前意识到它的价值,有时我会后悔。
虽然,即使是这样的轻度行李也对我有用了很多次。 例如,在换工作时。
在我的第一份工作中(1C系列),我完善了软起动器的生产计划,然后进入了标准配置。 因此,如果您有1C软起动器,则可以使用我的govnokod。
我的下一位雇主希望自动化生产计划,而正是我以前的工作吸引了他的注意力-他可以看到我的决定。 您甚至不必去任何地方-他也有个精打细算的人,而且这里有我的代码。
在这个地方工作,我做了一个“成本结构”。 是一位小会计,他检查了多阶段生产中的成本链中是否存在缺口-释放成本时分析不正确。 我将此报告上载到1C合作伙伴会议上,并对此产生了极大的兴趣,因为找出成本的问题没有标准的解决方案。
结果,在几天的工夫里,该报告就变成了现在,已经卖出了数千本。
下一位雇主认为探索成本是主要任务之一-历史上已经发展了在最终成本的背景下分析销售成本的实践。 当我来接受采访时,他们已经知道“成本结构”-其中一个专营权向他们展示了一个带有上传成本树的Excel文件。 只能说我制定了成本结构。
在下一个工作中,圆圈关闭了。 该公司与我开始职业生涯的特许经营合作,他们自然会向特许经营者询问我的经验和决定。 我回顾了生产计划以及“成本结构”,现在我又轻松地找到了工作。 在这里,我再次进行了费用的任意分配。
现在,我通常使用javascript进行编程。 但是,按照我的想法,过去1Significant的一些解决方案非常好,以至于我将用javascript复制它们,以便它们可以在meta.js的解决方案中使用。 例如,相同的通用计划机制将不再是应用的解决方案,而是平台解决方案—一种累加寄存器,该累加寄存器在后台自动转换并在后台自动转换。
在我离开的那些公司中有什么好处吗? 当然可以
第二公司的生产计划已经(并非没有我的参与)发展成一个智能的储备和采购管理系统。 仍然存在成本分配和计划成本计算的机制,这些机制在更改会计政策后迅速进行了重新配置,并继续发挥作用。
3号公司成功地使用了累积成本结构计算,直到被出售为止。
4号公司使用了我的解雇工具包中的所有解决方案,甚至没有想到在我离开后放弃这些解决方案。 呆在那里的程序员正在慢慢开发这些解决方案。 业务流程中发生的所有更改(其中有很多)都可以轻松,快速地进行以定制解决方案。
当然,您会从实践中发现大量类似的例子,并且肯定比我的有趣。 抽象解决方案是协同作用。
体会
一切都凭经验而清晰-您需要赢得它。 我认为主要的事情是以受控和系统的方式进行此操作。 经验比解决方案还要好,因为没有合法的方法可以从您那里得到经验。
通常,您的雇主和老板不关心您积累的经验和方式。 您可以承担不需要开发资格的相同任务。 当然,有合适的老板来管理经验的积累,但这很少见。 通常,所有内容都仅限于很少参考的课程,而这些课程通常没有什么用处。
因此,您需要照顾好自己的经历。 最主要的是目标和可衡量性。 根据
文章中阐述的原则。
最有用的经验是解决问题中获得的经验。 如果您将站点和CIS集成在一起,则可以假定您已获得一些经验。 如果您使用已配置的集成,则经验将大大减少。 如果这是您第二次将CIS与网站集成,那么您的经验正在增长。 等等
你懂吗 复合键:实际解决问题的方法及其编号。
为了确切地了解我和我的员工如何以及从中获得什么经验,我从计算机游戏中提取了一个模型。
在某些游戏中,体验模型不像现实生活。 例如,《辐射》(Fallout),在此系列影片中受到所有应有的尊重和20岁的无拘无束的热爱。 您只需在这里积累经验点,然后将其用于发展您认为必要的素质。 这是描述有偿教育的模型。 我省了钱-上了英语或项目管理等课程。 这不适合我们,这是给那些含糖的高层管理人员。
《上古卷轴》中积累经验的模式更加贴近生活。 我老了,所以我玩了ES 3 Morrowind,并且我会记住这一点。
因此,在Morrowind中,您正在改善实践中使用的特性。 摆动剑-增加剑的能力。 召唤-巫术的技能增加。 等等 当我演奏时,我具有很高的杂技能力-正是因为我曾经被困在一些山上,没有悬浮药水,所以我跳了很多步。 跳跃会发展杂技。
在上一份工作中,我启动了这样的系统。 任务存在于系统中,我为它们附加了一个“能力”表,同时,还对能力进行了分类。 当一个人解决了一个问题时,我列出了解决该问题所必需的能力。 并且他以条件百分比来设置能力的应用程度。 结果,统计数据开始积累,每个员工的图表看起来都类似于我们在某些专业网站的配置文件中看到的图表。
然后,我以为自己是一个好老板,开始使下属的能力多样化。 如果我发现一个人在alasql的查询任务上获得了很多经验,那么我就停止给他提供这样的任务,而把它们交给那些经验很少的人。 当然,无需狂热-如果任务很紧急,那么经验最丰富的人会接受。
在会议上,我提到针对此类“增加经验的任务”,我最多分配了30%的员工时间。 显然,公司不是大学。 速度与经验之间需要保持平衡,因为如果不扩大经验,速度将达到极限,而潜力将丧失。
当您在团队中工作时,经验的多样化不仅在互换性方面很重要。 最重要的是对话者的到来,他们将帮助讨论问题,进行头脑风暴,制定体系结构和技术决策。 如果团队中只有一个人讨论一个话题,那么将没有人与他交谈。
这种系统的优点之一是能够设定目标并将这些目标集成到选择优先级和执行者的系统中。
例如,我们设定了这个目标:Piglet应该获得50分的集成经验条件点-与请求有关的任何任务,缓存短数据包等。 每个新任务的系统都会自动计算出目标是谁,最好是根据目标与当前位置之间的差异向谁分配。 然后,您坐下来控制如何实现目标。
您可以自己实施和应用这样的系统。 当然,如果您有目标-可以赢得一定的经验。 这种方法的优点是您无需征得任何人的许可-即使在笔记本中,甚至在Excel文件中,您都可以计算自己的体验。 因此,可能会更好,因为文件将始终随身携带-您可以独立于特定雇主,端到端积累经验。
解决的任务
一方面,打动人力资源是一种技巧。 另一方面,了解您的任务将帮助您始终专注于产品,而不是过程。
我曾经是IT主管,所以我经常去接受各种人士的采访,而不仅仅是IT专家-我们有一个交叉采访系统。
而且我注意到人力资源部将人员分为两类-以过程为导向和以结果为导向。
首先,他们被简历分开,然后在面试中,注意措辞。 如果措辞听起来像“自动销售”,那么这是一个过程。 如果听起来像是“创建并启动了自动销售系统”,那么就是这样。
通常不赞成使用“处理器”。 这不是好事,不是坏事-就是这样。
因此,最好是从解决的任务的角度来写简历,而不是执行它们的过程。
但是,现在您了解了-编写已解决的问题,您需要已解决的问题。 老实说,我们都知道程序员并不总是
解决问题。
致力于解决问题-是的。 他们决定-不。 关于
通常如何忘记该过程中的
任务 ,我们已经
说过了 。
顺便说一下,在Artemy Lebedev Studio的
作品集中可以看到一个很好的例子,说明了如何不遗忘任务-在每个项目中,编写了他们解决的任务。 我不能假装说他们可以直接解决问题,但是列别杰夫本人称这是他工作室的竞争优势。
顺便说一下,在每个项目中,他们也都有书面的员工来做。 这真是太棒了-在公共领域永远被解雇。 给出一个链接就足够了。
显然,这是一个特定的Web开发,但并非所有工作室和Web制作者都写出了创建该项目的人员的姓名。回到我们身边。由于我们正在为未来的雇主工作,因此了解并能够提出您要解决的问题非常重要。直接想像一下-在一年,两年或一个月内,您将需要告诉您面临的任务是什么,如何解决,以及是否决定。实际上,您需要成为自己的观察员,记者,传记作者或经理-选择您喜欢的单词。您一半的人正在努力工作,另一半是观察,记忆(或更好地记录下来),并准备解决您卖给下一位雇主的任务。他指出了这些筹码,困难以及您如何克服它们,在此过程中掌握了哪些技术,如何实施它们,如何陪伴并消除了障碍。每个已解决的任务-可以理解,拟定,最好是抽象-都会补充您的解雇。取得成果
碰巧您没有被赋予特定的任务,而是含糊其词。例如,他们说“提高系统性能”,而不是“将事务修复减少一半”。或者他们说“提高程序员解决问题的效率”,而不是“将应用程序的执行时间减少30%”。当数字中出现数字时,这是一项任务,必须按照上一节中的说明进行处理。如果没有数字,则必须对其进行测量,以便在解雇工具包中写入一些内容。例如,您从事表演。将文档写入系统的时间。我相信您会成功-您将减少记录文件的时间。那该如何告诉未来的雇主? “我减少了记录文件的时间。”您听到了什么回应?他们减少了多少。运了多少,多少了,运输了多少。要回答这些问题,只需测量即可。在开始任务之前,请尽可能将测量系统置于目标位置,因为测量系统是解决方案的一部分。您可能会被问到“它是如何测量的?”好吧,继续做决定。当达到所需级别时,请记住数字,第一个和最后一个。更好的是,保存一个时间表,以便随着时间的推移更改数字,在其上标记关键事件-更改数字的操作。我已经做了很多次,而且非常非常非常! -帮助。首先,它对您的工作有帮助,因为您了解自己的位置和去向。您可以评估进度和行动的有效性。其次,这对现任雇主很有用-他会获得更好,更容易理解的结果。您离开后将使用测量系统本身作为一种产品,雇主将使用一个坐标系来对相同指标进行端到端分析。第三,也是最重要的一点-它会为您的下一份工作提供帮助。特别是如果您设法在新公司的坐标系中表达您的数字。这并不困难。记录文档的时间相同-它以毫秒为单位进行测量。合计
在您看来,解雇工具包是一种累积简历。一方面,确实如此。但是重点不是您能展示什么,而是您行李中真正拥有的东西。这是一种产品,是他在每个雇主身上投入时间的结果。这是花费时间的协同使用。您可以坐下来领取薪水,也可以选择任何激励系统。在公司入口和公司出口的最底端,您刚刚老了。如果您设法省钱或购买有价值的东西,那么这仍然不错。如果不是,他们就没有积累金钱,没有积累资产,没有积累经验,没有创造解决方案,没有解决明智的任务,没有取得成果,那么这是非常可悲的。听起来很琐碎,但是我看到很多程序员从一个地方移到另一个地方时根本没有改变。他们有意识地寻找需要解决熟悉问题的工作。显然,短期内它更安全。但是从长远来看呢?如果您为未来的雇主工作,那么您的行李,您的价值,解雇的人数就在不断增加。这是正确的投资。