For the front-end team, I have attended the coding camp named WeCamp. Which is a coding camp located on an island in the Netherlands in the Veluwemeer. At WeCamp you work together with a group of four other (random) participants to develop a product with the help of an experienced coach. The coach also supports you in developing an plan for personal growth. You can choose to focus on soft skills, technical skills, management skills, or how to communicate with your team members. After a month of WeCamp, the coach will have an online session with you to see if you need any support and discuss how WeCamp changed your daily work.
Day 1.
We entered the island by boat and had to walk through a small forest to get to our tents. Once we were on the island, there was a small opening ceremony where the participants started to get to know each other. To get the conversation started, the facilitators showed some questions, which was a great way to get to know the people you’d be stuck on an island with for five days.
After the opening ceremony, we split into the groups we’d be working with. We immediately started to brainstorm about the product and what we actually wanted to learn from the product. Since everyone was familiar with scrum we decided to use scrum to guide our little project in the agile way.
Day 2.
We decided to work on a planning poker app, where a team could login and play planning poker with other team members. This should all happen in real time. When an individual user picks a card, the app would update for just that user. When every team member has picked a card, the app would show all the cards so you can pick the highest and lowest from them and discuss the points. After the discussion is over, the program would automatically update the Jira ticket with the selected story points.
Then we expanded to an much bigger idea, adding a cake point system like my team uses (when a team member comes late for a meeting they will get a cake point and when you have 3 cake points you need to buy a cake), a wiki which explains how to scrum and guide you with it. A timer for discussions and we even had more ideas.
In order to move from an idea to a working project, we did some event storming. We tried to list all the events our project would need, which made us realize this app we were going to work on was too large to finish in the four days we had left. To be realistic, we decided to go with the initial plan — just the planning poker. We even came up with the name for our app Scroom.
Day 3.
To start the day, we did a quick status update.
To summarize so far:
- We knew what product we wanted to build.
- Thanks to the event storming, we knew what we needed to build.
- Because of the event storming, we knew how big our project was.
What was left was splitting up the tasks and creating stories for every event so we could work on it as a team. So we picked all the events we had from the event storming and turned them into stories. As a team, we decided to do domain-driven development and test-driven development. Only one team member had experience with DDD and TDD, so we could learn from him.
We started off with coding the domain layer but quickly figured out that if we did it with three people, we never were going to make the deadline. Since we wanted to create a domain layer, API and a front-end, we split up those tasks.
For the API, we wanted to use Symphony and Swagger. Domain layer would be in plain PHP, which we included in the API. For the front-end, we went with React since that was one of my learning goals.
We started with the configuration and set-up of the project. We installed and set up the project with Composer and npm and also included Bootstrap for the front-end to do some quick styling.
Later that afternoon we focused on team-building with an activity called the pirate games. We were split up into different groups and competed against the team. The team who collected the most bounties won the pirate games.
Day 4.
We started the day off with a discussion on whether we needed to React with Redux or if React alone would be enough. The best advice I received was to start with just React because everything you add on top of that adds to the level of complexity. Furthermore, we wouldn’t use Redux with our project anyway.
I struggled a lot with React and trying to understand how to give the project a logical structure and put all the right components in the right places. Luckily there were some people on the island with a lot of experience with React and they were happy to help out.
Since it was the first time I worked with React, I was trying to learn as much as possible from the whole experience and my progress was really behind the team’s planning. When one of the team members was done with the domain layer, he started to help me out on the front-end and we actually made some progress.
Day 5.
This was the last day of the camp and the teams had to prepare a quick presentation about the project. We give a live demo of our product, which you can see in the picture on the left.
After the presentations, it was time to pack our stuff and leave the island.
Conclusion
I would recommend WeCamp to everyone, at least once. It was a really unforgettable experience. I learned so much more by working on a hands-on project with other attendees than I ever had at a conference. WeCamp brings you out of your comfort zone to create the best learning environment.
Our Scroom project can be found here: