All the participants still awake after the winner announcement

Swissquote’s HaQathon, 2019 Edition

Stéphane Goetz
Swissquote Tech Blog
7 min readOct 11, 2019

--

Swissquote has organized hackathons for a few years now, each year with a new twist. Either by having no theme, one theme or a list of themes. Business or Technical oriented (or both), we did many different variants.

This year we decided to go with a very simple theme : scratch your own itch.

The Hackathon’s logo

All previous years, the projects that were actually used after the hackathon were “scratching an itch” or more precisely were solving a problem the teams had in their day-to-day tasks and wanted to do something about it. So we thought; why not make it the subject of this hackathon?

Innovation is at the core of our values and our engineers are very good at coming up with great ideas. Identifying and solving problems is something they’re experts at!

We were not disappointed: ten teams formed, all with great ideas. We asked the winning teams to present their projects to give you an overview.

The Hackathon itself

We’ve kept the recipe we had for years: Start coding on Thursday at noon, finish coding Friday at noon. No obligation to stay for the night, even though some people did it.

We provided pizzas for everybody who wished to stay at least some time in the evening.

It was also important that everybody got a good few hours of sleep; we’ve seen presentations go very badly with teams who decided not to sleep at all in previous years.

The presentations

One team prepares their presentation and Tigran (Hackathon co-organizer) is happy

Our rules for presenting a project were simple: we provide a laptop and two TVs, each team gets 8 minutes to setup their presentation and 5 minutes to actually present, not one minute more.

The rule for this edition was: Only a live demo is accepted, no slide deck, no video.

As we were able to prepare one presentation while the previous one was running, it was easy to keep a good pace in the presentations and avoid the dreaded “Demo effect”.

The winning projects

The winning teams (those who are still awake)

We requested from the three winning teams a short description of the projects they undertook:

1st. Zero Trust Security & Faster Credential Management

Context

Staff churn and high demand for temporary credentials generates a lot of work. We set out to find a way to give that time back to operational teams.

We started by researching different techniques, best practices and solutions available on the market, whether in open source or otherwise. Our emphasis was on accelerating approval and provisioning of access rights while staying secure.

The industry best practice is to aim for Zero Trust Security, so we set out to find one.

Matching our needs

  • Temporary credential management for SSH, RDP & Web sessions
  • Agentless solution (no daemon running on every imaginable platform)
  • Approval workflows
  • Re-usable access policies
  • Monitor & Audit RDP, SSH & Web sessions

Among the many solutions we chose to do a test-run of integrating PRIVX (they were open to providing full licenses for testing). It covered our main concerns!

LIVE Demo time

Base setup

  • User requests temporary access to a new server
  • Manager approves the request
  • User connects to the server

Scenario 1

  • Admin monitors user ssh session, decides to remove credentials
  • User is booted from server

Scenario 2

  • User temporary credentials expire
  • User is booted from server

Conclusions drawn

This type of solution would not only enforce better security but also eliminate toil!

2nd. Meeting bot

It is very difficult to never be late for meetings. Once you get sucked into an activity that requires deep concentration, such as writing code, you may easily lose track of time, and remember a few minutes too late that you are expected in a meeting room.

A well-known solution to this problem is meeting reminders : some kind of pop-up notification on your monitor that lets you know a few minutes before your meeting starts. The problem for us developers is that our working environment, Linux, is not integrated with our internal Exchange server well enough to have native notifications (at least not easily).

Our idea for this HaQathon was to bridge Exchange with RocketChat, the team chat platform that we use internally, because it supports native notifications on Linux. And what would be more fun than interacting with this platform using a chat-bot?

At the end of the 24h coding marathon, we managed to get a basic yet fully functional chat-bot, that, if asked nicely, will observe our agenda, and will notify us a few minutes before a meeting starts.

Today, after a few weeks of use, more than 30 people are using this service within the technical departments. We are very happy that we managed to provide something useful to our fellow developers!

Subscribing to the meeting bot is a quick chat away
All the essential information of a meeting are reminded to you just before he meeting

3rd. Kaas (Knowledge as a Service)

The team hard at work, in the middle of the night
The team hard at work, in the middle of the night

One of the problems we are facing at Swissquote is that we do not have a structured process to grow our technical skills — this applies for newcomers but also for seasoned SQ fellows. On the other side, whenever I am facing a certain problem with some technology or when I want to have an advice on a specific topic I do not exactly know who to ask for help.

SQ is growing fast and it is getting harder and harder to know off the top of your head who’s the best person to ask for something.

So we decided to intervene and implement a prototype of 3 interconnected products to capitalize on developers’ knowledge.

The first of them can be considered as an internal Stack Overflow — you can ask questions, people can answer, upvote, downvote…you know how it works!

The second product of the suite is an application where developers can select the topics they want/need to learn and they find all the resources provided by SQ to learn (i.e. book, videos, etc. etc,). In order to show that he/she learned something the developer must answer some questions and link some code snippets (git) that will be reviewed by someone that has already “passed” that course. Administrators can configure for every course what needs to be done to pass.

The last piece of the puzzle is the interview question generator: based on questions answered (and tagged with topic and level) and the pool of questions used for the internal learning tool we can generate questions for interviews, so that we could “harmonize” the recruitment process among different teams.

We had fun discovering how easy it was to develop clean and functional user interfaces with React Material, and how useful can be the combination CouchDB — PouchDB for progressive webapps.

Regardless of the technical stuff, every HaQathon is an amazing experience, one of those things that keeps you awake at night

Conclusion

Pizzas for everyone and a well-deserved break before starting the evening.

As organizers we’ve been very happy of this edition. However we know that we are going to change a few things on our next iteration. To be sure about how it has been received we made a short survey about it. Of the people who could participate, about 50% replied to the survey.

47% of the participants were satisfied, 11%were unsatisfied and the remaining 42% were neutral

Some of the downsides of this edition is the lack of transparency on the election of the winner. We went for an online poll app but people didn’t get to see the results. We’ll definitely clarify this for next time.

Once more, we were amazed to see the different innovations brought to life within the 24h of the hackathon, and the motivation of Swissquote engineers to tackle problems of their choosing. We are very happy of this edition of the HaQathon, and are looking forwards to the next edition!

Did you like what you read? Join me at Swissquote:
https://careers.smartrecruiters.com/Swissquote/tech-jobs

--

--

Swissquote Tech Blog
Swissquote Tech Blog

Published in Swissquote Tech Blog

We are the Swiss leader in online banking. Discover technology and techniques used by our software engineers.

No responses yet