Free Coding Challenges tutorial, Programming challenges are generally about as useful as “Competitive Programming” which is in turn about as useful as competitive plumbing. What you need to know to be a software engineer varies according to what you are working on, but it rarely requires algorithms.