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