Have you ever wanted to know some strategies and hints how to be more successful in your daily work?
Well, here, i'll compile a list of thoughts and scenarios of effective working, which worked for me or seems to be at least reasonable in my future working career.
To illustrate and give an example for every wisdom, we use the example for a job assignment I could found myself in: The fictional job requires the accomplishment of a security audit of the employers content management system written in PHP. We have access to all sources, although the project is proprietary and is under a restrictive license.
1. Develop broad general knowledge.
The curios reader would ask now, why the hell do we need a proper general knowledge to scan a web application for programming errors which might weaken its security? Well, before you begin reading every line of code and do the formal, rather static part of your work, you'd better square the context of your task with your general knowledge: Where do the people, who wrote the application live at? Which language do the speak? What does the company which runs the cms exactly offer?
2. Work at least 25 minutes at a time
Have you ever obsevered yourself working very unsteadily and you constantly interrupt your working sessions? Well, this is very bad for the quality of your work, since the amount you learned or did can be calculated after common sense similar to something like the following:
Stuff_Done = Time * Concentration
If you work a lot, but you're concentration is weak because you brain just does not have the time to accustom to your task, the efficiency of your output will most likely suffer. Just force yourself to concentrate you on your work. Do just the specific task, don't look up your emails, go to the toilet or make yourself a coffee. No topic change or bigger semantic gap should distort the session. Set up a alarm clock to actually measure the time.
3. Become an expert in few things
This is very important for me and somehow contradictory to the first rule.
In our modern times and since ever changing learning methods and
information processing improvements, there's still nothing who beats the
simple stubborn learning by heart way.
You should know a few tools very good. I will for example try to master sooner or later the programming language Python. It's a very abstract and huge scripting language with a big standard library, but if you once just know the majority of the build in functions and modules and you automatically use them, you productivity will increase distinctively.
Just imagine you want to make a first rough scan of the source code of the CMS with a set of regexes who match common security flaws: The best way would be to use grep or egrep and code a simple bash script to accomplish the task, but what if you first have to seek for a lot of meta information how to make a while loop in bash, what the command line arguments in grep exactly mean and which regex syntax grep requests and the like?
Well, if you then use your good old Python knowledge, you exactly know how to pursue, although it might not be that elegant and appropriate way to do. Using your old and established toolset, you can focus on the task and won't get distracted that fast.
4. Don't fuck with yourself
One of the worst motivation and workflow killers is yourself. Once you decide to pursue a goal you should try with all power to reach it. There are thousands of hindrances which make it hard and they sometimes seem impossible to overcome, but the worst of all these obstacles is you own ego:
Imagine you intended to create a simple guestbook with a specific
functionality and a handy design, but after a few weeks, due to your
stressful and busy time, the task becomes unimportant and you start to
spend your attention on other stuff.
This is incorrect, because you betray yourself. Even if the intentional purpose of the idea might change or the task itself is barely unreachable because of its complexity, legality or significance, you should try hard to terminate and finish the task. Nothing destroys more credibility and willpower to start over with new projects, than a semi-finished, never ended task. You self esteem will most likely suffer too, because you'll ask yourself constantly: Am I beginning right now one of these never ending projects?
Best practice to prevent this behavior is to keep a diary, which tracks the exact definition of the goals, the progress and other related notes according the project. You should define a dead line and if it is violated the project must definitively fail.
3. Intrinsic motivation
Wikipedia defines intrinisc motivation in the following way:
Intrinsic motivation refers to motivation that is driven by an interest or enjoyment in the task itself, and exists within the individual rather than relying on any external pressure.
So, for every big project in your live, like the chosen direction of your'e studies or profession, you just can succeed if you like doing it. It might be possible to force yourself, but it's not the intention of this post to offer a guide to torture yourself. First ask if you principally like what you do, then do it right and in a correct way.