𝗠𝗮𝘀𝘁𝗲𝗿 𝗣𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗶𝗻𝗴 𝗕𝘆 𝗥𝗲𝗰𝗿𝗲𝗮𝘁𝗶𝗻𝗴 𝗧𝗲𝗰𝗵𝗻𝗼𝗹𝗼𝗴𝗶𝗲𝘀

तुम्ही दररोज frameworks आणि libraries वापरता. तुम्हाला त्यांच्या APIs कशा वापरायच्या हे माहित आहे. पण त्या आतून कशा काम करतात, हे तुम्हाला माहित नाही.

'Build Your Own X' ही विचारधारा हे बदलून टाकते. सॉफ्टवेअर डेव्हलपमेंट समजून घेण्यासाठी तुम्ही मूलभूत साधने (foundational tools) शून्यापासून पुन्हा तयार करता.

आधुनिक साधने गुंतागुंत लपवून ठेवतात. हा दृष्टिकोन ते स्तर काढून टाकतो. इंजिनिअर्स दररोज ज्या वास्तविक समस्या सोडवतात, त्यांचा तुम्हाला सामना करावा लागतो.

तुम्ही हे का केले पाहिजे:

• सखोल समज: साधने का अस्तित्वात आहेत आणि त्यामध्ये कोणते तडजोड (trade-offs) केल्या जातात, हे तुम्ही शिकता. • समस्या निवारण: तुम्ही डिझाइनमधील आव्हानांचा सामना करता, ज्यामुळे तुमची आर्किटेक्चरल विचार करण्याची क्षमता विकसित होते. • उत्तम डीबगिंग: जेव्हा कोडमध्ये त्रुटी येते, तेव्हा तुम्हाला नेमके कुठे पाहायचे आहे हे माहित असते कारण तुम्हाला त्यातील अंतर्गत कार्यपद्धती माहित असते. • करिअरमधील प्रगती: जे उमेदवार एखाद्या टूलच्या मागे असलेले 'कसे' आणि 'का' स्पष्ट करू शकतात, त्यांना मुलाखतकार अधिक महत्त्व देतात.

छोट्या गोष्टींपासून सुरुवात करा. तुम्ही वारंवार वापरता अशा एखाद्या गोष्टीची निवड करा.

तुमच्या पहिल्या प्रोजेक्टसाठी काही कल्पना:

प्रोडक्शन टूल बनवण्याचा प्रयत्न करू नका. सध्या सुरक्षा किंवा वेगाची काळजी करू नका. मुख्य लॉजिकवर (core logic) लक्ष केंद्रित करा.

या पायऱ्या फॉलो करा:

  1. वास्तविक टूलवर संशोधन करा. डिझाइन डॉक्युमेंट्स वाचा आणि ओपन-सोर्स कोड पहा.
  2. मुख्य भाग ओळखा. एका web server ला sockets, एक parser आणि प्रतिसाद (responses) पाठवण्याची पद्धत आवश्यक असते.
  3. किमान वैशिष्ट्यांचा संच (minimum feature set) निश्चित करा. जर तुम्ही URL shortener बनवत असाल, तर मॅपिंग आणि रिडायरेक्टिंगवर लक्ष केंद्रित करा. सध्या युजर अकाउंट्स आणि ॲनालिटिक्स वगळा.

तुम्हाला माहित असलेली किंवा शिकण्याची इच्छा असलेली भाषा निवडा. ध्येय लॉजिक आहे, सिंटॅक्स (syntax) नाही.

Source: https://dev.to/kelvin_kariuki_20f4bec616/master-programming-by-recreating-your-favorite-technologies-from-scratch-21b7