सॉफ्टवेअर अभियंता सॉफ्टवेअर अभियंता नाही?

कॉर्पोरेट हाय-टेक जगात “सॉफ्टवेअर इंजिनियर” ही पदवी सर्वात जास्त गैरवापर झाली आहे. हे देखील सर्वात लोकप्रिय आहे.

आणि का नाही? हे “संगणक प्रोग्रामर” पेक्षा बरेच चांगले दिसते आणि एखाद्याच्या व्यवसाय कार्डवर ते बरेच चांगले दिसते. दुर्दैवाने, हे अनेकदा चुकीचे असते. अभियांत्रिकी म्हणजे, मजबूत, कार्यक्षम आणि मोहक प्रणाली विकसित करण्यासाठी योग्य तांत्रिक तत्त्वांचा वापर. मला असे आढळले आहे की बरेच सॉफ्टवेअर अभियंते कार्यरत प्रोग्राम विकसित करू शकतात, परंतु ते फार कमी किंवा कोणतेही वास्तविक अभियांत्रिकी डिझाइन करतात.

तो कर्कश आवाज आहे का? कदाचित, परंतु मला ते नाकारणे देखील कठीण वाटले आहे. मला खूप कमी सॉफ्टवेअर अभियंते भेटले आहेत, उदाहरणार्थ, ज्यांच्याकडे स्वच्छ, स्पष्ट आणि वाचनीय कोडिंग शैली आहेत – मोहक सॉफ्टवेअर डिझाइनचा एक आवश्यक घटक. मला क्रिप्टली लिखित फंक्शन्स, अनाड़ी सॉफ्टवेअर अॅब्स्ट्रॅक्शन्स आणि विचित्र स्पॅगेटी कोड देखील आले आहेत. माझ्या निराशेसाठी, मला असे आढळले आहे की संगणक विज्ञान पदवीधरांमध्येही, बरेच जण ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंगला केवळ खाजगी डेटा, सार्वजनिक कार्ये आणि ऑब्जेक्ट इन्स्टंटेशनचा वापर करण्यासाठी कमी करतात. शिक्षकाचे हृदय तोडण्यासाठी पुरेसे आहे.

आता, मी असे म्हणणार नाही की बहुतेक प्रोग्रामर स्पेगेटी कोड लिहितात. ते न्याय्य होणार नाही. तथापि, मला असे आढळले आहे की तुलनेने काही प्रोग्रामरना सॉफ्टवेअर डेव्हलपमेंटच्या कलात्मकतेबद्दल खूप कौतुक आहे. याचा अर्थ ते अशा गोष्टींपासून अनभिज्ञ आहेत असे नाही; नक्कीच नाही. त्याऐवजी, मोहक कोड डिझाइनच्या अभियांत्रिकी पैलूंकडे अनेकदा दुर्लक्ष केले जाते.

मला वाटते की असे घडते कारण आधुनिक प्रोग्रामिंग साधनांनी उपद्रव सारखे योग्य कोड डिझाइन केले आहे. संगणकाच्या सुरुवातीच्या वर्षांत, लोकांना संगणकासमोर बसण्यापूर्वी अनेक बारीकसारीक तपशील लक्षात घेऊन त्यांचे सॉफ्टवेअर डिझाइन लिहिण्यास भाग पाडले गेले. आजकाल, आमच्या जलद कंपाइलर्स आणि परस्पर डीबगिंग सिस्टमसह, प्रोग्रामरना सहसा फक्त एक माफक सॉफ्टवेअर डिझाइनसह, बसून कोडिंग सुरू करणे अधिक सोयीचे वाटते. लक्षात ठेवा, मला समजते की हे कधीकधी अधिक कार्यक्षम असते – जेव्हा प्रोग्रामिंग कार्य अगदी नियमित असते, उदाहरणार्थ. तथापि, जेव्हा या प्रकारची डिझाइन-जसे-जाता सॉफ्टवेअर डेव्हलपमेंट मानक सराव बनते, तेव्हा आपल्याकडे खूप गोंधळ होतो.

काही प्रमाणात, ही समस्या संगणक सॉफ्टवेअरच्या लवचिक स्वरूपामध्ये देखील आहे. कोणताही स्वाभिमानी स्थापत्य अभियंता त्याच्याकडे काही काम असल्याशिवाय गर्डर एकत्र करून पूल बांधणार नाही; अखेर हा पूल कोसळला तर तो पुन्हा बांधण्यासाठी काही महिने लागू शकतात. त्याचप्रमाणे, कोणताही विचारी वास्तुविशारद ब्ल्यू प्रिंट आणि फ्लोर प्लॅनशिवाय घर बांधू इच्छित नाही. तरीही प्रोग्रामरसाठी खराब निवडलेल्या फंक्शन्सचा वापर करून आणि फक्त सर्वोत्तम डिझाइन वापरून सॉफ्टवेअर विकसित करणे सामान्य आहे. शेवटी, जर सॉफ्टवेअर काम करत नसेल, तर ते नेहमी बग शोधू शकतात आणि त्याचे निराकरण करू शकतात – किमान, सिद्धांतानुसार. व्यवहारात, हे बग शोधणे अनेकदा कठीण असते आणि त्यांना दुरुस्त करण्यासाठी व्यापक शस्त्रक्रिया आवश्यक असू शकते. खराब डिझाइन केलेल्या सॉफ्टवेअर प्रोग्रामचे परिणाम खरोखरच विनाशकारी असू शकतात.

या कारणास्तव, मला विश्वास आहे की उच्च-तंत्रज्ञान कंपन्यांनी सॉफ्टवेअर अभियांत्रिकींना योग्य तो आदर देणे आवश्यक आहे. त्यांनी फक्त “जे काही चालेल” यावर सेटलमेंट करण्यापेक्षा पद्धतशीर सॉफ्टवेअर डिझाइनची खरी संस्कृती विकसित करणे आवश्यक आहे. भविष्याकडे पाहणाऱ्या कंपनीने सॉफ्टवेअर देखभाल, योग्य दस्तऐवजीकरण आणि मोहक, मजबूत डिझाइन या तत्त्वांना योग्य समर्पण दिले पाहिजे. त्‍याने त्‍याच्‍या कर्मचार्‍यांमध्ये खर्‍या सॉफ्टवेअर अभियांत्रिकीची संस्‍कृती रुजवली पाहिजे. असे करण्यात अयशस्वी झाल्यास अल्पावधीत काम होऊ शकते, परंतु दीर्घकालीन आपत्तीसाठी ही एक कृती आहे.

सॉफ्टवेअर अभियंता सॉफ्टवेअर अभियंता नाही?

Leave a Reply

Your email address will not be published.

Scroll to top