By providing a simulated training environment, games offer developers the ability to manage and fix future complex problems and apply any theoretical framework directly in an entertaining and collaborative manner. These lines perfectly describe our last Hackdayz in Budapest.
In the beginning, I had no idea why the company would invest so much money to get us from three different countries to a fourth. But in the end, I realized the added value for the company and for us.
Play the game and learning will be fun – exceptionally! Indeed, that was the slogan. Our motto these days was: Develop hard, play harder: Having fun with colleagues increases creativity, efficiency and productivity. Imagine that you are surrounded by more than 30 developers who work in 7 different projects that need to be completed in 48 hours. You can imagine how such a virtual training environment would have a positive effect on your performance in the customer area. This way we can take the time pressure off our shoulders if we have to meet a deadline.
Apart from the future benefit at the customer level, my colleagues have shown a very good result for their projects. B. we now have such a nice app for checking in and out of offices instead of the touch ID, now our colleague Amit also has a trading bot app with which he made a profit of $ 10.57.
Needless to say, we refreshed ourselves from an escape game and an enchanting river tour in Budapest.
The bottom line, no matter what I have in the future, no matter how busy I am, I want to repeat such a nice experiment.
https://www.north-47.com/wp-content/uploads/2020/05/N47_Hackdayz_2019.jpg3821024Shehab Eltobgyhttps://www.north-47.com/wp-content/uploads/2018/09/logo_menu-copy-1-300x138.pngShehab Eltobgy2020-05-12 12:04:482020-05-12 13:11:31Hackdayz 2019 fun and creativity
People of different religions and cultures live side-by-side in almost every part of the world, and most of us have overlapping identities which unite us in very different groups. We can love what we are, without hating what- and who we are not. We can thrive in our own tradition, even as we learn from others, and come to respect their teachings
Over the past few years, the field and management sector of major companies have a big problem of how to arrange the days of their employees, something that will give a bit of strong light and positivity, which will avoid monotony and on the other hand give a great impetus to their creativity and vision, much greater motivation and strong spirit in overcoming further obstacles and challenges. The problem is even greater if companies are stationed in several locations in different countries so that communication is interconnected constantly through technical apps, almost virtual, simply a voice, perhaps a shy picture or video call and of course mostly text and chat conversations.
It is very often the case that the company hierarchy is a list of members of different cultures, nationalities so that it becomes an even more difficult task of organizing team buildings. But on the other hand, it is one of the reasons why that makes them special.
The differences are part of us, the differences are making us so special, and of course differences, we know well and we have become accustomed to it.
Team building, joint team events or hacking term in the IT industry are part of every company agenda, happens every year and they often happen a few times per year.
It’s a chemistry thing, it’s the time where you can share your points of view, your thoughts, your personality, your creativity, your vision, it’s the time when you are not representing just yourself, but also your culture, your country.
But, the idea of creating an event, that will bring together – Team Building and Hackathon event? Yes, we did it and we arranged and created. Almost one week, gathering the team together. The Family!
24 hours of work, pure juice of 100% creativity, dedication and hard work. Commitment always brings success, and YES some of the team after the deadline and voting for the best team and the best project made, they had a shootout with the Champs Titles and Presents. Absence Hub – Resource Guru and Absence.io connector TEAM did it, they collected the votes and drove all the way through like Real Madrid in Champions League.
Yes, it was worth it! Title goes to
The event was a success, the employees loved it. And all of them are sharing the same opinion, maybe some time and somewhere everything is not 100% perfect, but even the misses are part of that. People create, sometimes in the process of creating always is something missing, but in the end, the finish line and the title – that’s all that matters!
Final conclusion – 100% success and that’s what all IT companies need, at least once, but it’s good to be twice or even more per year. It’s chemistry, it is fun, it is releasing the creativity inside all of the members of the company that doesn’t have a chance before to describe themselves with their own words. It’s a fact that programmers find Hackathons the perfect venue to unleash their ideas, it’s often that these kinds of events produce ingenious products or ideas, or even they show the real potential, creativity, talents of employees. It’s an easy challenge, but the benefits of it can be great for the organization, company or network. And together with team building events, it’s double more fun and joy for the team.
The last moments after the end of the event, the euphoria of the faces of all colleagues, but also a bit of grief over why it was all too short, everyone wants more time together. But that’s the idea and motivation for the next event. Where, how, when, what’s next? Give your thoughts and ideas, let’s take a look and decide together. Мaybe somewhere on the sea, fishing, hiking, or mountain and skiing? Or on some great concert with DJs or maybe Stones or U2?
Afterwards, travelling back to home town, sitting in the aeroplane and thinking about the past few days, wow it happened all so fast and the days flew like a fast cigarette break…
The A-team surrounded with lots of positive energy and good memories. And the question is what next, where to go next, what should we arrange next?
I think, whatever, just bring it on baby!
https://www.north-47.com/wp-content/uploads/2019/03/arms-bonding-closeness-1645634.jpg13652048Vasko Minovskihttps://www.north-47.com/wp-content/uploads/2018/09/logo_menu-copy-1-300x138.pngVasko Minovski2019-03-06 11:24:102020-03-03 09:33:58It's all about teamwork, creativity and cultural change
This is the real deal.. Prepare your battery, connect to a good network to get thousands of SMS. Whoever you are, maybe you come from a faraway land, maybe you don’t understand my language, maybe you are from a country that I never heard the name of… One thing is for sure, you will get the SMS. So, whoever you are, wherever you are, our app has special skills which will make this world easier for you, starting with getting an SMS 📲🤩
Having such nice days during our Hackdayz did not prevent us from thinking into adding more practical benefit to our company by improving the current app. And after we had our lunch, we had the power to start working, nevertheless, my vegetarian lunch did not taste good at all. Our aim was by the end of Hackdayz that the app should be released in PlayStore and the code should be made as open-source for further improvements!
The app should have:
Rules: number and where it should be posted
Environment: Slack, Email, and others…
Some new settings: such as the ability for the user to set a password… (we were so optimistic)
What is the problem you want to solve?
Who experiences that problem?
How do you want to solve that problem?
Why is this a better solution?
Having such a funny combination of a team with a front-end developer and test manager trying to develop an android app included so much fun these days, as we were literally underdogs. But, just to get our spirit up, we went to the gym, and then to the sauna where I could not even see my hands, and finally to the swimming pool.
Although, we were so ambitious that we set our plan to create an app with an infinite number of environments, and with so flexible rules (such as amateur dreams). After some time as Thomas A. Edison stated “I have not failed. I’ve just found 10,000 ways that won’t work.”, we realized that we are not gonna create the app as it actually was planned 🤯. Nevertheless, the days were cool enough to make us laugh while we were failing for several times.
Youssef was really ambitious that he told me “I will never go to bed mad. I’m gonna stay up and fight!”. After 10 minutes, each of us went to his room to sleep 😴. Due to the effort, I spent during 3 hours in the gym, sauna, and swimming, I wanted to sleep because by looking at my hand I couldn’t recognize how many fingers I did have.
The next day, we started working again. I wanted to start now with my real work since when kings start the party🎉, my first task was to find a beautiful design. I decided to choose a simple design due to the time pressure. Besides improvisation is too good to leave to chance.
And using the mentioned GitLab we were able to create the app.
We were somehow not so much satisfied with the results, actually shocked 😱😱😱!!!
The app has been developed with the ability to add up to 5 environments. Unlike what we have expected to reach an infinite number of environments.. such youth dreams 😅
The app could not set the email as one of the environment due to inability to find a library via which the app can send the message to the email while it is in the background…. experience is simply the name we gave our mistakes 😄
Conclusion and implication
The app has been created successfully and applied to one of our android devices using +41 76 75x xxxx.
Future features and challenges would be…
1. Adding email as a new environment. Let us see how this gonna be manageable 🤔. 2. Adding a password for the app. We are still so optimistic 😁. 3. Adding the ability to add more (unlimited environments) with the recycle bin 🧹 to remove them when needed.
By the end of the day, I just was totally shocked f the difference between what has been planned and what actually has been achieved. But, it was just a funny and exhausting experience.
You want to plan the next projects, but do not know which of your employees are available? Who is on vacation 🏖? Who is ill 🤒? Who is where?
Or you are planning your next vacation and you are swiping about the best hotel offers and places. But then a mail from your boss: Your request is rejected 👎. The reason is that there is even a more important project and your talent is needed there!
These were our problems
We use for that two tools currently: Absence.io for planning your vacations and other absences and ResourceGuru for scheduling the resources for each project and customer.
Both tools are the best for its use case. But why so complicated? Why so many tools? Questions, questions and more questions,…
Can we make the absence requests easier for both sides?
Can we create the entries in one tool for the others at the same time?
In short – Can we optimize the process?
Our answer: YES, we can!
stay focused, be yourself and just do it
Boris Karov (Senior Software Engineer)
Our winning team
But how could we win?
First, we should have a look at our current approval process.
It’s complicated, isn’t it 🤦♂️? You have to log in, then your boss – in our case Fatih – has to log in in both tools and has to manage the requests. We had a discussion about the tools, which we might use, and finally came up with the answer: Absence.io sends us every morning the absences of each team member via SLACK. 😍
A new idea was born
How can we use this Slack bot engine? Or can we create a new one?
We decided to create a new Slack bot for all out-of-office requests, to connect both tools and to make the approval process easier and faster.
After we achieved this milestone, we started with the project. For research and development, we shared the following tasks among each other:
Boris mainly took care of ResourceGuru
Stefan mainly took care of Absence.io and CI/CD pipeline
and I of the Slack bot communication and node service
but there MUST exist an API for that!
Stefan Maurer (Co-Founder & VP Engineering)
Let the game begin
We developed the first lines of code and sent the first API calls via Slack. Also, we figured out how to create slash-commands in the Slack bot UI and how to connect the commands to the service endpoints.
Then we created more useful and prettier messages to make the approvement decisions comfortable.
Both back-end guys had some troubles to learn how to write a nodeJS service (e.g. promises, …). And I had also issues in understanding the Slack SDK, but we mastered the brainfucks and achieved a lot in two short days:
CI/CD with Gitlab Pipelines
SlackBot deployment on Heroku
User Slack command
Absence is created in Absence.io
Approver can accept / reject in Slack
And we won 😉
We still needed some other features for going live, too:
Let Dev choose who the approver is
Create TimeOff in ResourceGuru
Add caching via mongoDB to keep users IDs
Add handling to manage different user API keys
Add i18n date formats 2018/12/14, 14.12.2018,…
Support more formats like:
/remote 14.12.2018 morning
/illness 14.12.2018 afternoon to 15.12.2018 morning
@slack/client – official SDK for the Web API, RTM API, and Incoming Webhooks
stay the way you are and get better and better every single day for the rest of your life
Stephan Ullenboom (Senior Frontend Engineer)
There were two very funny and productive Hackdayz. We had some challenges with API keys, because of both tools assigned there keys to a specific user and not to a project. Also, it required many, many, many API calls to find the users and resources etc. However, we made it 🙌.
We got to know each other better and went the extra mile together to win the trophy.
...and now, we have a new challenge: defend our trophy 🏆 at the next hackdayz 😁.
Mr Moody was implemented 👨💻 while attending our first offsite event Hackdayz18 at the Oberwaid in St. Gallen. Check out the video if you missed it! The idea was born in a short brainstorming session. Primarily we wanted to implement a Slackbot because we already are Slack users for years now 💬. We really like to “slack” and love/use several bots already. Of course, we also have to deal with new technologies, that might be used for future projects. Besides that, the idea of customizing our own application according to fit our needs is a plus ➕.
Mr Moody is based on the niko-niko calendar which is a simple practice to track the team mood, conventional used on board with stickers or written on paper. It allows every team member to track his mood at the end of a workday. The Japanese word “niko” means “smile”; following a common pattern of word doubling in Japanese, “niko-niko” has a meaning closer to “smiley”. This calendar is an information radiator and can be seen as an opportunity to be used on a regular basis (e.g. in retrospectives or dailies) for reflection, adaption and improvements.
Used as a slack bot, Mr Moody will remind you via direct message to tell your mood and ask you if you would like to add a comment on that. The personal mood calendar and also the accumulated team mood is shown on a dashboard so the team can use it itself e.g. in dailies or retrospectives or team leads & managers can see how it is going in the team(s) and see if there is action required.
Mr Moody is a great complement to other metrics and will help the team identify impediments.
A very cool, lightweight tool that creates a secure tunnel on your local machine along with a public URL you can use for browsing your local site. When ngrok is running, it listens on the same port that you’re local web server is running on and proxies external requests to your local machine.
Building Blocks for Building Bots. One of the good advantages to select botkit, is the ability to start a conversation using bot.startConversation() with a specific user using their user ID or channel ID. Very easy to use!
How does it work? 🤔
Botkit is designed to ease the process of designing and running useful, creative bots that live inside messaging platforms. Bots are applications that can send and receive messages, and in many cases, appear alongside their human counterparts as users.
The best effort is made to generate a slackbot where a cronjob ⏱ should be run every day at 03:00 pm. This job will do the following:
We get from slack the list of all users.
Iterate through the list of users. Afterwards, each user should get the message, asking about his mood, which is like a variation between different options (e.g. very good, good, normal, bad)
Interaction is done with each user, by asking each user if he/she wants to add a comment.
At the end of each week, another cronjob is run to send all data, and feedback to a certain user or group of users.
An example of how Mr Moody is interacting
Wanna try it out? 💻
Yes! The code is open source and everything else (technical setup process) is described in the README.MD
The implementation of Mr Moody is not totally completed. Some points need to be covered in the future. Some of them are as follows:
Storing the given rating from each user in a database, where later at the end of each week, a weekly report is generated.
When asking slack for giving us a list of all users, where we iterate through each user to interact, the given list is not only for uses, but also for slack bots, and old users. This causes a problem when we try to interact with each user, and results in exceptions. Filtering criteria should be done to filter only the current users from unused users, deleted users, or slack bots.
ِA cronjob for generating a report and sending it on the admin is not done at the moment. However, we need to see how the report should be generated, what type of diagrams should the report contain, etc.
How do we handle Vacations/Holidays and avoid spamming employees while they are sipping Pina Colada at the beach?
How do we handle external Slack users which maybe should not get a Mr Moody message?
Our first Hackdayz was a blast! Mid of December 2018 we organized our first Hackdayz. A two day offsite teaming and workshop event for all our employees. The goal: Get something (project) done in 48 hours! We will blog about the details later on… but for now, here are some impressions of us from the Oberwaid in St. Gallen.
https://www.north-47.com/wp-content/uploads/2019/01/vlcsnap-2019-01-30-15h32m00s971.png10801920Jeremy Haashttps://www.north-47.com/wp-content/uploads/2018/09/logo_menu-copy-1-300x138.pngJeremy Haas2019-01-30 15:40:312020-10-01 13:54:26Hackdayz #18 - Video