黑客马拉松 招募_我如何赢得第一次黑客马拉松-研究,设计和编码的2个狂野日子

黑客马拉松 招募

I had no coding or engineering background. I studied biology in college, with no clue about what to do with my degree.

我没有编码或工程背景。 我在大学学习生物学,但不知道如何处理我的学位。

My first jobs were making cold calls in sales, but I made almost no money and was miserable with my work.

我最初的工作是打销售电话,但是我几乎没有钱,工作也很痛苦。

After failing at a few different sales gigs, I gave up and found a job preparing vegetables at a restaurant — not exactly the plant life I was expecting to work with after college.

在几次不同的销售演出失败后,我放弃了,找到了一份在餐厅准备蔬菜的工作,这与大学毕业后我期望的植物寿命完全不同。

I needed new prospects, and I was ready to find anything better. All it took was a strong work ethic, a willingness to learn, and a few key resources to get me onto a whole new career path.

我需要新的前景,并且准备寻找更好的东西。 它所需要的只是强大的职业道德,学习意愿以及一些关键资源,这些使我踏上了一条全新的职业道路。

This also got me involved in a coding competition that took me way outside my comfort zone.

这也使我参与了一场编码竞赛,这使我走出了自己的舒适区。

While working at my restaurant job, I started hearing stories about people who taught themselves how to code and managed to develop that into careers. Willing to try something new, I started taking online courses with freeCodeCamp during my off-time from work.

在餐厅工作时,我开始听到一些有关自学编程的人的故事,并设法将其发展为职业。 愿意尝试新事物时,我在下班时间开始使用freeCodeCamp参加在线课程。

Hours here and there turned into a full-time commitment. I left my job and followed freeCodeCamp’s curriculum, aggressively studying full-stack JavaScript as my new full-time job.

在这里和那里的时间变成了全职工作。 我离开工作,跟随freeCodeCamp的课程,积极学习全栈JavaScript作为我的新全职工作。

I spent a year and a half focusing on learning coding, and it paid off, too. I was accepted into a long-term contract as an entry-level coder at a New York City fashion company, which was generating over $2 billion a year in sales.

我花了一年半的时间专注于学习编码,并且它也得到了回报。 我被纽约市一家时装公司的入门级编码器录用为长期合同,该公司每年的销售额超过20亿美元。

Learning was my top priority. Even in this new position, I continued to practice during my off-hours, this time focusing on best practices for my specific job responsibilities, which involved writing automated tests using the NodeJS version of Selenium.

学习是我的首要任务。 即使在这个新职位上,我也会在下班时间继续练习,这次重点关注我特定工作职责的最佳实践,其中包括使用NodeJS版本的Selenium编写自动化测试。

I spent 10-15 hours per week doing Selenium tutorials, which helped me get my work done faster and gave me leeway to learn from my colleagues during work hours. I maximized in-between work times, talking to co-workers in the elevator or while walking to my desk. I learned what others did and what their responsibilities were for our company.

我每周花10到15个小时来做​​Selenium教程,这有助于我更快地完成工作,并为我在工作时间内向同事学习提供了余地。 我最大程度地缩短了工作时间,与电梯中的同事交谈或步行到我的办公桌时。 我了解了别人做了什么,以及他们对我们公司的责任。

It didn’t matter if they were in the same role as I was. I spoke to my engineering supervisors and to people in our business units so I could better understand the structure of our company, find out how others had made progress in their own positions, and see if I could find some big problem that I’d be able to solve.

他们是否担任过我的角色并不重要。 我与工程主管和业务部门的人员进行了交谈,以便更好地了解公司的结构,了解其他人在自己的职位上取得了怎样的进步,看看是否可以找到一些我会遇到的大问题能够解决。

Around my third week of work, while talking to my senior director of engineering, I noticed a number of awards by his desk. He told me were from his past wins at our company’s annual Hackathon.

在工作的第三周左右,在与我的高级工程总监交谈时,我注意到他的办公桌上获得了许多奖项。 他告诉我,这是他过去在公司年度黑客马拉松比赛中获得的胜利。

“Wow,” I said, “You've won a lot of awards.”

我说:“哇,您赢得了很多奖项。”

He responded, “Thanks. You should participate in the next Hackathon. It will be in a few months.”

他回答说:“谢谢。 您应该参加下一次黑客马拉松。 会在几个月后。”

I was still relatively new to coding and had never participated in a Hackathon, so after a day of mulling it over, I went back to his desk.

我对编码还比较陌生,从来没有参加过Hackathon,所以在考虑了一天之后,我回到了他的办公桌旁。

"Hey, I've seen a few other people with Hackathon awards,” I said, “but no one has nearly as many awards as you have. Plus, most of your awards say first place. How do you win so often?"

我说:“嘿,我见过其他一些获得Hackathon奖的人,但是没有人获得像您一样多的奖。而且,大多数奖项都名列第一。您如何经常获奖?”

He told me, “I focus on projects that make an impact. For instance, for one of the Hackathons I built a prototype that would let our customers order off our website and pick it up in our stores. The judges realized this would be a big hit with our customers and would greatly increase revenue.”

他告诉我:“我专注于产生影响的项目。 例如,我为一个黑客马拉松打造了一个原型,该原型可以让我们的客户从我们的网站上订购并在我们的商店中取货。 评委们意识到这将对我们的客户造成巨大冲击,并将大大增加收入。”

When I asked him how to find a project that would make an impact, he explained that, during his time at our company, he’d gone ahead and learned all of the many different subsystems that powered our eCommerce business.

当我问他如何找到一个有影响力的项目时,他解释说,在我们公司任职期间,他继续前进并了解了为我们的电子商务业务提供动力的所有不同子系统。

“Knowing the whole system makes it easier to see where the opportunities are," he said. "In fact, my broad understanding of our entire platform is what differentiates me and has allowed me to reach my current position.”

他说:“了解整个系统将使您更容易发现机会在哪里。事实上,我对整个平台的广泛了解是使我与众不同的地方,并使我得以升至目前的位置。”

寻找项目 (Finding a Project)

I realized that the Hackathon would be the ultimate test of my abilities: could I take the strategies of hard work, learning from my co-workers, and my intense study of coding to the next level?

我意识到黑客马拉松将是对我的能力的最终考验:我可以采取努力工作,向同事学习以及对编码进行深入研究的策略吗?

After years of feeling like I had been wasting my potential, I’d finally found a way to prove my worth. This wouldn’t just be about showing off, because I would need to find a project that was actually of use to the company.

经过多年的感觉,我一直在浪费自己的潜力,我终于找到了一种方法来证明自己的价值。 这不只是要炫耀,因为我需要找到一个实际上对公司有用的项目。

I didn’t have a lot of time on my side, and my tech skills were relatively basic compared to the highly skilled senior level engineers I’d be competing against.

我没有很多时间陪在我身边,与我将要竞争的高技能高级工程师相比,我的技术技能是相对基本的。

Even though I felt out of my league, I had the secret sauce for a solution in my back pocket: lessons I’d learned from Neil Rackham’s sales strategies book SPIN Selling, which gave me the four-step model for finding problems in large enterprises.

即使我感到自己不在同盟之列,但我的后兜却有解决问题的秘诀:从尼尔·拉克汉姆(Neil Rackham)的销售策略书《 SPIN Selling》中学到的经验教训,它为我提供了四步模型来查找大型企业中的问题。

