• Learning from Jason Bourne

    Published by on October 28th, 2008 7:36 pm under Personal Development, Software Development

    No Comments

    Last year, Alex “the evil” Jack had raised in a meeting of development in Southworks, that a software developer must pay attention to Jason Bourne. At the begginning of this year, I discovered excellent blog of {codesqueeze} , having the article:

    7 Things Developers Dog Learn From Jason Bourne

    Then, I wrote a post in Spanish at my MVP blog:

    Aprendiendo de Jason Bourne

    Alex is not writting a lot, so I am going to take the token and to comment the points of that post by Max Pool here:

    1. Always sees extreme aware

    To be “aware” is one of my phrase favorite, specially in philosophical topics of my personal blog. I believe that we always must be aware of what is happening, what we thought, what the others do, what we do. Not to be a person locked up in his own bubble, or that works in automatic way.

    And sure to be “aware” of how our project goes: not only to seat and to take care of the your part in the project. You should have a general vision of the project, of its advance and status. Failing to stay aware is as counter-productive strategy. It’s like to drive a car while reading a book: we are going to have problems at some time.

    Also see beyond your project or job: watch the industry, the existing trends, and the causes of such trends. Be aware of the present and the future, be prepared.

    2. Always ruthlessly execute

    Not only it is necessary to think, is necessary to execute. And to execute, to execute, to execute. And to execute thoroughly. If we have a problem, we see it as an opportunity and we attack its root: we do not do it partially.

    3. It sees resourceful

    Do you remember the TV Serie “McGyver”?. I learnt one thing from the protagonist, two decades ago: be a person full of resources. The more tricks and tools you know, then the more comfortable you feel with patterns, software libraries, and concepts (not forget to think, to know by why that pattern was used, or what is the objective of the libraries we use), whatever the more you have learned of the knowledge and experiences of others (books, books, books…. I would say imitating Steve Ballmer voice), the more “magical words ” (remember Harry Potter?) you know, the more confidence you will have in your work. The more resources you master, more perspective will be able to use in order to find a solution to any problem. If you only knows XML, you see every problem as an XSL transformation (I call this tech “the way of the devil”). Only one language or technology is a limited set to use. Get out of your comfort zone, and learn more stuff.

    4. Always make calculated decisions

    You should always make calculated decisions. It could not be the best decision: you have to know when to adopt a perfect super solution, or when to take a simplified one, for reasons of time to market. If you decided by a sub-optimal solution, be conscious, be aware of the reasons to choose that decision, and communicate them to your team. And when you do something, know clearly why you are doing it. Don’t use libraries and technologies using blind feelings: take them or forget them, using a calculated and clear decision. So many times I see that in a project the team use a tool, because it’s popular, but they didn’t analyze the reasons of such adoption.

    Question: this that I am doing, is aligned with my objectives?

    5. React quickly (do not stop, inaction is death)

    If there is a new situation, a new problem, don’t remain paralyzed. React. Think, make a decision, but do something. You don’t remain in the middle of the stree while the truck continues advancing. You should react. You would make the best decision in such circunstance, but it doesn’t matter: once you are moving, you can improve what are you doing. But if you remain in the middle of the street, the truck will hit you.

    6. Stay strong

    I already know. You are busy, all the day at work, soon you want to go away, back to home. Anyway, leverage your time, and read about your profession. Keep up today with technologies and knowledge. Read blog, articles, magaznies, books. Learn something new every day. Daily improvement should become an habit.

    Learn a new programming language, although you don’t need to use it in any current project. Read about new paradigms in programming. Study funcional programming, maths, robotics, anything that could enrich your brain. Keep the neurons active and strong.

    Take care of your health, too (something I have to do).

    7. Learn to work alone

    Your daily work is as a member of a team. Ok, but don’t forget to exercise your own skills, working alone. Be prepared, at some moment, to face a task by your own. This is like a test of your abilities, of the resources you have. If you work in group, learn something from your fellow members, and teach something to them, so every member will become stronger at the end of each project.

    If you work sometimes as a “lone wolf”, you will improve your discipline and confidence. This is the test of your expertise grown. Remember, in the long term, you are the only partner in your life.

    Thanks to Martin Salias’ blog:

    http://msalias.blogdrive.com/

    where I found the reference to original Max Pool post, in:

    My favorite new blog of 2007 by Jeremy Miller

    Get smart, get Bourne.

    Angel “Java” Lopez
    http://www.ajlopez.com/
    http://twitter.com/ajlopez