Give your efficiency a boost
The story of a data scientist learning the way around software engineering
At university, my promotor and I once talked about writing a thesis. The conclusion came down to: “Once you finished your thesis, you can most likely do it in half the time.” I think something similar applies to coding. Once you finished a project, you can do the next more efficiently. Because we keep learning tricks and habits that help us to approach such a challenge. Making a plan is one of these habits. Perhaps it is straightforward to you, but its importance can’t be underestimated.
Make a plan
If you want to write a piece of code, for whatever purpose, you don’t just start. No, you better first come up with a plan. Think the problem through. How can you solve it best? What are the steps you have to take? What coding language will you use? Do you need underlying architecture to make things work (like a database)? And are you capable of setting this architecture up or do you need help? These are some example questions you can ask yourself before you dive straight into the coding. How to come up with these questions? Try to break the problem in it’s components. What do you have to solve first, before the rest can work? And second, third, … then, divide these components in even smaller components. Try to find the things of which you don’t know how to solve them yet, then, couple a question and a goal to it.
It’s easiest to take pen and paper (in case you’re old school, like me) or something else to write. Write down everything that comes up in your mind. After a while, try to find the structure in it, an order in the chaos.
When finished, don’t forget to share your plan with the right people. Feedback on the plan will give you the opportunity to improve it where possible and to make things more clear. Other people might have ideas you never thought of, or see potential obstacles that you don’t. Ask people with a different background than yours to take a look at the plan. A fresh perspective is never wasted. And in the end, it often comes in handy if others know what you’re up to. People are willing to help you more often than you would think, if only it would be clear to them what you’re doing. I mean, I could only help you achieve your goals, if I know what you want. Let me do a blind guess, and it could be completely wrong. And that makes a shared plan more likely to be accomplished than a plan no one ever heard of. So dare to share!
So a plan can speed up the process of building an application that requires programming. Why? Well, simply because you (and others) know what milestones to achieve and because you’re focused on the targets to hit. It makes coding even more fun that it already is.
Write the code but don’t switch off your brain
If you have a plan, it’s time to start coding. But even if you made a plan, you can still end up lost. Why? Because often you still face problems you didn’t think of in the first place. That’s completely normal. So what to do? The best way is to think also the new problems through and to come up with some new (sub)goals. It’s not a shame to shift your focus, it only is if you don’t do it in a thoughtful way. So please don’t be a loose cannon, ‘cause it’s not very likely that you’ll then hit your target. It’s much more likely that you’ll then finally find out, after a long, long time, that you didn’t even come an inch closer to your goal.
But luckily you can take action before this happens to you, and just in case it already happened, well, then there’s a way out. Just remember that you need to think, make a plan and share it in order to crush those goals.
This blog was originally posted here.