[PYTHON] Runner-up in the first hackathon of the Zukoke rookie trio!

This article is the 8th day article of the new engineer Advent Calendar 2016.

Hello, it's KIKUYA-Takumi. New engineer Advent Calendar 2016 This is the second post! This time, I will write about the fact that three newcomers to Zukoke participated in the hackathon for the first time.

The first hackathon is rolling! ??

I participated in the Jubatus Hackathon with Yomiuri Shimbun # 2 held on November 12th and 13th! What I made at this hackathon

** Mama Deluxe in Ginza! **

When a user speaks in Slack, a new hostess (SlackBot) replies to it. As the user continues to speak, the new hostess speaks to Mama (SlackBot). The mama who was shaken is perfect for the user from Remark Komachi! ?? I recommend the article. Article recommendation analyzes the user's utterance content and recommends articles with content close to the utterance content. A new hostess puts in a tsukkomi while shaking the story to recommend an article to mom!

It will look like this. ginza-mama.png

Ginza's Mama Deluxe Development is ** Zukoke Roll! ** I would like to introduce the Zukoke episode that actually happened.

Before that, I will introduce a group of three newcomers to Zukoke!

Zukoke 3 newcomers

4 Zukoke in the first hackathon!

Zukoke! Part 1 ~ Start 2 SlackBots for the time being and infinite loop

First of all, from your own Zukoke! I was in charge of implementing SlackBot at this hackathon. Initially I was planning to have one Bot, but I was able to implement it earlier than expected, so I decided to add a second one. If the implementation of the first body is too smooth and you implement it without thinking ... 銀ママループ.png

** Bot react to each other and loop infinitely! ** **

I did it completely. I'm glad it wasn't just before the end ~

Zukoke! Part 2-Push to master branch with Git ** (leader) **

Managing Git was the role of the leader. Even though the leader decided the rules for handling Git such as "develop by cutting each branch", "the leader issues the command of merging", and "write the commit log properly", the leader is the master branch. I pushed to and privatized the master branch.

At this point, there was nothing wrong with it, so the leader will continue to develop with the master personalized.

But this finally appears in ** backfire ** </ font>!

Zukoke! Part 3 ~ Just before the end, greedily in a hurry ** (leader) **

Development completed ** 15 minutes before **, SlackBot's infinite loop was successfully resolved, presentation materials and demos were ready, and ** development was completed! ** </ font>

(Leader) "** Oh! Learn additional data! **"

In fact, there was additional data provided on the second day. According to the leader, considering the amount of data provided on the first day, he thought it would take only a few minutes. However, the amount of added data is approximately ** 6GB! ** </ font> Approximately ** 6 hours until the end of learning! ** </ font>

I decide to stop learning and go back to before learning, but here I notice a ** serious problem ** </ font>. Yes ** Git **. Many commit logs to master because the leader personalized master! I don't know which one was the commit before I was greedy (when it was completed), so the leader hurried!

As expected, I thought it was ** finished **. As a result, I was able to find the commit log of Git and announce the result safely ... I thought again that ** Git management is important **.

In the first place, why did you end up in a hurry just before?

Zukoke Part 4 ~ 2nd day late ** (leader) **

The reason why I was in a hurry just before the announcement was

** Zubari! Leader's late arrival! ** </ font> No way, ** lunch box ** will enter the venue first!

It was expected that I would be late from the beginning, but it wasn't until noon ...

"If you come properly from the morning ...", "Estimate the time it will take before learning", "You don't have to force yourself to learn", and it's full of tsukkomi elements.

** As expected, Zukoke leader! ** **

It was good because it was finally created.

Result is…

The first hackathon of the Zukoke rookie trio is ...

** Stunning! second place! ** </ font>

It wasn't sweet enough to win, but I'm happy that we were able to add more features and announce something that works! ** Even newcomers can do it! I also felt the response of **.

What is the secret of the runner-up? There are three things I decided on first!

I think the reason for the runner-up is that we first decided the following three points and then developed it.

  • ** Visualize goals **
  • ** Clarify the division of roles and devote yourself to your own role **
  • ** Gather the information needed for development in one place so everyone can see it **

Visualize goals

I have already experienced ** war ** </ font> in app development unless I clarify the goal I aim for first. For more information, please see this article!

I thought it was important that the whole team was aiming for the goal in a straight line, and that the goal was always visible. There is no time to stop in the short-term decisive battle of two days. There is no technical ability to implement at high speed. All we can do is ** move forward! ** The reason why we did not change the initial decision, did it, and took another step toward development was because we had clarified the goal first.

Clarify the division of roles and devote yourself to your own role

After clarifying the goal, it is the division of roles. The division of roles is to take charge of their ** specialty ** so that they can achieve the best performance ** in the team. This time, I was in charge of implementing SlackBot and the leader was Jubatus, and yan_hisa_ provided support for document creation, presentation, and development.

Even if the leader is late

** Do not touch the jurisdiction of the leader! ** **

I'm sure that if I was doing something like "I've done it because I was late!", I would have been rubbing "Don't do anything extra!". Anyone gets angry when they do what they want. Especially if someone who has never used Jubatus has touched it.

Gather the information you need for development in one place so everyone can see it

By collecting information in one place, we were able to share information in the event of an unexpected problem. This time, when I solved the infinite loop of SlackBot, I shared the Qiita article that I was referring to in advance, so the team was able to quickly identify the cause.

In addition, although there were no absentees this time, we are ready to respond even if there are absentees on the second day. relief! relief!

Because I prepared these three things first, I think I didn't have to die even if I was impatient on the way.

at the end

Rather than rubbing each other for two days in the first hackathon, we were able to cover each other and get a runner-up, because by strictly adhering to the first three things we decided, we could grasp our situation and what to do I thought it was because I was able to make a decision.

Also, I would like to challenge if I have the opportunity!

Thank you for reading until the end!

Link

This is a link related to the Jubatus Hackathon with Yomiuri Shimbun # 2 that I participated in this time. Eight teams in the newspaper article / remark Komachi utilization hackathon --Yomiuri Shimbun Online The 3rd Jubatus Hackathon (Jubatus Hackathon with Yomiuri Shimbun # 2) was held --Jubatus Blog

Recommended Posts