LEGO and Software Engineering
I'm very fortunate to have grown up playing with LEGO. I credit my ability to patiently work on a problem for long hours to all my childhood days creating Lego train tracks, castles, and cities with Lego Minifigures walking around. It also taught me the complexity of going from a vague idea in your mind to creating a real physical model, and all the re-thinking and re-working involved. For example, I remember I wanted to create an infinity-shaped train track where the cross-tracks would be at different levels - some sort of a bridge. I ended up using a small table to elevate the track. A track similar to this, except raising one of the tracks at the intersection. It all starts with an idea and a vague picture of how the final model will look. You look at how many Lego pieces you have and whether you have the key resources you'll need. You then start building and as you face challenges along the way you learn to re-route to overcome obstacles. Once you're done with