यदि आपने मुझसे एक साल पहले पूछा कि एक सॉफ्टवेयर इंजीनियर ने क्या किया, तो मैं 'कोड के माध्यम से समस्याओं को हल करने' की तर्ज पर कुछ कहता। यह एक आसान सा जवाब है जो बताता है कि हम जो काम करते हैं उसका मूल्यांकन कैसे किया जाता है। उत्पाद-संचालित टीमों के इंजीनियरों के लिए, इन समस्याओं में शामिल हो सकता है कि कैसे लागू किया जाए एक नई सुविधा जो ग्राहक मांग रहे हैं , या मौजूदा सुविधाओं के प्रदर्शन को कैसे सुधारें।



अगर आप आज मुझसे वही सवाल पूछते हैं, तो मैं थोड़ा अलग जवाब दूंगा। सॉफ्टवेयर इंजीनियरों को कोड के माध्यम से सही समस्याओं को हल करने का काम सौंपा जाता है- और जब प्रभावी ढंग से हल किया जाता है, तो वे व्यावसायिक लक्ष्यों को पूरा करते हैं। यह पता लगाना कि किन समस्याओं को हल करना है और उन्हें कैसे हल करना है, एक डेवलपर होने का सबसे महत्वपूर्ण हिस्सा है, वास्तविक कार्यान्वयन विवरण माध्यमिक होने के साथ।



सॉफ्टवेयर इंजीनियरिंग के लिए मेरा रास्ता

कक्षा लेने के बाद मुझे प्रोग्रामिंग में दिलचस्पी हो गई अपरलाइन कोड मेरे कॉलेज के नए साल से पहले की गर्मी। मुझे यह अवसर एक कॉलेज और करियर तैयारी कार्यक्रम के माध्यम से मिला, जिसका मैं हिस्सा था अवसर नेटवर्क .

अपरलाइन कोड प्रोग्रामिंग के लिए मेरा पहला परिचय था, और जहां मुझे जल्दी ही एहसास हुआ कि मुझे कोड सीखने में दिलचस्पी है। बाद में उस गर्मी में, मैंने अपना नोट्रे डेम नामांकन पैकेट प्राप्त किया और कॉलेज ऑफ आर्ट्स एंड लेटर्स से इंजीनियरिंग कॉलेज में स्विच किया ताकि मैं कंप्यूटर साइंस (सीएस) में प्रमुख हो सकूं।

मेरे कुछ पसंदीदा सीएस पाठ्यक्रम एल्गोरिदम, क्लाउड कंप्यूटिंग और प्रोग्रामिंग चुनौतियों का डिजाइन/विश्लेषण थे। समस्याएं दिलचस्प थीं और प्रोफेसर नए विचारों को प्रस्तुत करने और अवधारणाओं को समझाने में महान थे।

अंडरग्रेजुएट के दौरान, मुझे पता था कि मैं एक सॉफ्टवेयर इंजीनियर के रूप में काम करना चाहता हूं और जो तकनीकी कौशल मैंने हासिल किया है उसका उपयोग करना चाहता हूं। शुक्र है, मेरे वरिष्ठ वर्ष से पहले की गर्मियों में, मुझे एक सॉफ्टवेयर इंजीनियर के रूप में इंटर्नशिप करने का अवसर मिला सुंग और सुविधाओं को वितरित करने में सहायता के लिए अन्य इंजीनियरों के साथ जोड़ी-कार्यक्रम।

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



  जूलियस बोटेंग और स्प्राउट सोशल के सहयोगियों का एक समूह

स्प्राउट सोशल में बसना

भूमिका के लिए नया और कंपनी के लिए नया होने का एक हिस्सा सामान्य सॉफ्टवेयर इंजीनियरिंग कौशल और स्प्राउट-विशिष्ट डोमेन ज्ञान दोनों को विकसित करना था। मैंने पाया कि जिन कार्यों को समझने के लिए सामान्य प्रोग्रामिंग ज्ञान की आवश्यकता होती है, वे मेरे लिए हल करने में सबसे आसान थे। हालांकि, जिन कार्यों के लिए स्प्राउट की वास्तुकला के ज्ञान की आवश्यकता थी, उन्हें करने में मुझे समय लगा और मुझे मदद के लिए अपनी टीम पर निर्भर रहना पड़ा। जबकि कुछ समस्याएं हैं जिन्हें आप ऑनलाइन दस्तावेज़ पढ़कर हल कर सकते हैं, आपको हमेशा ऐसी जानकारी नहीं मिल सकती है जो आपके द्वारा किए जा रहे कार्य के लिए प्रासंगिक हो—दूसरों से मार्गदर्शन के लिए पूछने में सक्षम होना महत्वपूर्ण है।

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

  काल्डेर के बाहर जूलियस बोटिंग और स्प्राउट सहकर्मियों की तस्वीर's Flamingo statue in downtown Chicago

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



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

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

आपके पिछले अनुभव मायने रखते हैं

एक प्रचलित विचार है कि जैसे-जैसे आप जीवन में नए चरणों में प्रवेश करते हैं, आपके पिछले अनुभव कोई मायने नहीं रखते। एक बार जब आप कॉलेज में प्रवेश करते हैं, तो आपके हाई स्कूल के अनुभव कोई मायने नहीं रखते। एक बार जब आप कार्यबल में प्रवेश करते हैं, तो आपके कॉलेज के अनुभव कोई मायने नहीं रखते।

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

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

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

  टर्टलबॉट रोबोट किट का एनिमेटेड जिफ।

कक्षा के बाहर मेरे पास जो अवसर थे, वे भी उतने ही मूल्यवान थे। जावा एक ऐसी भाषा नहीं थी जो मेरे अधिकांश पाठ्यक्रमों में शामिल थी, हालांकि मुझे एक व्यावसायिक परियोजना के लिए इस पर काम करने का अवसर मिला, जिसमें मेरा एक प्रोफेसर अग्रणी था। मुझे जावा लिखने, MySQL डेटाबेस के साथ काम करने और डॉकर इमेज बनाने का व्यावहारिक अनुभव प्राप्त हुआ। जावा सीखना विशेष रूप से सहायक था क्योंकि स्प्राउट की अधिकांश सेवाएं इसमें लिखी गई हैं।

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

कंप्यूटर विज्ञान एक अत्यंत व्यापक क्षेत्र है

सीएस में आर्टिफिशियल इंटेलिजेंस, मशीन लर्निंग और डेटा साइंस जैसी कई तरह की विशेषज्ञताएं शामिल हैं। अंडरग्रेजुएट में आपको जो अनुभव प्राप्त होता है वह मूलभूत ज्ञान के रूप में कार्य करता है जो आपको विभिन्न प्रकार की प्रवेश-स्तर की भूमिकाओं में अच्छी तरह से सेवा प्रदान कर सकता है जो सॉफ्टवेयर इंजीनियरिंग के लिए विशिष्ट नहीं है। अंडरग्रेजुएट से पूर्णकालिक स्थिति में छलांग लगाने से यह पता लगाने का अवसर मिलता है कि आपके लिए किस तरह की भूमिका और विशेषता सही है।

यदि आप देख रहे हैं सॉफ्टवेयर इंजीनियरिंग में करियर शुरू करें , स्प्राउट शुरू करने के लिए एक शानदार जगह है।


51 . का अर्थ

अपने दोस्तों के साथ साझा करें: