Software Creation Mystery -

Archive for the ‘Expertise’ Category

How to Meet Challenges with Systems Thinking

A. Life Challenges and Systems

Your life continuously presents new challenges. And your success directly depends on your ability to meet these challenges. You can choose various approaches – react on problems as they come, appeal to supernatural forces or seek for advise.

But how many times

  • you didn’t understand why thing happen and what to do
  • you found that reality and challenges are more complex than they seem
  • your solutions create new problems and make things worse

Welcome to the messy world of complex systems that encompass your life and compose our Universe.

1. You can be the master of your life if you can understand and influence systems involved in your challenges. That means that you should become the Master of Systems Thinking.

However, it is daunting task to understand and use the systems around you. That is why many people stuck without career growth, cannot achieve their top level or stop pursuing big goals. They gave up attempts to master systems that drive our projects and life.
Read full post >>

Should An Effective Developer Innovate, Imitate or just Integrate?

in·no·va·tion – introduction of new things or methods
im·i·ta·tion – the copying of patterns of activity and thought of other groups or individuals
in·te·gra·tion – an act of combining into an integral whole.

What is the best strategy for an effective developer – innovation, imitation or integration? Should you introduce new creative solutions, adapt other people ideas or just integrate existing components?

Software Development is an exciting intellectual endeavor without physical barriers. It is easy to start innovating – come up with new ideas and quickly submerge into their implementation. And I don’t mean here fundamental breakthroughs. I consider as innovation building of any non-trivial solution that is not directly stemmed from Google search results, development resources or available examples. And certainly, I pose the dilemma – innovate or not innovate – to skillful developers who are quite capable to innovate and who enjoy meaningful creative work.

Read full post >>

How to Become an Expert: Creative Problem Solving

“Ideas are like rabbits. You get a couple and learn how to handle them, and pretty soon you have a dozen” – John Steinbeck

Your success in life mostly depends on two things – luck and ability to solve problems. I would leave luck topic for Irish tales and concentrate on the topic of creative problem solving.

Any active person constantly facing many problems and challenges. For example,
  • Improving relationship
  • Flying to space to be the first man on Mars
  • Overweighting and health problems
  • Winning bodybuilding or beauty contest.
  • Procrastination
  • Learning new technology
  • Making more money
  • Building next Facebook or Twitter
  • Raising kids
  • Boosting career growth
  • Becoming Olympic champion or billionaire
  • Making the world a better place
  • Planning a dream vacation
  • Seeking for happiness…

We often are inconsistent in solving problems and cannot find a good solution. This post focus on effective and creative problem solving by offering systematic approach and wide range of techniques.

Read full post >>

How to Become an Expert: Creativity

cre·a·tiv·i·ty –the ability to transcend traditional ideas, rules, patterns, relationships, or the like, and to create meaningful new ideas, forms, methods, interpretations

Creativity can be developed and improved. Here is my Theory of Creativity in 3 parts

  1. Prepared Mind – prepare your mind to be creative
  2. Right challenges – know what challenges you should embrace now
  3. Creative ideas – use powerful techniques to get new ideas

I. Prepared Mind

Your mind is the main tool for generating ideas. Empty, timid and rigid mind will not produce successful ideas.

What should be the qualities of the mind to get great ideas and solve complex problems?

  1. Knowledgeable – know problem domain and other fields that can inspire new ideas
  2. Flexible – able to vary and adapt the ways of thinking
  3. Forceful – eager and resolute to find a solution
  4. Easy – clear and free from stress and fear
  5. Playful – can surprise and break rules
  6. Intuitive – come up with ideas without thinking and reasoning
How can you develop these qualities and prepare your mind to be creative?
Read full post >>

How to Become an Expert: Making Ideas Stick

Are ideas born interesting or made interesting? – Chip & Dan Heath

You have 2 options to communicate your ideas:

  1. Tell people what is interesting for you – easy, but unfortunately, your ideas will be wasted because of other people low interest, incomplete knowledge or disagreement.
  2. Make your ideas interesting for other people – hard, but you have chances that other people will pay attention, understand, remember and act upon your ideas.
