📜 ⬆️ ⬇️

Is there any powder in the old dog? Hackathon Radio Canada 2018 (Part One, We Make a Team)

In this article I want to introduce myself, tell what prompted me to participate, how I was able to put together a team, what conclusions I made for myself and just share my experience of participating in my first hackathon.

Sorry short did not work, a lot of text and not all on the topic.

image
')
I hope it will be interesting to Habr's readers not so much from the technical side, but simply from the point of view of expanding the horizons and the desire to learn "how is it there."

Preface, where the author remembers that no one is interested
I have not been a student for a long time, but in my student years there was neither a hackathon nor an opportunity to particularly leave the country and see "how it is there."

Today, I understand that the world has changed a long time ago and now there is an opportunity to participate anywhere and in everything, and nevertheless, I think that this article should find its reader.

I have long dreamed of participating in the hackathon, in any. There is some kind of magic, envy and respect for people, for professionals who gather for a couple of days and give out super-mega ready-made solutions or even crack digital bastions.

As I have already said, I am not a novice in programming and it has been many years since I received my diploma with the proud entry “Programmer PC and ACS” in 1994 in Chisinau. It so happened that at the end of the technical school there was no special work. There was a “big break” when I, like many who ended up with me, switched areas that were not related to programming and worked as “computer scientists” or went into commerce or any other profession for which they paid. After these post-perestroika years, not many friends returned to programming. And I was one of the few lucky.

I want to say that, since then, I, as it were, am not confident in my abilities and knowledge. In our business since the 80s there is a wild development. And if I want to stay afloat, it turns out I need to learn a new language and other technologies (which appear and disappear, albeit not at the speed of light, but at a frightening speed) every 3-4 years, and even better every year.

I'm trying to keep up with the world of technology and programming, while remaining a sought-after professional, reading smart books earlier and equally clever articles now. I understand that I’m definitely not Linus Torvalds, not Björn Straustrup, not Denis Richie, and not Rasmus Lerdorf (whom I saw at arm’s length when he introduced the new features of PHP7, which was a big event for me a couple of years ago). But I know that I can write code better than many with whom I happened to work. And I want to know how good I am? This may sound selfish, unethical, or just silly, but yes, I want to be better than others and have an idea of ​​how good are the colleagues around me. And, it seems to me that a hackathon is a good way to test our strength, get acquainted with new technologies, evaluate what can be written in a couple of days and generally understand what is happening around, because sometimes we are too busy with routine tasks to understand what is happening around ( BigData, AI, Cloud, CI / CD, DevOps, etc.).

So, a couple of weeks ago, I learned about the upcoming hackathon organized by Radio Canada and Microsoft in our "native" Montreal.

The theme of the hackathon is Artificial Intelligence.

Since I had been thinking about taking part in something like this for a long time, I decided to try it and began to study the goals and conditions of participation.

Basic requirements for the prototype in French
Cette compétition amicale vise cette année à expérimenter sur la place de l'intelligence artificielle dans l'industrie des médias et é développer un prototype d'application web ou mobile.
  • Les prototypes proposĂ©s doivent obligatoirement respecter les critères suivants:
    Utilization d'une des sources de données de Radio-Canada
  • DĂ©veloppement hĂ©bergĂ© dans la plateforme Azure ou avec un de ses services intĂ©grĂ©s
  • Interfaces conformes aux critères d'accessibilitĂ© WCAG 2.0 AA
  • Chaque Ă©quipe peut Ă©galement utilizer d'autres sources de donnĂ©es ouvertes et des services publics

Tous types de code, design ou autres éléments servant à la conception étéré étéré étérélement exclusive de l'Hackathon 2018 et devront respecter la propriété intellectuelle des tiers.


The prototype must meet the following requirements:


At that time, 10-15 teams were registered on the site and 7 of them looked officially registered. 3-5 teams are allowed to enter the tournament, so individual participation has disappeared by itself.

But there was a little unexpected question for me, how to assemble a team as soon as possible, and in fact to find a few adventurers who, on the one hand, would be nice to spend the weekend, and on the other, create something similar to the “prototype”?

Team formation is the key to success, or the reason for failure?
Unfortunately, the colleagues with whom I work now are quite hard to lift and I did not want to “go into reconnaissance” with any of them.

But I was lucky, and maybe I always planned it that way, my daughter is now studying for a programmer in the second year of college and shows abilities. My relationship with her is quite friendly, so this was the first person to whom I offered my adventure. In truth, it was not fair, because she probably could not refuse me. I didn’t think about it right away, but she agreed rather quickly without trying to wriggle away, which gave hope for productivity during the hackathon.

I will call her further an asterisk.
I asked her to start a search among classmates, this is exactly what should be interesting to them. But everything turned out not so simple. as in my case, not so many classmates look attractive to her as a colleague for an intensive project, of which she already had enough in college to understand what a project / task is and how people work or do not work as a team and under pressure, so the circle of suspected candidates quickly narrowed. She led two people to call them Mercury and Phaeton.

Local mercury is important. Since it happens in Montreal, French comes first. As you can see, even the description of the hackathon is not translated into English. I do not want to go deep into the details, but the essence is that the language (French) becomes one of the key success factors. So, Mercury is fluent in both and is a good developer, tested in battles in various student projects, with whom Zvezdochka will work comfortably.

