A Clash of Code is a 15 Minute coding challange that you have to solve, competing against other players in a language of your choice.
After months of doing nothing regarding this 'Clash of Code' thing, I started clashing really intensively for half a month as codingame.com offers a journey for the clash of code section. I completed the journey and I'm still addicted to do 1-5 clashes daily.
As the challanges are about solving small problems, you get a completely different thinking while solving these tasks vs. coding in a company. While doing project work, I usually train clean code, architecture and writing testable and stable code. When solving these clashes, I train quick analytic thinking, reverse engineering, quick and dirty solutions (for better or worse) or writing as little code as possible (depending on the mode of the clash).
Additionaly I did these challanges with python after writing C# for the last 10 month only. This trained pythons "deep basics" as the challanges have a lot to do with ASCII values, binary conversion and using dictionaries to solve stuff.
If you want to quickly learn a new language I can recommend these clashes or solving some Katas on a daily basis.
I will give you an example how your thinking changes after participating in ~200 clashes of code:
A (for me) in retrospective pretty impressive solution is a Solution to 'Rock, Paper, Scissors' I wrote:
f,s = [x for x in input().split()] wins = ["RS", "PR", "SP"] if f+s in wins: print("Player1 wins") elif s+f in wins: print("Player2 wins") else: print("Draw")
Explanation: This code takes the first character of each word and checks, if the array "wins" contains the combination for player1 or for player 2. Else it's a draw.
I guess I would'nt have found a solution like this if I would'nt have participated in the Clash of Code.