2008-08-22 16 views
8

'पूर्णकालिक' के लिए मेरा मार्ग- डेवलपर एक्सेल, एक्सेस, और फिर सी # पर वीबीए का उपयोग करके एक विश्लेषक के रूप में कहा गया। एक बार जब मैंने पाया कि मुझे व्यवसाय नहीं करने के लिए जुनून था, तो मैं कॉलेज के अंशकालिक में गया था।कौशल बढ़ाता है मुझे क्या सीखना चाहिए?

मैं सी # में अपने अधिकांश कोडिंग के बारे में करता हूं, लेकिन एएसपी.नेट डेवलपर होने के नाते मैं HTML, जावास्क्रिप्ट, एसक्यूएल आदि में भी लिखता हूं। । सामान्य संदिग्ध।

मुझे आगे बढ़ना जारी रखना पसंद है जो मुझे अगले स्तर, अगली नौकरी, और निश्चित रूप से अधिक पैसे ले जाएगा। सबसे महत्वपूर्ण बात यह है कि मैं बस कुछ नया सीखना चाहता हूं और मुझे चुनौती देना चाहता हूं।

मैंने हाल ही में LINQ सीखने में समय बिताया है, लेकिन सोच रहा था कि मुझे आगे क्या सीखना चाहिए? .NET Framework या एक नई भाषा तकनीक पर कुछ?

उत्तर

6

आप सबसे अच्छा आप विशेषज्ञ की जरूरत में से एक होना चाहते हैं। यदि आप कई कौशल में बहुत अच्छे हो जाते हैं तो आप कभी भी एक में वास्तव में उत्कृष्ट नहीं हो सकते हैं। मुझे पता है क्योंकि मैंने इस मार्ग को स्वयं लिया है और कभी-कभी रोजगार पाने में मुश्किल होती है। आखिरकार, जो किसी ऐसे व्यक्ति को चाहता है जो कई भाषाओं में सक्षम हो, जब कोई ऐसा व्यक्ति हो जो विशिष्ट चीज़ पर उत्कृष्टता प्राप्त करता हो। अगर कोई कंपनी सी # में विकसित होती है तो कौन सी चाहता है जो सी # पर ठीक है, लेकिन सी, विजुअल बेसिक, पर्ल और कोबोल में भी अच्छा है, जब वे वास्तव में चाहते हैं कि वे पैसे के लिए सबसे अच्छा संभव सी # डेवलपर है।

आखिरकार, आप केवल एक के लिए नियोजित होंगे, शायद आपके दो कौशल। 10 या 15 कौशल में अच्छे लोगों के लिए बहुत कम नौकरियां हैं।

यदि आप एक नए कौशल की तलाश में हैं तो शायद नौकरी बोर्डों की जांच करें और पता लगाएं कि कौन से कौशल विशेष रूप से आवश्यक हैं, लेकिन इस बात से अवगत रहें कि इस वर्ष के महीने का स्वाद अगले वर्ष भी दृश्य पर नहीं हो सकता है , जो कौशल व्यर्थ और बर्बाद सीखने के लिए सभी प्रयास करेगा।

क्या मैं कहूंगा है:

  1. एक काम करते हैं, और यह अच्छी तरह से करते हैं। इसमें सहायक कौशल (सी #, एएसपी.Net, एसक्यूएल, LINQ आदि) शामिल हो सकते हैं।
  2. यदि आप कुछ और चुनना चाहते हैं, तो कुछ पूरक चुनें।
  3. शायद सबसे महत्वपूर्ण बात यह है कि आप आनंद लेंगे। शायद रेल पर रूबी महीने का वर्तमान स्वाद है, लेकिन यदि आप इसे करने का आनंद नहीं लेते हैं, तो ऐसा न करें। वास्तव में, यह इसके लायक नहीं है। आप कभी भी अपनी मृत्यु के बिस्तर पर कभी भी कामना नहीं करेंगे, कि आपने उस चीज़ में और अधिक काम किया है जिसका आपने आनंद नहीं लिया था।

एक और दिशा अपने आप को देखो सकता है हो सकता है एक विशेष विकास कौशल के लिए नहीं है, लेकिन कुछ के लिए देखो और कुछ, यहां तक ​​कि लोगों के प्रबंधन की तरह हो सकता है सॉफ्ट कौशल, बेहतर व्यावसायिक समझ या साहित्यिक कौशल की तरह कुछ अपने संचार में सुधार करने में मदद करने के लिए तत्पर हैं कौशल। ये सभी आपको वह करने की अनुमति देने में मदद करेंगे जो आप अधिक करना चाहते हैं, और उन चीजों पर कटौती करें जिन्हें आप वास्तव में आनंद नहीं लेते हैं, इस प्रकार आपकी नौकरी को और अधिक सुखद बनाने में मदद करते हैं।

यहां waffling के लिए माफी। आशा है कि आप अभी तक जाग रहे :)

+2

हालांकि मैं मानता हूं कि आपको किसी विशेष भाषा पर ध्यान देना चाहिए, फिर भी मुझे लगता है कि यदि आप निम्न स्तर की भाषाओं जैसे सी और सी ++ में हैं, तो यह आपको उच्च स्तर की भाषाओं जैसे सी # या जावा में बेहतर प्रोग्रामर बना देगा ... मुझे अभी भी लगता है कि आपको कम से कम अन्य भाषाओं को सीखने की कोशिश करनी चाहिए। इसके अलावा, प्रत्येक भाषा प्रत्येक विशेष नौकरी के लिए उपयुक्त नहीं है, इसलिए जितना अधिक पता है, उतना ही आप विशिष्ट कार्यों के लिए आवेदन कर सकते हैं ... जो बदले में आपको अधिक उत्पादक बना देगा, और इस तरह के नियोक्ता नियोक्ता होंगे। –

+1

मैं मानता हूं कि विशेषज्ञता महत्वपूर्ण है लेकिन मैं पूरी तरह से आपसे सहमत नहीं हूं। मैंने एक एनालिटिक्स कंपनी में डेटा कैप्चर ग्रुप में काम किया और हमारे समूह में सभी मोबाइल प्लेटफ़ॉर्म (केवल 3 भाषाएं और 4 रनटाइम वातावरण अकेले हैं) के साथ-साथ सी #, सी ++, जावा और जावास्क्रिप्ट में परियोजनाओं के लिए एसडीके था। वास्तव में अच्छे बुनियादी सिद्धांतों वाला कोई भी डेवलपर किसी भी भाषा/रनटाइम में काफी तेज़ी से कुशल बनने में सक्षम होना चाहिए। मुझे अभी भी लगता है कि आपको विशेषज्ञ बनाना चाहिए लेकिन सॉफ्टवेयर की गहरी समझ उदाहरण के लिए अच्छी तरह से .NET अच्छी तरह से जानी चाहिए। मैं अभी भी लोगों को कई भाषाओं को सीखने के लिए प्रोत्साहित करता हूं। – evanmcdonnal

0

चेक बाहर OOAD & UML शायद ...

Ooo! और DDD - निश्चित रूप से।

2

हाँ, और मैं सॉफ्टवेयर में मिलता है, मैं देखना शुरू (हाँ, मैं सिर्फ अनिवार्य विकिपीडिया लिंक में फेंक था! यह मेरी पहली बार ऐसा करने से है, और अब मैं गंदा लग रहा है!) मैं डिजाइन पर और भाषा पर अधिक ध्यान केंद्रित करता हूं ..

हाँ वहां हमारे सिर को पाने के लिए फ्रेमवर्क बिट्स हैं, लेकिन अधिकांश समय (अधिकतर सभी नहीं) आप उन्हें देख सकते हैं और- जब आपको उनकी आवश्यकता होती है ..

लेकिन एक अच्छा डिजाइन सिर? यही कारण है कि अनुभव के वर्षों लेता है यह सही काम कर रही शुरू करने के लिए ..

और यही कंपनियों वास्तव में के लिए भुगतान करते .. "यह निर्माण और वे आ जाएगा" और जो कुछ ...

0

क्यों नहीं करते आप ढेर स्वैप करते हैं और लैंप स्टैक को देखते हैं?

या हैकेल जैसी कार्यात्मक भाषा के बारे में कैसे?

या एक डीएसएल लिखें?

या अपने फोन के लिए एक ऐप?

+0

ढेर को स्वैप करने का क्या मतलब है? जो भी हो –

1

जैसा कि आप एएसपी.Net, सी #, आदि में अधिक अनुभव प्राप्त करना जारी रखते हैं - प्रतियोगिता को देखने के लिए हमेशा अच्छा होता है और देखें कि क्या आप विचार कर रहे हैं कि आप जो कुछ भी कर रहे हैं उसमें आप चीजों को बेहतर तरीके से कैसे कर सकते हैं। Rails या Django जैसे कुछ को देखने से आप अपने ऐप्स को डिज़ाइन करने या बनाने के तरीके को बदल सकते हैं।

1

यदि आप अब उपयोग की जाने वाली भाषाओं और तकनीकों के साथ कुशल हैं, तो डिजाइन, समाधान आर्किटेक्चर और सिस्टम एकीकरण पर ध्यान केंद्रित करने में अधिक समय व्यतीत करना शुरू करें। "बड़ी तस्वीर" जो आपको अपने समकालीन लोगों से अलग रखेगी।

