Posts

Showing posts from March, 2020

BattleSnake Competition

Image
I recently posted about my BattleSnake coding challenge for my developers. Each developer had to write an algorithm to control a snake in the classic video game. Jasmin Baniya's algorithm came out on top for being both aggressive and analytical. She was up against some really strong contenders like Daniel Mendek's snake which had strong object detection, favored open spaces, and otherwise moved in semi-random directions. It was exciting watching the strategies play out. You can watch it below: When I told my almost-5 year old daughter about how Jasmin won she was ecstatic and drew a picture for Jasmin to say congratulations. If you follow Girls Who Code , Microsoft's Girls in STEM program, or seen Cognizant's recent milestone of employing more than 100k women, you'll understand why I'm excited that my daughter is not growing up thinking computers or science is "just for boys" and that she has so many amazing every day role models to look to.

BattleSnake

Image
This isn't a DOS game I wrote 30 years ago, but a console engine I made this past weekend. It's the classic game of Snake that many had on their Nokias (eat the apples, don't bump into yourself or the walls) but this version is "Battle Snake" with 4 snakes playing simultaneously against one another. Rather than control the snake directly, my dev team will be coding their own strategy and Friday we'll be having a battle-royal to see whose strategy gets the most apples. While it's a fun exercise it also captures some key concepts and challenges Software Engineers, especially RPA Engineers, often run into: iteratively anticipating and predicting state, simultaneously acting towards a goal while reacting to changing variables. It's also a great analog to coding - with the trade off of complex but hard to maintain algorithms against simple but potentially incomplete approaches. Can't wait to see how well they do. The code is also available on GitHub if

Popular

Let's Clear Up The Ambiguity!

Work Experience vs Professional Experience

FAQs for a Software Engineering Hiring Manager

7 Steps to Writing an Amazing Resume

7 Steps to Building your Portfolio MVP