When the first FileMaker DevCon Developer Cup took place at FileMaker DevCon 2014 many people asked me why I was not participating. So I applied for the next one in 2015. I was selected out of the over 1500 attendees to be one of 12 actually competing, and I won both the separately evaluated design challenge and the whole contest as well, to become a proud FileMaker DevCon 2015 Developer Cup Champion. Now, 3 weeks before the next DevCon 2016, when people are thinking of participating in the new FileMaker Developer Challenge, I am going to reveal, why I decided to participate in the Developer Cup last year, what I did to win it, and what it has given me in the end.
For someone simply having fun and being in front of an audience might be the right motivation. For an introverted person like me, however, this aspect was another part of the challenge. I do not personally enjoy being in the center of everyone's attention.
I like challenges though and I always try to push myself beyond limits to achieve goals that seem unreachable at first sight. So when all those people asked me why I was not competing in the first FileMaker DevCon Developer Cup, they made me thinking. How would I do? Would I have a chance to win? And watching the 2014 challenges and contestants, it didn't really appear so hard.
With 24 years of practice developing FileMaker solutions and 15 years running business around the FileMaker platform, I was really curious how my skills compared to the best FileMaker developers out there.
Then I forgot about it for a while, until my own existing customer asked me the same question, why I was not competing in FileMaker Developer Cup, right at the time when the 2015 Developer Cup opened for applications. I was finally hooked. If my customers care, then I am supposed to participate in the competition and do my best to win it...
The 2015 Developer Cup was like the one in 2014 and completely different at the same time. Just like in the previous year, the contest was based on a few technical challenges, each with a time limit to resolve it. But being presented as a shiny show in a Las Vegas style, it could be much more stressful.
My weapon to deal with the stress was an absolute concentration during the challenges and getting a great calming support from my team and my coach during breaks. Nothing gives you as much self-confidence as colleagues who respect you and trust your skills. And our team is a real team of professionals used to work together on the same project, rather then being a group of separated individuals. Working in team even on the smallest projects is the best way how to make developers trust each other, which in turn improves self-confidence of every one of them.
When it came to dealing with the technical challenges, we were supposed to deal with specific focused problems - fixing a broken solution, setting up privileges for different users, and processing data captured in a non-ideal form. Each challenge had a time limit and set of requirements. Each requirement had a points value associated, and we could earn extra point by finishing ahead of the time limit.
The key to getting the highest score was to understand the requirements and know the priorities. You do not often get to know the priorities from a real customer. So having each requirement valued in points made it quite easy.
Getting all requirements fulfilled fast to gain the extra bonus for finishing early was also quite similar to real business handling. I simply focused on one requirement at a time and chose not the best but the most efficient solution. Remember, even in real world it often makes more economical sense to deliver just "good enough" solution. The same was true with the technical challenges. They were the kind of challenges you know as "do it now or I won't need it any more."
Of course, we would never produce quality solutions if we were always only dealing with urgent technical issues, and so there was the design challenge to balance the whole competition. In the design challenge we were supposed to design a casting solution to be used on an iPad for interviewing talents for a night show. Like for the technical challenges, we had a time limit for the design challenge as well. But instead of getting extra points for finishing early we were supposed to deliver the highest possible quality within the time given.
Interestingly, the key to succeeding in this challenge was the same as for the design challenges. It was the same as for succeeding in any custom development project. It was carefully reading and understanding the requirements.
The last, but the most valuable, instruction given to the contestants was that we do not need to fully finish every design element, as long as we clearly indicate our design ideas and intentions.
So to save time, I did not bother to select specific icons for all buttons or format all fields, but I made sure to define and apply as many design principles as possible to make the interface really good for use on the finger-controlled iPad screen. These included, but were not limited to:
- bigger font size for the most important information
- saving space by using placeholder text rather than field labels
- high contrast white-on-black theme appropriate for night club light conditions
- standard bottom navigation between layouts iOS users are used to
- using tab control to switch between different kinds of related items
- setting up anchors to make the layout work in both portrait and landscape orientation
I am for sure far from being the best designer, but when I heard the judges evaluating each contestant's design, I realized it was really about getting as many good ideas and principles into the layout as possible within the short time, and reading the instructions carefully was the most helpful thing I have done.
So again, just like in real life, the key to success was understanding well what was expected from me, and delivering it. I used the same strategy for the contest as my company uses for business, and it was successful.
After succeeding in the design challenge, which was separately evaluated and winner announced, after completing all the challenges, I discovered that I got the most points, and won the thole competition. What a great surprise and great moment!
The obvious immediate benefit I gained was the fame, the even higher respect of my colleagues and other developers, and the nice trophy I could take home. But all the following benefits were much better.
The first one to follow was the relieving night celebration in the bar. Of course, spending time in the bar is always relieving, but doing that after some time of extreme stress works much better. No matter if you win or lose. It's like doing any kind of sport, just stressing brain instead of muscles.
Having a presence in such a prestigious competition and being able to prove my competence also helped me in many meetings to follow. Being a certified developer certainly makes it a bit easier to convince customers about your abilities. Winning a competition simply gives you even higher credit you can benefit from.
Of course, once you get new customers, you still have to deliver great solutions. And that's the moment when the biggest benefit comes to play. Being able to clearly understand the customer's needs and requirements, and having enough confidence in yourself to be sure you understand them makes you able to deliver what your customers need.
Participating in the Developer Cup helped me to ensure that we're right about being so careful to get the customer's requirements clear, that we're right when doing the most valuable things first, that we're right when being careful to know why we implement things the way we implement them.
Even if I didn't win, just trying it would be an invaluable experience.
And now, a year later, you can not only get the same experience, but the solution you produce as part of the FileMaker DevCon 2016 Developer Challenge can actually get used and help someone.
Isn't it worth trying? You tell me...