步骤1:了解事物的运作方式。 (Step 1: Learn how something works.)

Since I was advised to learn the inner workings of our eCommerce business, I started talking to employees in our planning department, conveniently located between my desk and the lunchroom (and between my desk and the bathrooms). They were responsible for deciding how much merchandise to buy and at what prices they would be sold.

由于被告知我要学习电子商务业务的内部运作方式,因此我开始与计划部门的员工交谈,该部门位于办公桌和午餐室之间(以及办公桌和浴室之间)。 他们负责决定要购买多少商品以及将以什么价格出售。

I’d leave my desk and take a moment to ask questions like how they chose how much inventory to purchase in advance, how they set their prices, and if retail and eCommerce had different rules for pricing. Through my questions, I learned how planners introduced new clothing lines and calculated what to sell them at.

我要离开办公桌,花一些时间问一些问题,例如他们如何选择要提前购买的库存,如何设置价格以及零售和电子商务是否有不同的定价规则。 通过我的问题,我了解了计划人员如何引入新的服装系列并计算了出售价格。

步骤2:提出问题以查找问题。 (Step 2: Ask questions to find a problem.)

Once I’d gotten a sense of how planning worked, I started looking for issues that might come up. Once they set an amount for inventory, does the company ever purchase the wrong amount? Do prices ever get set incorrectly?

一旦了解了计划的工作原理,便开始寻找可能出现的问题。 一旦他们设定了库存数量,公司是否会购买错误的数量? 价格设置不正确吗?

I was trying to find the sort of mistakes or frustrations that I’d be able to solve.

我试图找到能够解决的错误或挫败感。

步骤3:提出问题以探讨问题的含义。 (Step 3: Ask questions to explore the problem’s implications.)

After several days of asking questions, I learned about pricing issues, where prices would be set and appear incorrectly on our website. How did this problem come about and what were the implications?

问了几天的问题后,我了解了定价问题,这些问题是价格设置的地方,并在我们的网站上显示不正确。 这个问题是如何产生的,其含义是什么?

I asked how often pricing errors would occur and what kind of further issues they might cause.

我问价格错误发生的频率以及它们可能引起什么进一步的问题。

步骤4:提出问题,以探索解决问题的价值。 (Step 4: Ask questions to explore the value of solving the problem.)

If there were an automated computer script that found all the incorrectly priced eCommerce items, how helpful would that be?

如果有一个自动计算机脚本找到了所有定价不正确的电子商务商品,那将有多大帮助?

I asked the planners questions that would help me figure out what sort of value I could offer them. If I was going to fix something at our company’s Hackathon, I wanted to make sure it had a noticeable impact.

我问了计划者一些问题,这些问题将帮助我弄清楚我可以为他们提供什么样的价值。 如果要在我们公司的Hackathon中修复某些问题,我想确保它具有明显的影响。

After my conversations, I found that pricing mistakes would be a worthwhile project to work on. Each of our three or four assistant planners were spending 30 minutes per week manually checking for pricing errors. An automated system would save that time — an estimated 100 hours per year that would no longer be wasted.

交谈之后,我发现定价错误将是一个值得努力的项目。 我们的三到四名助理计划人员中的每人每周花费30分钟手动检查价格错误。 自动化系统将节省时间-估计每年将节省100个小时,而不再浪费。

Even though I had already been told about the Hackathon, there was no official date yet. I had a solvable problem in my back pocket, and, while I didn’t know for sure that I had the coding skills, I was fairly confident in my chances. Until the announcement came, I’d focus on my work. But whenever it arrived, I’d be ready to get started.

即使我已经被告知黑客马拉松,还没有正式的约会日期。 我的后兜里有一个可解决的问题,尽管我不确定自己是否具备编码技能,但我对自己的机会很有信心。 在发布公告之前,我将专注于我的工作。 但是,只要它到了,我就准备开始。

与计划者确认 (Confirming with the Planners)

Two weeks later, I had an email in my inbox. The Hackathon event would be in one month, going for two days straight, which included a presentation on day 2, a Friday.

两周后,我的收件箱中有一封电子邮件。 Hackathon活动将在一个月内进行,连续进行两天,其中包括第2天(星期五)的演讲。

Project ideas would be judged on four criteria: originality of the idea, impact on the business, completeness of the prototype, and strength of the pitch. There were so many unknowns and it was impossible to predict whether one month would be enough time to prepare.

将根据四个标准来判断项目创意:创意的创意,对业务的影响,原型的完整性以及宣传的力度。 未知数太多,无法预测一个月是否足够的准备时间。

I went over to the planners and confirmed that the issue was still present — checking online pricing sales was still being done manually.

我去了计划者,并确认问题仍然存在-检查在线定价销售仍在手动进行。

I was happy to learn that our company had a dedicated eCommerce merchandiser, who was responsible for reporting all incorrect website prices and resolving them. She would be able to give me far more information and could confirm whether or not it was an issue worth the effort of fixing.

我很高兴得知我们公司有专门的电子商务采购员,负责报告所有不正确的网站价格并加以解决。 她将能够为我提供更多信息,并可以确认是否值得解决此问题。

I was unhappy to learn that she was on vacation, and I’d have to wait a week to speak to her. The clock was ticking, and I was stuck until then.

我很不高兴地得知,她是在度假,我不得不等待一个星期和她说话。 时钟在滴答作响,直到那时我都被困住了。

With three weeks until the Hackathon and our eCommerce merchandiser back in the office, I was able to start exploring the problem in more detail. She confirmed the issues I had heard about and said that building something that could automatically scan the website and find incorrect prices would be a big help.

在黑客马拉松和我们的电子商务销售商回到办公室的三个星期后,我能够开始更详细地探讨问题了。 她证实了我所听到的问题,并说构建可以自动扫描网站并找到不正确价格的东西将大有帮助。

In further conversations with the planners, I learned how pricing was uploaded to the website: planners would copy and paste a list of prices from an Excel spreadsheet to SAP, a software that does many things such as managing inventory for retailers. SAP would then push the prices to our eCommerce website.

在与计划者的进一步交谈中,我了解了如何将价格上传到网站:计划者将价格清单从Excel电子表格复制并粘贴到SAP,该软件可以完成许多工作,例如管理零售商的库存。 然后,SAP将价格推到我们的电子商务网站。

I realized that the Excel prices could be compared to the website prices to find any issues. I would build a simple website that would let planners upload Excel pricing lists.

我意识到可以将Excel价格与网站价格进行比较以发现任何问题。 我将建立一个简单的网站,使计划人员可以上传Excel定价列表。

A script would then read the Excel pricing lists and compare them in real-time to our website prices. Any and all discrepancies would then be batched into a list and sent to our planners for review.

然后,脚本将读取Excel定价列表,并将其实时与我们的网站价格进行比较。 然后,所有差异将被汇总到一个列表中,并发送给我们的计划人员进行审查。

Excited that I had a way to solve the problem, I began explaining the project idea to other developers in our organization, asking if anyone wanted to join my team. However, I made it a strict requirement that any potential teammates would have to first speak to our planners in person and hear the problem from their perspective.

我很高兴能够解决问题,于是我开始向组织中的其他开发人员解释该项目的想法,询问是否有人愿意加入我的团队。 但是,我提出了一个严格的要求,即任何潜在的队友都必须首先亲自与我们的计划人员交谈,并从他们的角度听取问题。

As part of the SPIN system, I needed teammates who were willing to understand the process and the problem before we could fully design the solution. Unfortunately, I failed to recruit any other software engineers to my project, but other engineers gave me valuable advice on how to code out my project and what technologies to learn.

作为SPIN系统的一部分,我需要在完全设计解决方案之前愿意了解流程和问题的队友。 不幸的是,我没有招募其他软件工程师加入我的项目,但是其他工程师给了我关于如何编写项目代码以及学习哪些技术的宝贵建议。

I was on my own, but I was excited, feeling confident in my solution.

我自己一个人,但是我很兴奋,对自己的解决方案充满信心。

需要枢轴 (Needing to Pivot)

Two weeks before from the Hackathon, I revisited one of the assistant planners and explained my idea for an automated script that would compare Excel and website prices and report discrepancies. She quickly informed me that my idea would be useless, since the Excel prices and website prices would always be identical.

在Hackathon召开的两周前,我再次拜访了一位助理计划人员,并解释了我的想法,提出了一个自动化脚本,该脚本可以比较Excel和网站价格并报告差异。 她很快告诉我,我的想法将毫无用处,因为Excel的价格和网站的价格将始终相同。

The assistant planner continued to explain that the original Excel pricing lists were generated by a tool that took in product manufacturing costs, delivery costs, and other relevant factors, and then spit out Excel pricing lists, which our planners would then upload to the SAP software powering our website.

助理计划人员继续解释说,原始的Excel定价清单是由一个工具生成的,该工具将产品制造成本,交付成本和其他相关因素考虑在内,然后吐出Excel定价清单,我们的计划人员随后将其上载到SAP软件为我们的网站供电。

If the planners accidentally entered incorrect manufacturing costs or delivery costs into the pricing tool, then the price would similarly be wrong on the Excel lists.

如果计划者不小心将不正确的制造成本或交付成本输入定价工具,则价格在Excel列表上也将是错误的。

“So you're saying there is no master list that is guaranteed to always contain all the correct prices?” I asked.

“因此,您是说没有保证能始终包含所有正确价格的主清单吗?” 我问。

“Exactly,” the assistant planner said.

“是的,”助理计划员说。

It was the opposite of what I needed to hear. There went weeks of planning, thinking, discussing, and waiting — gone.

这与我需要听到的相反。 进行了数周的计划,思考,讨论和等待-不见了。

I was two weeks out from a Hackathon where my lack of experience was already holding me back, and I had nothing. There weren’t enough days to do this all over again.

我距离Hackathon仅有两个星期的时间,那里的经验不足已经使我退缩,而我一无所有。 没有足够的时间再次进行此操作。

I had to rethink my process.

我不得不重新考虑自己的过程。

Since timing was tight, I couldn’t do all the research and work I had tried the first time around. Instead, I would let the planners come up with the project requirements for me.

由于时间紧迫,我无法完成第一次尝试的所有研究和工作。 相反,我会让计划者为我提出项目要求。

I came back to the planning department, this time with a different question: “Imagine you had a robotic script that could automatically grab numbers from anywhere, such as an Excel spreadsheet, a database, or a website, and automatically subtract, add, or compare the data. What problem could be solved with the help of such a script?”

这次,我回到规划部门,提出了一个不同的问题:“想象一下,您有一个机器人脚本可以自动从任何地方(例如Excel电子表格,数据库或网站)获取数字,并自动减去,添加或比较数据。 借助这样的脚本可以解决什么问题?”

After the assistant planner I was speaking to thought about it for a few minutes, she told me it would be useful for checking sales prices. She explained that our website ran weekly mass sales every Wednesday. The sales would be listed on our homepage and would use text such as “25% Off All Men's Jackets” or “15% Off All Women's Dresses.”

助理计划员我想了几分钟之后,她告诉我这对检查销售价格很有用。 她解释说,我们的网站在每个星期三每周进行批量销售。 该销售将列在我们的主页上,并使用诸如“所有男式外套均减25%”或“所有女式连衣裙均减15%”之类的文字。

Every Wednesday morning, our 3-4 assistant planners would spend 30 minutes to manually click through our website and confirm the correct discounts were applied. If the planners found any incorrect sales prices, they would send them over to our eCommerce merchandiser.

每个星期三早上,我们的3-4名助理计划人员将花费30分钟手动点击我们的网站,并确认已应用正确的折扣。 如果计划者发现任何不正确的销售价格,他们会将其发送给我们的电子商务销售商。

Only IT was able to change live sales prices. To keep things simpler for IT, our eCommerce merchandiser might wait and send a list to IT in batches.

只有IT人才可以更改实时销售价格。 为了简化IT工作,我们的电子商务采购员可能会等待并批量向IT发送列表。

That meant that even once an incorrectly priced item was found — unless it was an emergency — the pricing wouldn't get fixed immediately.

这意味着,即使发现了定价错误的商品(除非紧急情况),定价也不会立即确定。

I had a problem, and the solution wasn’t far off from what I’d originally planned: an automated script that could report all incorrectly discounted items would save time by reducing the amount of work involved for our planners, for our eCommerce merchandiser, and for IT, and it would make for a better customer experience by reducing the amount of incorrect sales prices and doing so quickly.

我遇到了一个问题,解决方案与我最初计划的相差不远:可以报告所有不正确打折商品的自动脚本可以通过减少计划人员,电子商务商人的工作量来节省时间,对于IT部门而言,可以减少不正确的销售价格并Swift做到,从而改善客户体验。

I’d only need a master list of all ongoing sales that could be compared to website prices, but the planners told me that no such “100% accurate” master list existed, at least not on paper.

我只需要一个可以与网站价格进行比较的所有正在进行的销售的主列表,但是计划人员告诉我,不存在这样的“ 100%准确”的主列表,至少在纸面上没有。

“But a fully correct pricing list exists in our heads,” they said, “because we know our products through and through. That’s why we can click through our website and spot incorrect pricing.”

他们说:“但是,我们脑子里有一个完全正确的价格表,因为我们一直了解我们的产品。 这就是为什么我们可以点击我们的网站并找出不正确的定价的原因。”

After thinking about it for a few moments, I asked, “What if you didn’t have to click through our website? What if you could get all our live website prices in a neat list just by clicking a button?”

考虑了一会儿之后,我问:“如果您不必单击我们的网站怎么办? 如果您只需单击一个按钮,就可以将我们所有的实时网站价格都整理整齐,该怎么办?”

“That would dramatically speed up our price checking,” they said.

他们说:“这将大大加快我们的价格检查速度。”

We came up with a plan: I would build a simple website that would allow planners to upload dozens of item names and immediately receive an easy-to-read list of those items’ live website prices and sales discounts.

我们提出了一个计划:我将建立一个简单的网站,使计划人员可以上载数十个商品名称,并立即收到这些商品的实时网站价格和销售折扣的易于阅读的列表。

The idea was concrete and doable. It had an impact — conserved manpower, faster QA, and improved customer experience — and I was confident in my own ability to build it (even if I didn’t yet know exactly how).

这个想法是切实可行的。 它产生了影响-节省了人力,加快了质量检查,并改善了客户体验-我对自己的能力充满信心(即使我还不知道确切如何)。

