pull down to refresh

Making games teaches you something really important you can apply to any type of software, responsiveness and simplicity.
Games must be fast and responsive at all times to be considered good, a laggy game is bad, but often a slow and complicated tool seems fine to most developers, this thinking can crush you as your project scale.
Making a game involves having many intertwined systems that must work together in real time, this is where writing simpler code with less, but well thought, abstractions help immensely, the same goes for other type of software.
At my company, I train my interns by building games as first projects for those reason, they need to plan complex systems visually and can easily imagine the outcome, they have immediate feedback on the code they write and, last but not least, they have fun as the're able to craft games they enjoyed since childhood.
exactly
also, the planning/logic/complexity required to make a game somewhat fun requires a tremendous amount of understanding of the entire product. you can't just push messy details into another sub-system. you have to have a unified picture of what you want to deliver. great skills for any kind of software building
reply