कुछ मार्टिन फाउलर किताबें जैसे "एंटरप्राइज़ एप्लिकेशन आर्किटेक्चर के पैटर्न" या एरिक इवांस के "डोमेन-संचालित डिजाइन" की जांच करें।

1

यदि आप पहले से ऐसा नहीं कर चुके हैं तो उपयोगिता (सर्वोत्तम प्रथाओं, परीक्षण इत्यादि) के बारे में अधिक जानें।

स्टीव क्रग की "डू मेक मी थिंक" शुरू करने के लिए एक अच्छी किताब है। Jakob Nielsen में हमेशा दिलचस्प चीजें हैं।

0

@ माइकल डीएसएल = Domain Specific Language

तुम क्या सीखना चाहिए, कि क्या आप में रुचि रखते हैं पर निर्भर करता है के रूप में।

आप जबकि एक ही माध्यम में रहने खुद को चुनौती देने की तलाश कर रहे हैं (वेब ​​केंद्रित अनुप्रयोगों)? मैं अपाचे और एलएएमपी (लिनक्स, अपाचे, माईएसक्यूएल, पीएचपी) आर्किटेक्चर के बारे में सीखने का सुझाव दूंगा और अपने आप को एक वेब एप्लिकेशन बनाने के लिए चुनौती दूंगा जिसे आप आसानी से एएसपी .NET के साथ बना सकते हैं।

कुछ सीखना चाहते हैं? Prolog या LISP आज़माएं और देखें कि आप उन लोगों के साथ क्या कर सकते हैं।

शायद आप एम्बेडेड सॉफ़्टवेयर में शामिल होना चाहते हैं? शुरू करने के लिए सी जानें।

आपके पास अपने कौशल में सुधार करने के कई तरीके हैं, और प्रत्येक के पास उनके साथ जुड़े करियर पथ हैं। (ठीक है, शायद प्रोलॉग नहीं है, लेकिन यह मजेदार है!)

1

जितनी अधिक भाषाएं आप जानते हैं, उतना अधिक विपणन योग्य आप हैं। देखो और देखें कि अधिक लोकप्रिय (प्रशंसक आधार के लिए बाजार) भाषाएं हैं, फिर कुछ अत्याधुनिक तकनीक पर जोड़ें जो अभी तक अधिक उपयोग में नहीं है, सामान्य प्रोग्रामिंग कौशल द्वारा गोल किया गया है।

अपने कौशल (भाषा के रूप में जहाँ तक) सेट मैं सिफारिश करेंगे साथ

:

  • एक प्रारंभिक बिंदु
  • के रूप में जावा नेट (नेट MVC में जोड़ने के लिए आप LINQ है या कि यहां होगा भी)

भाषा नास्तिक कौशल:

  • डिजाइन पैटर्न (शामिल MVC)
  • डोमेन प्रेरित डिजाइन
  • टेस्ट प्रेरित डिजाइन
1

यहाँ होगा मेरे सुझाव:

1) डिजाइन पैटर्न - ये वास्तव में साफ है और साथ ही कुछ स्थितियों में बहुत उपयोगी किया जा रहा है।

2) AJAX - मान लीजिए कि आपने पहले से ही कुछ नहीं किया है, यह मेरे विचार से वेब विकास का एक दिलचस्प हिस्सा है।

3) निर्धारित करें कि श्रृंखला के कौन से हिस्से आप सबसे ज्यादा आनंद लेते हैं: फ्रंट एंड वर्क (एचटीएमएल, सीएसएस, जावास्क्रिप्ट), मिडलवेयर (व्यापार तर्क भागों के लिए सी #), या बैक-एंड (संग्रहीत प्रक्रियाओं के साथ एमएस-एसक्यूएल , इंडेक्स, ट्रिगर, और वह सब सामान)। यदि यह सब कुछ है तो रहने के लिए प्रयास करें जहां टीम वेब विकास कर रही है, अन्यथा आपको चुनने के लिए कहा जा सकता है।

4) एल्गोरिदम डिजाइन और विश्लेषण - क्या आप विभिन्न सॉर्टिंग एल्गोरिदम जानते हैं? क्या आप एल्गोरिदम बनाने के लिए विभिन्न तकनीकों को जानते हैं, उदा। लालसा, रिकर्सन, विभाजित और जीत, गतिशील प्रोग्रामिंग, कस्टम डेटा प्रकारों जैसे हेपॉर्ट में ढेर आदि का उपयोग करना। यह नया और ठंडा हो सकता है।

5) यह निर्धारित करें कि आपके द्वारा समर्थित विकास प्रक्रिया का कोई हिस्सा है: विश्लेषक, डिजाइनर, प्रोग्रामर, परीक्षक, डीबगर? सभी कोड, आईएमओ के पास होने की अलग-अलग डिग्री हो सकती हैं।

संबंधित मुद्दे