I went back to my desk and typed up a document explaining the business requirements of what I planned to build, how it would be helpful, and the Hackathon date when I would build it.

我回到办公桌前,输入了一份文档,解释了我计划构建的内容的业务需求,它将如何有所帮助以及构建时的Hackathon日期。

I went back to the planners and had one of the planning managers and the eCommerce merchandiser read my document. There was no time to backpedal again.

我回到计划者手中,让一位计划经理和电子商务商人阅读了我的文档。 没有时间再次退缩了。

They gave me the confirmation. The idea was set, and with a week left, it was time to figure out how I was going to make this a functioning, usable reality.

他们给了我确认。 这个想法已经确定,剩下一个星期了,该是时候弄清楚我如何使它成为一个可行的,可用的现实了。

I went to the engineers at my company more advanced than I was (of which there were plenty) and asked, “How would you code a script that automatically returned the website prices for items we sell?”

我去了比我公司(其中有很多人)更高级的工程师,问:“您将如何编写一个脚本,该脚本自动返回我们所售商品的网站价格?”

After speaking to several engineers, I learned that our website product pages got their prices by querying our internal eCommerce database, which in turn got its pricing info from SAP. This was a Redis database that had its own neatly written documentation showing exactly how to request any pricing info from it.

与几位工程师交谈后,我了解到我们的网站产品页面是通过查询内部电子商务数据库来获得价格的,该数据库又从SAP获得了价格信息。 这是一个Redis数据库,它有自己整齐的书面文档,显示了如何从中索取任何定价信息。

I found the engineer who had built the database and learned that I could retrieve the website prices and sale prices of a whole list of items using just a single database call.

我找到了建立数据库的工程师,并了解到我可以仅使用一个数据库调用就可以检索整个项目清单的网站价格和销售价格。

Even though my plan was coming together, I was still very aware of how much work I had ahead of me. I tried to recruit other engineers, but didn’t find much interest, especially when I told them about my expectation for them to speak to the planners.

尽管我的计划已经达成,但我仍然非常意识到自己还有很多工作要做。 我曾尝试招募其他工程师,但并没有引起太大兴趣,尤其是当我告诉他们我希望他们与规划师交谈时。

With no engineering teammates, I spent every moment I could after work studying the material on my own, experimenting with making database calls and studying how to write JavaScript code to read Excel spreadsheets.

在没有工程团队的情况下,我花了所有的时间在工作后独自研究资料,尝试进行数据库调用以及研究如何编写JavaScript代码以读取Excel电子表格。

扩展到我们的主要品牌 (Expanding to our Main Brand)

The day before the Hackathon, out of curiosity, I asked our planners how they knew what inventory options to sell. They responded that our company’s merchandising department was responsible for those decisions, so I went to speak to our merchandisers.

在黑客马拉松比赛的前一天,出于好奇,我问我们的计划人员如何知道要出售哪些库存选项。 他们回答说,我们公司的采购部门负责这些决定,所以我去跟我们的采购员谈。

During our conversation, they mentioned in passing something about their counterparts in our main brand.

在我们的交谈中,他们提到了一些关于我们主要品牌中同行的信息。

“Our main brand?” I asked. “Aren't you guys our main brand?”

“我们的主要品牌?” 我问。 “难道你们我们的主要品牌?”

“No,” they said. “The merchandising and planning for this floor is dedicated to our smaller brand, which is 15% of our total revenue. Upstairs is our flagship apparel brand.”

“不,”他们说。 “此楼层的销售和规划专门针对我们较小的品牌,占我们总收入的15%。 楼上是我们的旗舰服装品牌。”

This couldn’t be happening. I knew we had several brands at our company, but the day before the Hackathon, I was finding out that my project was being built for the smallest brand in our organization.

这不可能发生。 我知道我们公司有几个品牌,但是在Hackathon的前一天,我发现我的项目是为组织中最小的品牌建立的。

With a weaker background in coding, no other engineers on my team, and the need to do something big to impress the judges, I wasn’t looking too great.

由于编码方面的背景较弱,团队中没有其他工程师,并且需要做一些大事来打动评委,所以我看起来并没有太大。

I walked upstairs and started asking around where I could find the planning department for our main brand. I needed to speak to them if my project was going to have a big enough impact.

我走上楼,开始询问周围哪里可以找到我们主要品牌的计划部门。 如果我的项目将产生足够大的影响,我需要与他们交谈。

There seemed to be at least 20-40 planners in our main brand. Who would I speak to?

我们的主要品牌似乎至少有20-40位策划者。 我要和谁说话?

I needed to find a planner who would understand what I had in mind, but also have the knowledge base and the creative thinking to find the areas I was missing.

我需要找到一个计划者,该计划者应该理解我的想法,但也要具备知识库和创造性思维才能找到我所缺少的领域。

What if the larger brand used a different system? I needed somebody dependable, and I didn’t have the time to spread out over a few weeks.

如果较大的品牌使用其他系统怎么办? 我需要一个可靠的人,而且我没有时间分散几个星期。

With the Hackathon a day away, I took a shortcut.

在一天的黑客马拉松中,我走了一条捷径。

Planning had an open office space environment, which meant people were at cubicles with no walls. I began talking about my Hackathon idea to one of the planners in our main brand.

规划具有开放的办公空间环境,这意味着人们处在没有墙壁的小隔间中。 我开始与我们主要品牌的一位计划者谈论我的Hackathon想法。

As I spoke, I raised my voice and began walking up and down the aisle, looking around at other planners as I did so. This allowed me to get the potential attention of up to eight planners at once.

当我讲话时,我提高了声音,开始在过道上走来走去,环顾四周其他计划者。 这使我能够一次吸引多达8位计划者的潜在注意力。

One of the planners showed a ton of interest and asked a lot of questions. He was specifically interested in our Redis database and whether other information besides pricing could be found.

一位计划者表现出极大的兴趣,并提出了很多问题。 他对我们的Redis数据库以及是否可以找到除定价之外的其他信息特别感兴趣。

I showed him our database documentation and we quickly went through it all.

我向他展示了我们的数据库文档,我们很快完成了所有工作。

He mentioned that there was other information besides pricing that could be useful, such as whether the items were listed on our website, and what categories they belonged to. He then introduced me to eCommerce merchandisers from our main brand, who agreed that what I was building had potential beyond just pricing.

他提到,除了定价外,还有其他有用的信息,例如这些物品是否在我们的网站上列出以及它们属于什么类别。 然后,他向我介绍了我们主要品牌的电子商务商人,他们同意我正在制造的东西不仅具有定价潜力。

There wasn’t enough time for me to make any drastic expansions to my coding requirements, but we agreed that I could build my project in a way that was flexible enough for it to be used by planners from either our smaller brand or our main brand.

我没有足够的时间对我的编码要求进行任何大幅度的扩展,但是我们同意我可以以一种足够灵活的方式来构建我的项目,以供较小品牌或主要品牌的计划人员使用。

Hearing about my project’s value and viability from co-workers who were really enthusiastic about it was just the push I needed.

真正热心于此的同事们听到了我的项目的价值和可行性,这只是我需要的推动力。

I had the confidence, the resources, the research, and, hopefully, the ability. Even if I didn’t, there would be no avoiding it — the Hackathon was starting the next morning, and it wasn’t going to wait for anything.

