I was at Google Waterloo this summer, working on the Google Fiber Android app.
I learned a lot about Android development, and mobile development in general. But the most important things I lessons I took away are not directly relevant to coding.
Having milestones for a project helps a lot. It helps you prevent long working days, and relieves a lot of stress.
I didn’t realize this as soon as I should have. Looking back, it’s surprising why I didn’t realize this in the last few years I’ve been working on school projects and personal projects.
The most obvious advantage is that you have an idea about what’s coming next, you can take a peek into the future of the project.
The second not so clear advantage is that, you know if you’re lagging behind, and you need to pick up the pace.. before it’s too late. Your predictions for the milestones won’t be very accurate because there will always be surprises when it comes to developing software. But you can adjust them accordingly as you move along.
I took a course on Time Management at Google. I took it last year too, but didn’t take much out of it, but this year somehow this single piece of advice stuck with me.
“Eat your frogs and slice your elephants”
This means, if there are small tasks that you can finish quickly (frogs) get them out of your way quickly. Then you don’t that small thing you didn’t do stressing you out throughout the day.
Also if there are huge tasks that you’re procrastinating on, just because the scope is huge. Slice them into manageable pieces.