These AI games really bring the best from me. And, that’s how I manage to, step by step, become the best developer I think I can be.
Julien Poulton, full stack developer at CodinGame
Last week, Julien and I participated in a live chat with Gaurav Sen on his YouTube channel.
Gaurav graciously invited us to present CodinGame and, more specifically, the competitive aspect of the platform. We all got a bit emotional as Julien proudly stated the above comment (10’12, 1 mn). You might find his statement a slight exaggeration, but that’s actually how the CodinGame adventure started. From the words of Frédéric, one of the three founders:
I’ve always believed that being a good developer is a matter of passion, not a matter of education. […] I felt a visceral need to find a solution to a feeling of injustice. I had the ambition to bring recruiting back to a meritocratic model: fair and based on skill.
How do you become the great developer you’ve always dreamed of being? During the live chat with Gaurav, we addressed various key points of the programmer life which I‘d like to sum up with these 3 verbs: belong, iterate, enjoy.
Belong
Don’t underestimate the power of the community. Trust me, I’m a community manager. More seriously, I believe our coding competitions show how important this is. On one side, you can use the competitive aspect to boost your motivation and bring out the best in yourself. On the other side, some competitors, while here to code the best AIs to beat (among others, yours!) will be the first ones to give you tips and discuss strategies with you (12’13, 1 mn).
More than the CodinGame community, the whole programming industry is a community. Senior programmers are here to help juniors get in, learn and in their turn become seniors. Check this tweet:
It blew my mind. I had not looked at it this way before, and I don’t think beginners –or even seniors, for that matter– do either. If you want to improve as a developer, learn from your peers. Take an interest in what others are doing, interact with them and contribute. Exploit the hell out of your network! On that note, I find Twitter super useful to network in the tech community. There are truly amazing tech people on Twitter.
If not now, don’t worry; at some point, you will be able to repay the community. Like Gaurav, you could teach and explain programming concepts on YouTube. Like Julien, you could create a playground on Tech.io, and share an interesting tech topic. In this case, “Autonomous Flocking Agents,” inspired by a chapter of “The Nature of Code” by A Shiffman (30’52, 1 mn). Or like some contest participants, you could share your strategies and what you learn during a contest. Might be a bit paradoxical, but teaching –or more generally, sharing knowledge– is a great way of learning.
Iterate
We discussed this at length during the chat. You cannot expect to be great from the beginning. You’ve got to start simple and iterate from what you have and improve bit by bit (7’30, 1 mn). Works for code competitions. Also works for programming projects. Take your time and persevere. As long as you continue learning, you’re fine. The end goal doesn’t even matter that much.
I also think that it’s very important to continue trying things out. You can call it keeping up to date with things if you want. Julien was saying during the chat that CodinGame offered the perfect place to experiment with new things. Discover a new language? Head to a simple puzzle and try it. Test a specific algorithm? Enter the related AI battle game and give it a shot. Even out of CodinGame, if some problem interests you, you should not hesitate to try solving it.
At the end of the day, the most important thing is to realize that as a developer, the road to improvement is practically endless. Acknowledging this and the small steps you must take to become a better developer will help with programming frustration.
Enjoy
If you watch the whole video, I think you can clearly see that Julien and I love working at CodinGame, and also enjoy working together. We’re actually good friends. He enjoys developing games for the CodinGame community, and I enjoy testing them and playing them (23’14, 1 mn). We were actually both driven to CodinGame by (and hired through) the AI games. As a developer, you should never stop seeking some amusement and satisfaction in your programming life. Obviously, not all coding tasks in your job will thrill you. But if you don’t enjoy doing what you’re doing anymore, it means it’s time for you to explore another part of the industry and experiment with new things.
By the way, coding on CodinGame is not the only way to have fun. You could be streaming some programming like Mary, Edaqa, or us. I can guarantee you, it’s fun. You could meet other developers at BBL (Brown Bag Lunch), CodingHubs, MeetUps or dev conferences. Once again: the community is really important.
Finally, it’s also fine to just chill from programming once in a while. And let me insist on that. You don’t have to code 24/7 to become a great developer. You need to find your own balance.
. . .
I want to thank Gaurav for the opportunity to share with him on his channel (which you should definitely check out). Julien and I really enjoyed it. Despite the beginning where we all fumbled for words a bit (hey, it was the first time for the three of us; we were just warming up), I think the discussion was great. I’m glad that we happened to discuss very important topics in the life of a developer.
Oh, and don’t forget, the S****X thing stays between us… (24’29, 1 mn)
About the Author:
Fond of challenges and board games fan, I like to solve people’s problems. CodinGame Community Manager since July 2016, I still code a bit in Java.