Phaeton is a Russian-speaking developer who recently graduated from the same college and has a friendly relationship with Asterisk. Currently working in C ++ (it seems) from morning to evening, it processes both day and night and apparently on weekends. Real skills are not known, an attempt to identify them before the hackathon began was not crowned with success.

At the time when it became known that we already have 4 people in the team, I was quite calm about participating with whom. And Asterisk continued the search for the last developer. And the most terrible in the eyes of each of us was the phrase Artificial Intelligence, about which I had some general idea, and Asterisk was absent altogether. Well, in general, we all know about Skynet ? and about EX_MACHINA , but that doesn't count, right?

Just at that time the weekend happened. And my friend and acquaintance (let's call him Plato) and his wife came to visit us, as it were, for tea with donuts. It should be noted that most of my friends and acquaintances are somehow connected with IT and development, or with telecommunications.

We met with Plato several years ago in the same project where we both worked, but did not overlap in the same team. Plato was engaged in and still engaged in embeded systems, will come mainly in C (yes, yes, they still write it), which makes him very impressive. I also once wrote of course in assembly language, something like 2 + 2 100 years ago. But I have long gone to higher levels of abstraction and the Docker container for me looks uniquely simpler than the C function and compilation options. On the other hand, the magic of the words RESTful api sounds very mysterious for Plato. And I understand deeply somewhere, and maybe I just want to believe that if I can, I can master the magic of picking up the C code, and Plato will deal with the code on my favorite PHP.

Despite the rather different specifics of the work, Plato and I became friends for a long time with our families and maintain a lively relationship. But we are adults and I know, as always, Plato has difficulty with time. Therefore, it never occurred to me to call him into the team, despite the fact that I knew that a year ago he had signed up for a rather serious course on systems for self-driving cars, including work with neural networks (I mean the notorious AI).

Well, we sit with our spouses over a cup of tea, exchanging news. Naturally, I could not tell you about the pecking adventure in the form of a hackathon. To which, not very much for me, Plato caught fire, I would even say - flashed, and said: Cool, I want it too! For me, it was a great success and support, as I was afraid to stay on the team alone among students who might lose focus, interest, just not work together, etc. In Plato, I was sure that I would stand up to the end and would not fail (so that this would not mean in the case of our hackathon). I immediately unsubscribed Zvezdochka, that we have a kit and more people do not need to search yet.

So the team is formed.

Need to register a team? It was easy.
Need to register - everyone? It seems everyone is registered.
Need to fill the presentation? Now I am almost sure that this was not necessary.
We tried to clarify this question through the site but the organizers answered a little indistinctly.

The main absurdity that was alarming was that they requested a PowerPoint presentation and provided a template of 6 slides:


For me, it was like a template for the final performance of the team, scheduled for the last day of the hackathon. But the site Agorize insisted that without the sent presentation our team would not be officially registered. So, despite the internal disagreement with such a question, we did fill in the template provided and sent it.

Final registration. Calculate the first second!
Think it easy? No matter how wrong!

No, the problems are not with the registration as such, but over time, each member of the team, well, a little with the French.

I assigned the asterisk to an unofficial captain and administrator. She checked in first, then me.
I wrote to Plato, he only had free time in a couple of days.
We were a little lucky, the site extended the registration deadline for another week.

Mercury was registered in a week, all this time I tugged at the Asterisk, and she, in turn, was his.

In parallel, they pulled the Phaeton, but it was practically useless, answered all the time not immediately, but always after a couple of days, which began to strain me already at this stage. Suspicions that good teamwork may not have been accumulating and I asked Asterisk how often it is not worth it to find a replacement if the person is busy or not configured or whatever the reasons, but it may be better for everyone if they are replaced at an early stage. But the asterisk did not hear me. But on the last day of registration and, as I later learned, almost at midnight, Phaeton did register as expected.

We had 3 weeks from the moment when we knew the names of all team members to the start date of the hackathon. It would be logical to use this time to prepare, is not it?

I sincerely believed that we must prepare and tried to bring it to the team. I tried to arrange a meeting, just to shake hands and see the faces of future colleagues. Did not work out.

Why did not work out? Well, quite uninteresting and trite
I am a family man. Work from 9 to 5, plus the road to work in the morning and evening for another hour. Total home on weekdays roughly at 6. Evenings Monday, Wednesday and Thursday are busy (sport with a child, I drive back and forth). On Saturday, I take him to the Russian school by 9 and pick him up at 3 at the same time. It was at this very same time that one of the Saturdays there was a competition, so the day was knocked out. This is me just to the fact that I am busy, as it were, always with a few exceptions.

Plato is the same story. That is, there are windows in the schedule, but synchronizing them with my “windows” is already a task.

Asterisk learns and works. Plus, some time has passed to pass all sorts of laboratory tests and exams. After studying and on weekends, she always works, tries not to depend on her parents in anything. For the hackathon itself, by the way, it took time off from work, so to speak, took time off (having sacrificed real under-paid money)

Mercury is obtained in the same situation, although it is not sure whether it works. But the fact that I am busy studying for the most I can not - that's for sure.

Phaeton - as I already wrote, it works 60 hours a week. Calls and messages almost did not respond.

So after a couple of days of attempts, I realized that it’s impossible to arrange a meeting.

I spent on writing this part for two days, it turns out it is not as easy and fast as I expected. Let's check whether it will be interesting to someone, and if so, I will try to present the second part as soon as possible.

Constructive criticism and questions are welcome.

Second part here

Source: https://habr.com/ru/post/352774/


All Articles