कोई डिब्बा नहीं है!
हल करने के लिए एक विशिष्ट समस्या है, और बाधाओं का एक सेट जो लागू हो सकता है। कार्य करें कि समस्या क्या है (विशिष्ट रूप से और वास्तविक शब्दों में सोचें), इसे विशिष्ट विषय-आधारित दोनों शब्दों में और अधिक सामान्य शब्दों में परिभाषित करें।
यह देखने के लिए कि क्या, कब, और किस सीमा तक वे लागू हो सकते हैं, प्रत्येक बाधा की जाँच करें (धारणाएँ न बनाएँ)। समस्या को इस दृष्टिकोण से देखें कि यह किसको प्रभावित करता है (लक्ष्य को न भूलें) साथ ही पर्दे के पीछे से भी।
धारणाएँ मत बनाओ।
यदि आप मानते हैं कि कुछ चीजें सच हैं, जब वे नहीं हैं, तो आप खुद को विभिन्न दृष्टिकोणों की जांच करने से रोकेंगे। मौजूदा निर्णयों / मान्यताओं को भी चुनौती दें, जो दूसरों ने किए हैं - इसके लिए एक अच्छा कारण हो सकता है, या कोई ऐसा नहीं हो सकता है, जो अब लागू नहीं होता है।
सार सोचें।
चीजों को पैटर्न के रूप में और सार शब्दों में देखना सीखें। जब आप एक पैटर्न हाजिर करते हैं, तो इसी तरह की चीजों पर विचार करें और देखें कि क्या आप इसे वर्तमान चीज़ से लागू कर सकते हैं। यदि आपके विषय क्षेत्र ने पैटर्न का नाम दिया है, तो उन्हें जानें - लेकिन उन्हें कुकी कटर समाधान के रूप में न समझें।
अमूर्त मत सोचो।
हमेशा चीजों को देखने की कोशिश करें क्योंकि वे बहुत याद हैं - याद रखें कि "उपयोगकर्ता" लोग हैं, और वे हमेशा तार्किक या तर्कसंगत नहीं होते हैं। जो आप बनाते हैं उसका उपयोग करके लोगों के साथ सहानुभूति का अभ्यास करें।
लक्ष्य मत भूलना।
कभी-कभी किसी विशेष लक्ष्य / कार्यान्वयन के साथ छेड़-छाड़ करना आसान होता है (जैसे "हम इन एक्स कंट्रोल को यूआई में कैसे फिट करते हैं?") वास्तविक लक्ष्य को याद करने के बजाय (जैसे "हम उपयोगकर्ता को वाई करने की अनुमति कैसे देते हैं?" )
सीखना कभी भी बंद न करें।
सामान्य ज्ञान प्रेरणा का एक बड़ा स्रोत हो सकता है - बहुत सारी समस्याएं पहले से ही किसी ने हल कर ली हैं - जितना अधिक आप जानते हैं कि आप वर्तमान स्थिति पर लागू होने वाले कुछ को याद कर सकते हैं।
एक अच्छा प्रोग्रामर बनें, न कि केवल [प्रोग्रामिंग लैंग्वेज] में अच्छा।
कई तकनीकों और तकनीकों को सीखने से डरें नहीं - यहां तक कि कई "अतिव्यापी" भाषाएं आपको विभिन्न शब्दों में चीजों को देखने में मदद कर सकती हैं, लेकिन विभिन्न लोगों की एक अच्छी विविधता अधिक मदद कर सकती है। बेशक विशेषज्ञ / मास्टर के लिए कुछ क्षेत्रों को चुनें, लेकिन यह भी सुनिश्चित करें कि आपके पास सामान्य अवधारणाओं में एक अच्छा ग्राउंडिंग है, जिसे आप कई अलग-अलग भाषाओं को सीखकर प्राप्त कर सकते हैं,
किसी की मदद करने के लिए बहुत अनुभवहीन नहीं है।
कभी-कभी ऐसे लोग जो बहुत ज्ञानी नहीं दिखाई देते हैं, या जिन्होंने कभी प्रोग्राम नहीं किया है, वे प्रोग्रामिंग समस्या के लिए बेकार दिख सकते हैं - लेकिन इसका मतलब यह नहीं है कि आपको उन्हें अनदेखा करना चाहिए। हर किसी के पास अलग-अलग दृष्टिकोण और कौशल-सेट होते हैं, और आप एक अनोखी अंतर्दृष्टि प्रदान कर सकते हैं जो आपको समाधान के लिए स्प्रिंग-बोर्ड देता है।
युवा बच्चे विशेष रूप से एक "अप्रकाशित" परिप्रेक्ष्य का एक अच्छा स्रोत हो सकते हैं जो प्रेरणादायक हो सकते हैं।