黑客馬拉松 招募
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 siegel.moshes@gmail.com
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 siegel.moshes@gmail.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.
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/
黑客馬拉松 招募