我有信心,有资源,有研究并且有能力。 即使我没有,也无法避免-Hackathon在第二天早晨开始,它不会等待任何事情。

寻找队友 (Finding a Teammate)

The Hackathon was a two-day affair, over the course of a Thursday and Friday.

在周四和周五的过程中,黑客马拉松活动为期两天。

When I looked at the calendar for the date, I realized that I had a family commitment on Friday afternoon that I wouldn’t be able to avoid. The presentation and judging would both be on Friday, which meant that I absolutely had to find a teammate who would be able to present, or the project would be dead before I’d even written a line of code.

当我查看日历上的日期时,我意识到我在星期五下午做出了家庭承诺,这是我无法避免的。 演讲和评审都将在星期五进行,这意味着我绝对必须找到一个能够演讲的队友,否则该项目将在我编写代码之前就死定了。

I approached the planners from our company’s smaller brand who I’d been in conversation with for several weeks already. I asked if any of them would be able to present our project to the judges. None seemed enthusiastic. A few told me they had meetings on Friday while others said they were nervous about public speaking.

我从我们公司较小的品牌的策划人那里找了几个星期,我一直在和他们交谈。 我问他们是否有能力向法官介绍我们的项目。 没有人看起来很热情。 一些人告诉我他们在星期五开会,而其他人则说他们对公开演讲感到紧张。

Needing a teammate, I went straight to Oliver, the planner from our main brand who had such an active interest in my project. He was a popular guy with a kind face. His hair was greying, though he was in his mid-20s, and he had surprisingly made it to the role of senior planner within just four years out of college, when most took five to eight years to get to that point. He had a lot of awards at his desk, and plenty of snacks, too.

需要队友时,我直接去了我们主要品牌的策划人奥利弗(Oliver),他对我的项目非常感兴趣。 他是一个受人欢迎的面Kong。 尽管他正处于20多岁的年龄,但他的头发仍然白皙,他在大学毕业后短短四年内就成为了高级策划师,而大多数人花了五到八年才达到这一目标。 他在办公桌旁获得了很多奖项,也有很多小吃。

Oliver immediately agreed to present the project and said he was excited to do so.

奥利弗立即同意介绍该项目,并表示很高兴这样做。

We went downstairs to the Hackathon’s dedicated meeting space and we signed up as a team. We needed a name for our project so we called it PriceSeeker.

我们下楼去了Hackathon专用的会议空间,并签了一个团队。 我们需要为项目命名,因此我们将其称为PriceSeeker。

There were nine other teams competing, most of which were comprised of senior engineers. Some project managers and UX designers were also part of a few teams. With the exception of my planning teammate, everyone else competing belonged to our eCommerce department.

另外还有9个团队竞争,其中大多数由高级工程师组成。 一些项目经理和UX设计师也是几个团队的一部分。 除了我的计划团队成员外,其他竞争者都属于我们的电子商务部门。

简化设计 (Simplifying the Design)

I had my plan in mind going into the Hackathon: I’d build a simple website that would let users upload Excel lists of items.

我计划进入Hackathon的计划是:建立一个简单的网站,允许用户上传Excel项目列表。

My website would parse the Excel spreadsheet, retrieve the list of items, and request their prices from our Redis database. It would then return to the planners a new Excel spreadsheet containing items and their prices.

我的网站将解析Excel电子表格,检索项目列表,并从我们的Redis数据库中请求价格。 然后,它将向计划者返回一个新的Excel电子表格,其中包含项目及其价格。

With this, instead of manually clicking through our website to check item prices, they’d be able to immediately see all relevant website prices at the click of a button. It would make price-checking a whole lot easier and more convenient.

这样,他们无需手动单击我们的网站来查看商品价格,只需单击一下按钮,他们便可以立即查看所有相关的网站价格。 这将使价格检查变得更加容易和方便。

We had two days to work on our project and then present it to the judges, who were high ranking leaders within our eCommerce department. My senior director of engineering — who had introduced me to the Hackathon in the first place and taught me about making an impact — was one of the judges. He was also available throughout the Hackathon to answer any coding questions.

我们有两天的时间来处理我们的项目,然后将其提交给法官,他们是我们电子商务部门的高级领导。 我的工程部高级总监是评委之一,他最初是将我介绍给Hackathon的,并教会我如何产生影响。 他在整个Hackathon期间都可以回答任何编码问题。

Excited to begin, I sat down at my computer.

激动的开始,我坐在电脑前。

I soon got up from my computer, because I had very quickly hit a wall: I didn’t have enough coding knowledge to figure out how to set up a basic HTML website that could easily read from an uploaded Excel sheet.

我很快就起床了,因为我很快就碰上了墙:我没有足够的编码知识来弄清楚如何建立一个基本HTML网站,该网站可以轻松地从上载的Excel工作表中读取。

I approached my senior director of engineering for advice, and he suggested I simplify my design and just make a form with a text area. Users would copy items from Excel into the form and submit it.

我向我的高级工程总监寻求建议,他建议我简化我的设计,只制作一个带有文本区域的表格。 用户可以将项目从Excel复制到表单中并提交。

Upon submission, the pricing would be requested from our database. The pricing would then be returned in a simple HTML table, which users could copy into Excel if they wanted.

提交后,将从我们的数据库中请求价格。 然后,价格将在简单HTML表中返回,用户可以根据需要将其复制到Excel中。

No longer needing to write code to read Excel documents simplified things a lot.

不再需要编写代码来阅读Excel文档,简化了很多事情。

建筑价格搜寻者 (Building PriceSeeker)

Even with the help, it was still an intense day of near-constant coding.

即使有了帮助,仍然是接近恒定编码的紧张日子。

I took some breaks to check in with our planners and get approval on the design. I grabbed plenty of snacks from Oliver’s desk. I also spoke with other engineers whenever I needed help or got stuck on the code.

我花了一些时间与我们的计划人员核对并获得设计批准。 我从奥利弗的桌子上抢了很多小吃。 每当需要帮助或卡在代码中时,我也会与其他工程师交谈。

I wasn’t alone, and I was grateful for the help, but it was my responsibility to keep pushing through the difficulties and put in the physical and mental effort of writing out all the code.

我并不孤单,我很感谢帮助,但是我有责任继续克服困难,并付出体力和精力来编写所有代码。

I was extremely aware of my disadvantage in the competition, but I was happy to find that by the end of the first day, I had managed to get a decent prototype working. It returned information for small lists of four or fewer items, but for larger lists it returned nothing at all.

我非常清楚自己在比赛中的劣势,但是很高兴发现在第一天结束时,我就已经成功地制作了一个不错的原型。 它为四个或更少项目的小列表返回信息,但是对于较大列表,它什么也没有返回。

The day was ending and I didn’t have the time to investigate or troubleshoot, so I uploaded PriceSeeker onto Github Pages, emailed the website address to several planners, and went home. Hopefully, a good night’s sleep and some time for responses would help me along my way.

一天结束了,我没有时间去调查或排除故障,所以我将PriceSeeker上传到Github Pages,通过电子邮件将网站地址发送给了一些计划人员,然后回家了。 希望一夜安眠和花点时间对我有所帮助。

When I got back to work on the second day, I found an email waiting for me from Oliver — he wasn’t able to get PriceSeeker working, but he helpfully sent me several screenshots showing what he’d tried.

