Nice Read – A Push Down Goal Stack

The c2 wiki never ceases to amaze me.  It carries the evolution of ideas and thinking about software development. A lot of those ideas are good Life Hacks too.  Every time I go there to read, I find it difficult to leave. There are lots of good ideas there to reflect on. Here is one of them.

Situation: You have a push-down stack for all your goals. When you hit an obstacle, you push “remove the obstacle” onto the stack. Then, when the obstacle is cleared, you pop the stack, and you are back at your original problem.Problem: For some reason, the problems you push onto the stack keep getting bigger and bigger and bigger, dwarfing the original problem, each one dwarfing the one before it.Forces that seem to make this problem necessary or inevitable:

  • A stack is easier to understand and use than some more complicated goal structure. And, goals seem to be hierarchical. Stacks are good for traversing hierarchies.
  • The bigger problems, if solved, will make a number of other problems easier, not necessarily just the one you originally wanted to solve. They may have value in their own right. They are worth solving thoroughly.
  • The goal inflation is not infinite; it seems that the goals shrink down again to something reasonable after the stack gets to a depth of about seven or so.
  • If you’re just having fun, you might have fun exploring all these different things.
  • But you’ve only got so much time, and you don’t want to give up your original goal, nor do you want to delay it for years and years. You feel like you are working on the irrelevant.

My own push down stack of hierarchy of needs for Build Skills (just to make it easier to read, I have reversed the stack).

  • What skills will have most impact?
  • Job Skills for students – because it helps them to leverage learning to find (better) jobs. But it also gets them an early start to focus on things that matter in real life.
  • What are Job Skills (I focus on tech jobs because that is what I know best)? Software Skills and Communication Skills.
  • Software skills gives them knowledge and confidence. Both are needed to get good jobs from cool companies (BTW, my concept of good jobs is certainly not working for one of the Big Companies). In the beginning every one should work for small/medium startups where their work has some impact.
  • How do they acquire software skills? They can start with a simple yet powerful language like Python (or Ruby, PHP).  They need to build something useful and usable.
  • Why communication skills? For a developer, communication with the team is very important.
  • What are specific ways of practicing communication skills in software? The  Programmer’s Food Pyramid has a nice model to start with.
  • They have to learn to explore, experiment. They also need to learn to learn.

 

Popular Posts From This Blog in 2014

With 100 or more views

Title Views
Home page / Archives More stats 4,003
Attributes of a Great Teacher (Updated on Mar 2014) More stats 1,656
How Will Cloud Computing Impact Software Industry? More stats 548
Web Information Sources More stats 485
Treating Code as an Essay More stats 476
Thirteen Dwarfs – Computational Kernels of Future Applications More stats 476
Machine Learning Application: Job Classification at LinkedIn More stats 448
A Simple Survey: If I Take Care of Your Salary … More stats 336
Multiple Roles of a Teacher More stats 327
Python Learning Material More stats 299
Data Jujitsu – A Pragmatic Approach To Applying Data Science More stats 299
About More stats 286
Seven Things To Do After You Finish a Hackathon More stats 268
What Ever You Want to Do, Some One Either Has Already… More stats 251
“Why Can’t You Be Like Him?” Asked my Mom More stats 246
Problems Inspire Creativity More stats 243
F# Is Moving Up In Popularity More stats 228
Interviews with Entrepreneurs – Srikanth, Funds India More stats 184
Gardner’s Multiple Intelligences for iPads More stats 156
List of Lists More stats 153
What is Technology Intelligence? More stats 153
Service Business vs Product Business More stats 141
A Few Snippets From “Secrets of Analytical Leaders” More stats 129
Dart, Swift and Popularity of Big Data and Computational Statistics More stats 127
Product Conclave: Early Customer Development – Different Strokes for Different Folks More stats 127
Indian Startup Resources More stats 127
For Students More stats 124
Where Do Ideas Come From? More stats 113
For Software Developers More stats 111
Are You Synesthesic? More stats 110
Do You Manage Facebook Groups? This App May be Useful To You More stats 106
For Entrepreneurs More stats 106
My Talks More stats 100