ನಾನು ಹಿಂದೆಂದಿಗಿಂತಲೂ ಕಡಿಮೆ ಸಮಯವನ್ನು ಕೋಡ್ ಬರೆಯಲು ಬಳಸುತ್ತಿದ್ದೇನೆ
ನಾನು ಹಿಂದೆಂದಿಗಿಂತಲೂ ಹೆಚ್ಚು ಸಾಫ್ಟ್ವೇರ್ ಅನ್ನು ನಿರ್ಮಿಸುತ್ತಿದ್ದೇನೆ.
AI ನನ್ನ ಇಂಜಿನಿಯರಿಂಗ್ ಕೆಲಸವನ್ನು ಕಡಿಮೆ ಮಾಡಲಿಲ್ಲ. ಬದಲಾಗಿ, ಇಂಜಿನಿಯರಿಂಗ್ ಎಂದರೆ ಹೇಗೆ ಎಂಬುದನ್ನೇ ಅದು ಬದಲಾಯಿಸಿತು.
ಐದು ವರ್ಷಗಳ ಹಿಂದೆ, ನಾನು ಉತ್ಪಾದಕತೆಯನ್ನು ಕೋಡ್ನ ಸಾಲುಗಳು ಅಥವಾ ಮರ್ಜ್ ಮಾಡಲಾದ ಪುಲ್ ರಿಕ್ವೆಸ್ಟ್ಗಳ (pull requests) ಮೂಲಕ ಅಳೆಯುತ್ತಿದ್ದೆ. ಹೆಚ್ಚು ಕೋಡ್ ಬರೆಯುವುದು ಎಂದರೆ ಹೆಚ್ಚು ಮೌಲ್ಯವನ್ನು ಸೃಷ್ಟಿಸುವುದು ಎಂದು ನಾನು ಭಾವಿಸಿದ್ದೆ. ನಾನು ತಪ್ಪಾಗಿದ್ದೆ. ಅದು ಕೇವಲ ಅಳೆಯಲು ಸುಲಭವಾದ ವಿಷಯವಾಗಿತ್ತು ಅಷ್ಟೆ.
ಇಂದು, ನನ್ನ ಕೆಲಸದ ದಿನವು ವಿಭಿನ್ನವಾಗಿದೆ. ನಾನು ಕೋಡ್ ಟೈಪ್ ಮಾಡಲು ಕಡಿಮೆ ಸಮಯವನ್ನು ಬಳಸುತ್ತಿದ್ದೇನೆ. ನಾನು ಹೆಚ್ಚು ಸಮಯವನ್ನು ಈ ಕೆಳಗಿನವುಗಳಿಗೆ ಬಳಸುತ್ತಿದ್ದೇನೆ:
• AI-ಸೃಷ್ಟಿಸಿದ ಕೋಡ್ ಅನ್ನು ಪರಿಶೀಲಿಸುವುದು (Reviewing) • ಸಿಸ್ಟಮ್ ಆರ್ಕಿಟೆಕ್ಚರ್ಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವುದು (Designing system architectures) • ವ್ಯವಹಾರದ ನಿಯಮಗಳನ್ನು (business rules) ವ್ಯಾಖ್ಯಾನಿಸುವುದು • ಡೇಟಾ ಮಾಡೆಲಿಂಗ್ ಮಾಡುವುದು • ಕಲ್ಪನೆಗಳನ್ನು (assumptions) ದೃಢೀಕರಿಸುವುದು • ಇವ್ಯಾಲ್ಯೂಯೇಶನ್ ಪೈಪ್ಲೈನ್ಗಳನ್ನು (evaluation pipelines) ರಚಿಸುವುದು
ಸಾಫ್ಟ್ವೇರ್ನಲ್ಲಿ ಅಡಚಣೆಯು (bottleneck) ಎಂದಿಗೂ ಟೈಪಿಂಗ್ ವೇಗವಾಗಿರಲಿಲ್ಲ. ಅಡಚಣೆಯು ತಿಳುವಳಿಕೆಯಲ್ಲಿದೆ (understanding).
ನೀವು ಬಳಕೆದಾರರು, ವ್ಯವಹಾರಗಳು, ಸಿಸ್ಟಮ್ಗಳು ಮತ್ತು ಟ್ರೇಡ್-ಆಫ್ಗಳನ್ನು (trade-offs) ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲೇಬೇಕು. ಈ ನಿರ್ಧಾರಗಳೇ ಸಾಫ್ಟ್ವೇರ್ ಯಶಸ್ವಿಯಾಗುತ್ತದೆಯೇ ಅಥವಾ ಇಲ್ಲವೇ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತವೆ.
ಕೋಡ್ ಎಂಬುದು ಒಂದು ಔಟ್ಪುಟ್ (output). ಇಂಜಿನಿಯರಿಂಗ್ ಎಂಬುದು ನಿರ್ಧಾರ ತೆಗೆದುಕೊಳ್ಳುವ ಪ್ರಕ್ರಿಯೆ.
AI ಅನುಷ್ಠಾನದಲ್ಲಿ (implementation) ಅದ್ಭುತವಾಗಿದೆ. ಆದರೆ ಇದು ಈ ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರಿಸಲಾರದು:
• ಈ ಸರ್ವಿಸ್ ಈ ಡೇಟಾವನ್ನು ಹೊಂದಿರಬೇಕೇ? • ವ್ಯಾಲಿಡೇಶನ್ (validation) ಎಲ್ಲಿ ನಡೆಯಬೇಕು? • ವೈಫಲ್ಯಗಳಿಂದ ನಾವು ಹೇಗೆ ಚೇತರಿಸಿಕೊಳ್ಳಬೇಕು? • ಸ್ವಯಂಚಾಲಿತ ನಿರ್ಧಾರಗಳನ್ನು ನಾವು ಹೇಗೆ ಆಡಿಟ್ (audit) ಮಾಡಬೇಕು?
AI ಕೇವಲ ಅಡಚಣೆಗಳನ್ನು (friction) ಹೋಗಲಾಡಿಸುತ್ತಿದೆಯೇ ಹೊರತು ಇಂಜಿನಿಯರ್ಗಳನ್ನು ಅಲ್ಲ. ಇದು ಸೀರಿಯಲೈಸರ್ಗಳು (serializers) ಅಥವಾ ಮೈಗ್ರೇಷನ್ಗಳನ್ನು (migrations) ಬರೆಯುವಂತಹ ಪುನರಾವರ್ತಿತ ಕೆಲಸಗಳನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ. ಇದು ಪರಿಹಾರಗಳನ್ನು ಸಿಂಟ್ಯಾಕ್ಸ್ (syntax) ರೂಪಕ್ಕೆ ತರಲು ಬದಲು ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸಲು ನಿಮಗೆ ಅವಕಾಶ ಮಾಡಿಕೊಡುತ್ತದೆ.
ನಾನು ಇತ್ತೀಚೆಗೆ ಒಂದು Transaction Intelligence System ಅನ್ನು ನಿರ್ಮಿಸಿದೆ. AI ಮಾಡೆಲ್ ಕಷ್ಟದ ಭಾಗ ಎಂದು ನಾನು ಭಾವಿಸಿದ್ದೆ. ನಾನು ತಪ್ಪಾಗಿದ್ದೆ.
ಕಷ್ಟದ ಕೆಲಸವೆಂದರೆ:
• ಡೇಟಾ ಸ್ಟ್ರಕ್ಚರ್ಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸುವುದು • ಸಿಂಥೆಟಿಕ್ ಡೇಟಾಸೆಟ್ಗಳನ್ನು (synthetic datasets) ರಚಿಸುವುದು • ಬಿಸಿನೆಸ್ ಟ್ಯಾಕ್ಸಾನಮಿಗಳನ್ನು (business taxonomies) ವ್ಯಾಖ್ಯಾನಿಸುವುದು • ಎಂಟಿಟಿ ರೆಸಲ್ಯೂಶನ್ ಪೈಪ್ಲೈನ್ಗಳನ್ನು (entity resolution pipelines) ನಿರ್ಮಿಸುವುದು
AI ಕೋಡಿಂಗ್ ಅನ್ನು ವೇಗಗೊಳಿಸಿತು, ಆದರೆ ವ್ಯವಹಾರವನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವ ಅಗತ್ಯವನ್ನು ಅದು ತೆಗೆದುಹಾಕಲಿಲ್ಲ.
ಸಾಫ್ಟ್ವೇರ್ ಸೃಷ್ಟಿಸುವುದು ಈಗ ಅಗ್ಗವಾಗಿದೆ. ಸಂಕೀರ್ಣತೆಯನ್ನು (complexity) ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು ಇಂದಿಗೂ ದುಬಾರಿಯಾಗಿದೆ.
ಬರೆಯದಿದ್ದರೂ ಇರುವ ವಿಷಯಗಳನ್ನು ಅರ್ಥೈಸಿಕೊಳ್ಳುವುದೇ ದೊಡ್ಡ ಸವಾಲು. ನೀವು ಅಡಗಿರುವ ವ್ಯವಹಾರದ ನಿಯಮಗಳು, ನಿಯಂತ್ರಕ ನಿರ್ಬಂಧಗಳು (regulatory constraints) ಮತ್ತು ಭದ್ರತಾ ಅಗತ್ಯಗಳನ್ನು ಕಂಡುಕೊಳ್ಳಬೇಕು. ಇವು ಸಂಭಾಷಣೆಗಳು ಮತ್ತು ಅನುಭವದಲ್ಲಿ ಇರುತ್ತವೆ, ದಾಖಲೆಗಳಲ್ಲಿ (documentation) ಅಲ್ಲ. ಪ್ರಾತಿನಿಧ್ಯ ಮಾಡದ ಜ್ಞಾನವನ್ನು ಯಾವುದೇ ಮಾಡೆಲ್ ಅಂದಾಜಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.
AI ಉತ್ತಮ ಆರ್ಕಿಟೆಕ್ಚರ್ಗೆ ಪ್ರತಿಫಲ ನೀಡುತ್ತದೆ. ಅದು ಅದನ್ನು ಬದಲಾಯಿಸುವುದಿಲ್ಲ.
ನಿಮ್ಮ ಸಿಸ್ಟಮ್ನಲ್ಲಿ ಸ್ಪಷ್ಟವಾದ ಮಾಲೀಕತ್ವ (ownership) ಮತ್ತು ಮಾಡ್ಯುಲರ್ ಸರ್ವಿಸ್ಗಳಿದ್ದರೆ, AI ಹೆಚ್ಚು ಉತ್ಪಾದಕವಾಗುತ್ತದೆ. ನಿಮ್ಮ ಅಡಿಪಾಯ ದುರ್ಬಲವಾಗಿದ್ದರೆ, AI ಕೇವಲ ಸಂಕೀರ್ಣತೆಯನ್ನು ವೇಗವಾಗಿ ಸೃಷ್ಟಿಸುತ್ತದೆ.
ನಾನು ಇಂಜಿನಿಯರಿಂಗ್ ಮಾಡುವುದನ್ನು ನಿಲ್ಲಿಸಿಲ್ಲ. ಬದಲಾಗಿ, ನಾನು ಉನ್ನತ ಮಟ್ಟದಲ್ಲಿ ಇಂಜಿನಿಯರಿಂಗ್ ಮಾಡಲು ಪ್ರಾರಂಭಿಸಿದ್ದೇನೆ.
ಟೈಪ್ ಮಾಡಲು ಕಡಿಮೆ ಸಮಯ. ವಿನ್ಯಾಸಗೊಳಿಸಲು ಹೆಚ್ಚು ಸಮಯ. ಸಿಂಟ್ಯಾಕ್ಸ್ ಡಿಬಗ್ ಮಾಡಲು ಕಡಿಮೆ ಸಮಯ. ಕಲ್ಪನೆಗಳನ್ನು ದೃಢೀಕರಿಸಲು ಹೆಚ್ಚು ಸಮಯ.
ವೃತ್ತಿಯು ಈ ದಿಕ್ಕಿನಲ್ಲೇ ಸಾಗುತ್ತಿದೆ.
Source: https://dev.to/uigerhana/i-spend-less-time-writing-code-than-ever-before-395b
Optional learning community: https://t.me/GyaanSetuAi