当我第二天恢复工作时,我发现来自Oliver的一封电子邮件在等我-他无法让PriceSeeker工作,但他很有帮助地向我发送了一些截图,显示了他的尝试。

Seeing the screenshots, I immediately realized that I hadn’t properly explained how to copy and paste items into the form. I emailed Oliver back a screenshot showing him how to do so, and he emailed me back two minutes later, showing me that it was working.

看到屏幕截图,我立即意识到我没有正确解释如何将项目复制和粘贴到表单中。 我给奥利弗发了一封电子邮件,向他发送了一张截图,显示了他的操作方法,两分钟后,他向我发了电子邮件给我,告诉我它正在工作。

After taking some time to get into the proper headspace, I went to Oliver’s desk. There were several other planners around his desk and on his screen was PriceSeeker, which they were discussing.

花了一些时间进入适当的顶空后,我去了奥利弗的办公桌。 在他的办公桌旁还有其他几位计划者,在他的屏幕上是他们正在讨论的PriceSeeker。

Oliver had sent the website address to all the other planners on his team. The planners were discussing how amazing it would be to further explore collaboration between planning and engineering. I was excited by the enthusiasm, and especially by the possibility of opening new doors with this collaboration.

奥利弗(Oliver)已将该网站地址发送给他的团队中所有其他计划者。 规划人员正在讨论进一步探索规划与工程之间的协作将是多么惊人。 我的热情,特别是通过这次合作有可能打开新的大门,使我感到兴奋。

This especially excited Oliver, since he loved the idea of breaking through the barriers that siloed departments and closed them off from each other. Maybe we could create further opportunities for finding problems and impactful solutions by encouraging communication between departments.

奥利弗对此特别兴奋,因为他喜欢打破孤立的部门并彼此隔离的想法。 也许我们可以通过鼓励部门之间的沟通来创造更多的机会来发现问题和有效的解决方案。

Since I knew I wasn’t going to be around for the presentation, I spoke to Oliver, and we went over his five minute pitch. He started by displaying our working PriceSeeker website and showing it in action. He copied and pasted items into the form, submitted it, and explained why it was so useful to be able to get the prices instantly.

因为我知道我不会参加演讲,所以我与奥利弗交谈,然后我们进行了五分钟的演讲。 他首先显示了我们的PriceSeeker工作网站并进行了展示。 他将项目复制并粘贴到表单中,然后提交,并解释了为什么能够立即获得价格如此有用。

His demo went on to explain how “the sky's the limit,” with examples of other data that would be useful to receive. He explained the business impact of how our automation website would reduce manual effort and lead to an improved customer experience.

他的演示继续解释了“天空是极限”,并举例说明了一些其他有用的数据。 他解释了自动化网站如何减少人工工作并改善客户体验的商业影响。

He concluded that though PriceSeeker currently only returned pricing, there was a lot more that was possible. It was amazing hearing him speak about the website's possibilities. He focused entirely on business terms like “reduced manual effort” and “increased annual sales,” and given that he was a planner himself, Oliver was able to talk about our project with far more accuracy than I ever could have.

他得出结论,尽管PriceSeeker目前仅返回定价,但还有更多可能。 听到他谈论该网站的可能性,真是太神奇了。 他完全专注于诸如“减少人工工作量”和“增加年销售额”之类的业务术语,并且鉴于他本人是计划者,因此Oliver能够以比以往任何时候都更加准确的方式谈论我们的项目。

When he finished his presentation, I asked questions to both learn more about our project's value and to give him additional practice at explaining its potential impact: “How much manual effort could be reduced?”

当他完成演讲后,我问了一些问题,不仅要了解我们项目的价值,还要给他更多的实践来解释其潜在影响:“可以减少多少人工?”

“How would automating the checking of our website data improve your abilities to order the right amount of inventory?”

“自动检查我们的网站数据将如何提高您订购适量库存的能力?”

“In addition to planning, what other teams or departments would benefit from automated checking of website data?”

“除了计划之外,自动检查网站数据还能使其他团队或部门受益吗?”

“Why?”

“为什么?”

I knew to ask these questions because I learned this question-asking technique from the book Spin Selling. Spin Selling acknowledges that sellers sometimes cannot present directly to buyers and need to rely on intermediaries to pass on the messages. The book advises coaching your intermediaries by asking them questions that get them to explain the product's benefits in their own words.

我知道问这些问题,是因为我从《 旋转销售 》一书中学到了这种提问技术。 Spin Selling承认卖方有时不能直接向买方展示,而需要依靠中介来传递消息。 该书通过向中介者提出问题来指导他们,以他们自己的语言解释产品的好处,从而为他们提供指导。

That’s exactly what I did, asking lots of questions that got Oliver to further explain all the many ways our project could add value.

这正是我所做的,询问了很多问题,使Oliver进一步解释了我们项目可以增加价值的所有方式。

About an hour before the judging would begin, I had to leave. I was sorry that I wouldn’t be able to be there for our presentation, but I was comforted to know that we were in good hands.

评审开始前大约一个小时,我不得不离开。 很抱歉我不能在那里参加我们的演讲,但是很高兴得知我们的情况很好。

I wished my teammate good luck and asked a coworker to text me if my project placed in the top three.

我希望我的队友好运,并请一位同事给我发短信我的项目是否排在前三名。

结果在 (The Results Are In)

After leaving, I sat on a train for two hours. On the way, I mentally prepared for what would happen once the contest was over.

离开后,我在火车上坐了两个小时。 在途中,我为比赛结束后的情况做好了心理准备。

I'd gotten the feeling that we were the only team that had extensively started planning even before the Hackathon was officially announced. I'd also gotten the impression that we were the only team who had prepared our presentation to focus exclusively on a business impact.

我感到,即使在Hackathon正式宣布之前,我们还是唯一开始广泛计划的团队。 我还给人的印象是,我们是唯一准备我们的演示文稿以专注于业务影响的团队。

I had some confidence because of this, but I was still nervous because there were so many uncontrollable things that could prevent us from reaching the top three places or even winning the Hackathon.

因此,我有一定的信心,但我仍然感到紧张,因为有太多无法控制的事情可能使我们无法进入前三名,甚至无法赢得Hackathon。

I kept imagining all the things that could go wrong without me being able to do anything. Maybe it would turn out we’d done something wrong and we’d get disqualified somehow. Maybe Oliver wouldn't be able to present. Maybe another team would deliver a superb presentation that rocked the house.

我一直在幻想所有可能出错的事情,而我却无能为力。 也许事实证明我们做错了什么,但我们却以某种方式被取消资格。 也许奥利弗(Oliver)无法出席。 也许另一个团队会发表出色的演讲,震撼整个房子。

While sitting on the train, I realized that planning to win the Hackathon was not something useful, as it wasn’t something I could control. I decided that — regardless of the results — I would continue working on my project and implement it in a way that would lead to an increase of $20,000-80,000 in profits.

坐在火车上时,我意识到计划赢得Hackathon并没有什么用,因为这不是我能控制的。 我决定,无论结果如何,我都会继续从事我的项目,并以可以增加20,000-80,000美元利润的方式实施该项目。

I chose those numbers rather arbitrarily, but it felt like something achievable. To reach my goal, I knew there was still a lot of work that would have to be done after the Hackathon was over.

我相当随意地选择了这些数字,但这感觉是可以实现的。 为了实现我的目标,我知道在Hackathon结束之后还有很多工作要做。

I got off the train and made it to my family event. Part of me was still somewhere else, but I knew there was nothing I could do now. I didn’t look at my phone for a bit, which is why it took some time before I saw the text. The results were in. My team had won.

我下了火车,参加了家庭聚会。 我的一部分仍然在其他地方,但是我知道现在我无能为力了。 我没看手机,这就是为什么我花了一些时间才看到短信的原因。 结果出来了。我的团队赢了。

For a brief moment, I was shocked, relieved, happy. I’d reached this point after so much work, so much waiting and struggling, and it looked like it was finally paying off.

一小会儿,我感到震惊,放心,开心。 经过这么多的工作,这么多的等待和挣扎,我已经达到了这一点,看来终于有了回报。

Victory didn’t last long, because now I was overthinking all the negative possibilities again. To pull off this win, I’d done a lot of things at work I’d never expressly gotten permission to do.

胜利并没有持续太久,因为现在我又重新考虑了所有负面可能性。 为了赢得这场胜利,我在工作中做了很多事情,但从未明确得到允许。

I'd given the link to our database's documentation to planners who quite clearly were not members of our eCommerce department. I'd hosted our Hackathon project in my own personal GitHub rather than in our company's code repository. I'd been constantly sneaking off during lunch breaks and at the end of the day to talk to the planners, which meant my coworkers could argue that I was neglecting my regular workload.

我已经给计划人员提供了指向数据库文档的链接,这些计划人员显然不是我们电子商务部门的成员。 我将Hackathon项目托管在我自己的个人GitHub中,而不是托管在我们公司的代码存储库中。 在午餐休息时间和一天结束时,我一直在不停地偷偷溜走,与计划者交谈,这意味着我的同事可能会争辩说我忽略了我的日常工作量。

Even more than all of this, I was worried about the social repercussions. I was extremely far from any level of seniority in my engineering department, so what kind of reception would I get for besting the more senior engineers?

不仅如此,我还担心社会影响。 我的工程部门没有任何资历,因此,要击败更高级的工程师,我会得到什么样的认可?

黑客马拉松之后 (After the Hackathon)

I made it to work after the weekend, concerned for the worst, only to find that no one seemed to care much.

我在周末过后去上班,担心最坏的情况,却发现似乎没人在乎。

When I returned, a bunch of people gave me high-fives and wished me congratulations. But my regular day-to-day workload stayed the same as it was before the Hackathon. I was told by upper engineering management that there wasn't enough engineering leeway to let me or any other engineer be given official permission to work on PriceSeeker.

当我回来时,一群人给我很高的敬意,并祝我祝贺。 但是我的日常工作量与黑客马拉松之前的工作量相同。 上级工程管理人员告诉我,没有足够的工程设计余地让我或任何其他工程师获得正式许可,可以从事PriceSeeker的工作。

Our heads of planning said they were in the midst of a major restructuring and said they wouldn't be able to devote time to my project for at least several months. I was frustrated to find that, while I was receiving positive feedback from coworkers, all my efforts amounted to a neat side project I could be proud of, but wouldn’t be able to actually do anything with.

我们的计划负责人表示,他们正在进行重大重组,并表示他们至少有几个月无法花时间在我的项目上。 我很沮丧地发现,虽然我收到了同事的积极反馈,但我所有的努力都构成了一个让我引以为傲的精巧的副业,但实际上却无能为力。

I had a lot of work to catch up on now that the Hackathon was over, so I went back to focusing solely on my workload, with 5-15 hours per week after work spent studying Selenium best practices. It took me about a month or two working on my skills to get to the point where I was finishing my workload in enough time to have a few hours during the day to spare here and there.

黑客马拉松结束后,我有很多工作要赶上来,所以我回到了仅专注于工作量的工作上,每周工作5至15个小时,用于研究Selenium的最佳实践。 我花了大约一个月或两个月的时间来提高自己的技能,以至于我花了足够的时间完成工作量,白天有几个小时可以在这里和那里闲逛。

PriceSeeker was almost done and there was just a bit more coding that had to be done to fix all the bugs. I felt I needed maybe a day or two more, but without official permission, it would have to be my own project to secretly complete on my own.

PriceSeeker差不多完成了,只需要多做一些编码即可修复所有的错误。 我觉得可能还需要一两天,但是如果没有官方许可,这必须是我自己的项目才能秘密完成。

None of my coworkers knew I was spending time on PriceSeeker, nor did they care, since I was getting my regular work done and submitted on time.

None of my coworkers knew I was spending time on PriceSeeker, nor did they care, since I was getting my regular work done and submitted on time.

After some considerable effort and tinkering, I managed to solve all of PriceSeeker’s bugs.

After some considerable effort and tinkering, I managed to solve all of PriceSeeker's bugs.

Excitedly, I headed to the planners from our minor brand to show them the working model. They told me they didn’t need it anymore. I couldn’t believe it. I was so shocked that I could barely even ask what was wrong.

Excitedly, I headed to the planners from our minor brand to show them the working model. They told me they didn't need it anymore. 我简直不敢相信。 I was so shocked that I could barely even ask what was wrong.

As I found out, the issue of incorrect pricing had been a temporary one caused by a recent change in how pricing would be displayed. At some point after the Hackathon, the pricing displays had been updated in a way that would let planners find any incorrect pricing a lot quicker.

As I found out, the issue of incorrect pricing had been a temporary one caused by a recent change in how pricing would be displayed. At some point after the Hackathon, the pricing displays had been updated in a way that would let planners find any incorrect pricing a lot quicker.

In hindsight, I should have realized this during the lead-up to the Hackathon, but I must have been so enthusiastic about my plan that I hadn’t properly investigated all areas where it could go wrong. Regardless of why I’d missed it, this meant that PriceSeeker had been effectively useless for quite some time.

In hindsight, I should have realized this during the lead-up to the Hackathon, but I must have been so enthusiastic about my plan that I hadn't properly investigated all areas where it could go wrong. Regardless of why I'd missed it, this meant that PriceSeeker had been effectively useless for quite some time.

Oliver told me that PriceSeeker as it was would likewise be useless for our main brand. However, he told me that there was an issue where items on our website would occasionally “fall off.” This meant that certain items and colors that were in our inventory would accidentally get removed from our eCommerce store.

Oliver told me that PriceSeeker as it was would likewise be useless for our main brand. However, he told me that there was an issue where items on our website would occasionally “fall off.” This meant that certain items and colors that were in our inventory would accidentally get removed from our eCommerce store.

This happened rarely, but the planners wouldn't know about it until reviewing weekly eCommerce sales reports, noticing some items had zero sales, and then checking if they were on our website. At that point, they would mark the products to be returned to our website.

This happened rarely, but the planners wouldn't know about it until reviewing weekly eCommerce sales reports, noticing some items had zero sales, and then checking if they were on our website. At that point, they would mark the products to be returned to our website.

Once again, this was more manual work and less productivity than was optimal, and Oliver advised that it would be very useful if PriceSeeker could be modified to let them know whether or not an item was on our website.

Once again, this was more manual work and less productivity than was optimal, and Oliver advised that it would be very useful if PriceSeeker could be modified to let them know whether or not an item was on our website.

After going through our database documentation, I realized it would be a very simple matter to query our database to see if an item was listed on our website or not, so I quickly updated PriceSeeker to also include that check.