This post is devoted to people who are interested in the second option.

Why should a programmer care about communicating ideas to other people?

It is true, the primary job of a programmer is to feed computers with ideas. But you cannot quietly hide behind a computer forever. You have to deal with other people:

  • team – to contribute and explain your programming ideas
  • customers – to discuss and build trust in your solutions
  • end-users – to make your programming ideas useful for users
  • programmers of the world – to share your knowledge and exchange ideas
  • capitalists – to sell your ideas
  • low tech crowd – to promote technology ideas

Why is it so hard to make ideas interesting for other people?

  1. Curse of knowledge – once you know something, it is hard to imagine not knowing it and communicate to novices
  2. Resistance – many people ignore or resist new ideas
  3. Limited brains – people have short attention span and can be easily overwhelmed by new and complex information

Read full post >>

How to become an Expert. Embrace Reality.

Reality is merely an illusion, albeit a very persistent one – Albert Einstein

An expert have much better models of reality and methods to build them than an ordinary specialist. The expert, armed with these models, can quickly put pieces of a problem puzzle together, find explanations and solve the problem.

Models can be related to anything – software systems, business domain or your personal relationships. Read full post >>

How to Become an Expert. Top 7 Qualities

Experts do not need rules to make decisions. They have qualities that allow them to consistently make good decisions and show high level of performance under different circumstances without any rules. This post discusses these core qualities that turn a novice into an expert.

rule: prescribed guide for conduct or action
intuition: instinctive knowing (without the use of rational processes)
tacit knowledge: automatic, unexpressed knowledge that provides context for people, places, ideas, and experiences. Tacit knowledge is not easily shared. As Polanyi said: “We know more than we can tell.”
context: the set of circumstances or facts that surround a particular event, situation, etc.

Problems with rules

Most rules didn’t come from heaven. They come from ordinary people. They are product of practice, theories, traditions and fear.

  • context-free – rules reflect standard situations without considering your specific circumstances
  • limited verification – most rules are empirical and do not pass vigorous analysis, strict prove and experiments
  • time sensitive – many rules become outdated quickly in dynamic professions, industries and societies
  • overcautious – fear fuels many rules and seeks to protect from the worst scenario, often imaginable
  • low skills denominator – rules tuned to match capabilities of the majority without accounting for individual strengths and weaknesses
  • misinterpretation – tacit knowledge of experts, which forms base for many rules, is difficult to transfer in correct and understandable form

Read full post >>

How to Become an Expert. The Effective Way.

experts are made, not born – Scientific American

Disclaimer: This post is devoted to a person who wants to become an expert – the top player in a specific field as programming, soccer or chess. This post will be not interesting for people who are satisfied with their current performance and not interested to be the best.

If you want to become an expert, it is not enough to follow your work assignments or occasionally play with interesting stuff at home. You have to push yourself hard in specially designed way.

Your paid work tasks and projects are not designed to make you an expert. Your company expects results from your work: reliable, with minimal mistakes and focused on the company main goal – make money. Your employer could provide minimal training to help you with job requirements. However, your growth will be constrained by company needs, timelines, work assignments and acceptable methods. We cannot blame our organizations – this is part of the deal – they pay for your work and expect specific results. But… is this the best way for you to become an expert, acquire new skills and gain knowledge? To become an expert, you have to make many mistakes, learn from them, experiment with alternatives and work hard on your weaknesses. How many organizations do allow this risky, unproductive and unreliable way of working?

Your play at home with interesting stuff has problems too. To satisfy your programming instincts and curiosity, you will probably select what you enjoy to do and eager to try. You’ll immense in this activity and find great satisfaction from doing it. But…  is this the best way to become an expert by doing only what you like? Becoming an expert requires hard, sometimes unpleasant work, specifically designed to improve your performance and push you over comfort zone. Read full post >>

Software Creation Mystery -
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License .