After going through our database documentation, I realized it would be a very simple matter to query our database to see if an item was listed on our website or not, so I quickly updated PriceSeeker to also include that check.

Oliver told me that our eCommerce merchandisers were the ones who were responsible for quality checks of website inventory and they would benefit most from this new feature within PriceSeeker. I approached the eCommerce merchandisers for each of our brands and found that they were very happy with what I showed them.

Oliver told me that our eCommerce merchandisers were the ones who were responsible for quality checks of website inventory and they would benefit most from this new feature within PriceSeeker. I approached the eCommerce merchandisers for each of our brands and found that they were very happy with what I showed them.

They copied and pasted hundreds of items into it at once and quickly verified that PriceSeeker was properly reporting all items that were unlisted on our eCommerce store. And just like that, they began using it several times per week.

They copied and pasted hundreds of items into it at once and quickly verified that PriceSeeker was properly reporting all items that were unlisted on our eCommerce store. And just like that, they began using it several times per week.

Over the next several weeks, I continued to talk to planners and merchandisers, trying to find other areas where PriceSeeker could be useful.

Over the next several weeks, I continued to talk to planners and merchandisers, trying to find other areas where PriceSeeker could be useful.

I learned that our planning department had recently set up a data science team. The team was responsible for building automated scripts and dashboards to help our planners make better decisions. Reporting unlisted eCommerce inventory had actually been on their to-do list.

I learned that our planning department had recently set up a data science team. The team was responsible for building automated scripts and dashboards to help our planners make better decisions. Reporting unlisted eCommerce inventory had actually been on their to-do list.

I enjoyed speaking with the data science team and exchanging ideas, but with no official sanction to work on PriceSeeker or anything else, our conversations were mostly theoretical. Still, I was happy to know that my project had accomplished something and was finally seeing the light of day.

I enjoyed speaking with the data science team and exchanging ideas, but with no official sanction to work on PriceSeeker or anything else, our conversations were mostly theoretical. Still, I was happy to know that my project had accomplished something and was finally seeing the light of day.

It wasn’t long afterward when I got an email from my consulting company’s human resources department. They wanted to schedule a meeting.

It wasn't long afterward when I got an email from my consulting company's human resources department. They wanted to schedule a meeting.

I went in to talk to them and was told there were going to be layoffs. Several consultants would not have their contracts renewed. I was one of them. I had three weeks’ notice before my contract ended.

I went in to talk to them and was told there were going to be layoffs. Several consultants would not have their contracts renewed. I was one of them. I had three weeks' notice before my contract ended.

I knew that the fashion brand had been facing a decline in sales and firing a consultant was easier than getting rid of a full-time employee. Nonetheless I was still quite surprised that I would be among those let go.

I knew that the fashion brand had been facing a decline in sales and firing a consultant was easier than getting rid of a full-time employee. Nonetheless I was still quite surprised that I would be among those let go.

In my last few weeks, I tidied up my regular work and gave some extra attention to PriceSeeker. I wanted to see if I could quantify the financial impact it had made, but the value of detecting accidentally unlisted inventory would not be easy to quantify.

In my last few weeks, I tidied up my regular work and gave some extra attention to PriceSeeker. I wanted to see if I could quantify the financial impact it had made, but the value of detecting accidentally unlisted inventory would not be easy to quantify.

When I went to our eCommerce merchandisers, they told me its impact would be impossible to measure. There were so many complicating factors involved, such as how many unlisted items would be detected, what brand they were from, the popularity of those items, and how much inventory remained.

When I went to our eCommerce merchandisers, they told me its impact would be impossible to measure. There were so many complicating factors involved, such as how many unlisted items would be detected, what brand they were from, the popularity of those items, and how much inventory remained.

Oliver summed it up, “though we can’t give a monetary value to PriceSeeker, we are certain it has a positive impact on our bottom line.”

Oliver summed it up, “though we can't give a monetary value to PriceSeeker, we are certain it has a positive impact on our bottom line.”

With my contract ended, I was left looking back at around seven months in a company where I’d had some amazing adventures, most exciting of which was our Hackathon.

With my contract ended, I was left looking back at around seven months in a company where I'd had some amazing adventures, most exciting of which was our Hackathon.

After our Hackathon was over, many of my colleagues told me that I won because I “focused on a business impact.” Though they meant it as a compliment, I always felt hollow when I heard that being given as the sole reason.

After our Hackathon was over, many of my colleagues told me that I won because I “focused on a business impact.” Though they meant it as a compliment, I always felt hollow when I heard that being given as the sole reason.

Personally, I credit my win to actively preparing even before the Hackathon was officially announced. By doing so, I was able to continuously get the feedback I needed to improve my proposal so that it eventually had a legitimate business impact.

Personally, I credit my win to actively preparing even before the Hackathon was officially announced. By doing so, I was able to continuously get the feedback I needed to improve my proposal so that it eventually had a legitimate business impact.

I couldn’t have done it without the help of others. So much of the work felt like it was up to me, like I had to be the one to push and discover and self-teach and work.

I couldn't have done it without the help of others. So much of the work felt like it was up to me, like I had to be the one to push and discover and self-teach and work.

The truth is, I wasn’t alone. The ones who offered passion and enthusiasm — my senior directing of engineering and my teammate, Oliver — were the ones who pushed me to be part of a competition I wouldn’t have ever gone near two years earlier.

The truth is, I wasn't alone. The ones who offered passion and enthusiasm — my senior directing of engineering and my teammate, Oliver — were the ones who pushed me to be part of a competition I wouldn't have ever gone near two years earlier.

I’m still learning. I’m still trying new things. I’m still hoping I’ll find more of that collaboration that enabled me to create something helpful for my company and meaningful to my own journey.

I'm still learning. I'm still trying new things. I'm still hoping I'll find more of that collaboration that enabled me to create something helpful for my company and meaningful to my own journey.

Thinking back, it’s still hard for me to believe that someone like me, who had struggled so hard to land a career, would be able to enter the corporate world and turn their life around.

Thinking back, it's still hard for me to believe that someone like me, who had struggled so hard to land a career, would be able to enter the corporate world and turn their life around.

For me, the Hackathon was a second chance. And I made the most of it.

For me, the Hackathon was a second chance. And I made the most of it.

Let's Stay in Touch (Let’s Stay in Touch)

My previous company downsized, so I’m currently looking for a new full-time position in New York City. I am a full-stack engineer whose strongest skills are in ReactJS, Redux, NodeJS, SQL, and MongoDB. You can reach me at [email protected]

My previous company downsized, so I'm currently looking for a new full-time position in New York City. I am a full-stack engineer whose strongest skills are in ReactJS, Redux, NodeJS, SQL, and MongoDB. You can reach me at [email protected]

Also, using my coding skills I built an improv website that lets people pick characters such as “scientist” or “warrior” and then start chatting online. To try it out, or to get notified when I release new features, visit 4scorechat.com.

Also, using my coding skills I built an improv website that lets people pick characters such as “scientist” or “warrior” and then start chatting online. To try it out, or to get notified when I release new features, visit 4scorechat.com .

翻译自: https://www.freecodecamp.org/news/how-i-won-the-hackathon/

黑客马拉松 招募

你可能感兴趣的:(电子商务,数据库,人工智能,java,大数据)