Thursday, October 9, 2014

ಅಂಕಣ ೩೪ : Soft Developer


ನೀವು ಬೆಂಗಳೂರಿನ ಯಾವುದಾದರೂ ರಸ್ತೆಯಲ್ಲಿ ನೋಡಿ, FLEX ಗಳಲ್ಲಿ villa  ಮತ್ತು apartment  ಗಳ ಜಾಹಿರಾತು ರಾರಾಜಿಸುತ್ತಿರುತ್ತವೆ. ಅದರ ಕೆಳಗೆ ದೊಡ್ಡ ದೊಡ್ಡ builders / developers ಹೆಸರುಗಳನ್ನೂ ಸಹ ಹಾಕಿರುತ್ತಾರೆ. ರಿಯಲ್ ಎಸ್ಟೇಟ್ developers ಮತ್ತು ನಮ್ಮ ಸಾಫ್ಟ್ ವೇರ್ developers ಮಧ್ಯೆ ಏನು ಸಂಭಂದ ಅನ್ಕೋಬೇಡಿ. ಒಂದು ಕಡೆ ಇಬ್ಬರಿಗೂ ಸಾಮ್ಯತೆ ಇದೆ, ಅವರು ದೊಡ್ಡ ದೊಡ್ಡ ಬಿಲ್ಡಿಂಗ್ ಗಳನ್ನ ಡೆವೆಲಪ್ ಮಾಡಿದರೆ ನಮ್ಮವರು ದೊಡ್ಡ ದೊಡ್ಡ ಸಾಫ್ಟ್ ವೇರ್ ಗಳಿಗೆ ಬೇಕಾದ ಕೋಡ್ ಗಳನ್ನ ಡೆವೆಲಪ್ ಮಾಡುತ್ತಾರೆ.
ಒಬ್ಬ ಸಾಫ್ಟ್ ವೇರ್ ಡೆವೆಲಪರ್ ಗೆ ಕೋಡ್  ಅಂದ್ರೆ ಸಾಕು ಪಂಚ ಪ್ರಾಣ. ತಮ್ಮ ತಮ್ಮ component ಅಥವಾ module ಗಳ ಬಗ್ಗೆ ಪ್ರತಿಯೊಬ್ಬ developer ಗೂ ಒಂದು ರೀತಿಯ ಅಭಿಮಾನ ವಿರುತ್ತದೆ. ಅದರ ಜೊತೆಗೆ "ಈ ಥರ ಯಾರಾದರೂ ಕೋಡ್ ಮಾಡುತ್ತಾರಾ? " ಅಂತ ಒಂದು ಸಣ್ಣ ದಾದ ಹಮ್ಮು ಬಿಮ್ಮು ಸಹ ಇರುತ್ತದೆ. ಇದಷ್ಟೇ ಅಲ್ಲ ಸಾಫ್ಟ್ ಲೋಕದಲ್ಲಿ ಡೆವೆಲಪರ್ ಅನ್ನುವ ಶಬ್ದಕ್ಕೆ  ಒಂದು ರೀತಿಯ ಸ್ಥಾನ ಮಾನವಿದೆ. ಡೆವೆಲಪರ್ ಗಳ ಕೆಲಸ ಅಷ್ಟು ಸುಲಭ ವಾದದ್ದು ಏನಲ್ಲ. ಸಾವಿರಾರು ಲೈನ್ ಗಳ ಕೋಡ್ ಗಳ ಮಧ್ಯೆ ತಮ್ಮನ್ನ  ತಾವು ತೊಡಗಿಸಿಕೊಂಡು ಕೆಲಸ ಮಾಡುವುದು ತುಂಬಾ ಗ್ರೇಟ್. ಅವರು ಸಹ ಕೋಡಿಂಗ್ ಎನ್ನುವ  ಪ್ರಪಂಚದಲ್ಲಿ ಮುಳುಗಿ ಹೋಗಿ ಬಿಟ್ಟಿರುತ್ತಾರೆ. ಅವರು ಬರೆದ code line ನಲ್ಲಿ ಏನಾದರೂ ಎಡವಟ್ಟಾದರೆ  ಅದಕ್ಕೆ ಅವರೇ ಜವಾಬ್ದಾರರು ಸಹ. ಕೆಲವೊಂದು ಸಮಯದಲ್ಲಿ  ಕೋಡ್ ನ behavior  ಹೆಚ್ಚು ಕಡಿಮೆ ಆದರೂ ಅದಕ್ಕಾಗಿ ಅವರು ಭಾರಿ ಬೆಲೆಯನ್ನೇ ಕಟ್ಟಬೇಕಾಗುತ್ತದೆ.





ಇನ್ನು ಇವರ ಕೆಲಸದ ವಿಷಯಕ್ಕೆ ಬಂದರೆ, ಎರಡು ರೀತಿ ಇರುತ್ತೆ. ಒಂದು ಮೊದಲಿಂದ ಶುರು ಮಾಡಿ ಕೋಡ್ ನ್ನು ಬರೆಯಬೇಕು, ಎರಡು ಯಾರೋ ಬರೆದು ಬಿಟ್ಟು ಹೋಗಿರುವ ಕೋಡನ್ನು ಪುನಃ ಹೊಸತನಕ್ಕೆ ತಕ್ಕಂತೆ ಬದಲಾಯಿಸಬೇಕು. ಮೊದಲನೆಯದು ಬಹಳಷ್ಟು ಜನ ಇಷ್ಟ ಪಡುತ್ತಾರೆ. ಆದರೆ ಎರಡನೆಯದು ಸ್ವಲ್ಪ ಕಷ್ಟದ ಕೆಲಸ. ಬೇರೊಬ್ಬ ವ್ಯಕ್ತಿ ಬರೆದ ಕೋಡನ್ನು  ಅರ್ಥ ಮಾಡಿಕೊಂಡು ಅದನ್ನು ಪುನಃ ಬದಲಿಸಬೇಕಂದರೆ, ಇದೊಂಥರ; " ಹೋಟೆಲಿನಲ್ಲಿ ಒಬ್ಬ ವ್ಯಕ್ತಿ ವೊಲೆಯ ಮೇಲೆ ಅನ್ನಕ್ಕಿಟ್ಟು  ತನ್ನ ಕೆಲಸಕ್ಕೆ ರಾಜಿನಾಮೆ ಕೊಟ್ಟು ಹೊರಟು ಬಿಡುತ್ತಾನೆ. ಹೊಸತಾಗಿ ಬಂದವನಿಗೆ ಹೋಟೆಲ್ ಓನರ್ ಹೇಳುತ್ತಾನೆ, " ಒಲೆಯ ಮೇಲೆ ಅನ್ನಕ್ಕಿ ಟ್ಟಾಗಿದೆ , ಅದನ್ನೇ ಪಲಾವ್ ಮಾಡಿಬಿಡು" ಅಂತ . ಅನ್ನಕ್ಕಿಟ್ಟು ಎಷ್ಟು ಹೊತ್ತಾಯ್ತು? ಅದೇನು ಹೊತ್ತಿದೆಯೊ? ನೀರಾಗಿದೆಯೋ? ಒಂದು ಗೊತ್ತಿರುವುದಿಲ್ಲ. ಪಲಾವ್ ಮಾಡಿ ಬಿಡು ಎಂದರೆ ಹೊಸತಾಗಿ ಬಂದಿರುವವನ ಪರಿಸ್ತಿತಿ ಹೇಗಿರಬೇಡ?
ಇನ್ನು defect ಗಳನ್ನ fix ಮಾಡಬೇಕಾದರೆ ಡೆವೆಲಪರ್ ಗಳು ಕಣ್ಣಲ್ಲಿ ಕಣ್ಣಿಟ್ಟು ಕೊಂಡು ಕೋಡನ್ನ debug ಮಾಡುತ್ತಾ ಕೂಡಬೇಕು. ಸಾವಿರಾರು ಲೈನ್ ಗಳ component ನಲ್ಲಿ defect ನ ಪತ್ತೆ ಹಚ್ಚುವುದು ಅಂದರೆ, 
" ಬೆಂಗಳೂರಿನ BMTC- 201 ಬಸ್ಸಿನಲ್ಲಿ ಕಳೆದು ಕೊಂಡ ಒಂದು ರುಪಾಯಿ ರುಪಾಯಿ coin ಹುಡುಕಿದಷ್ಟೇ ಸುಲಭ :)". 
ಇಷ್ಟಲ್ಲದೇ  ಹುಚ್ಚು ಹುಚ್ಚಾಗಿ ಆಡುವ component ಗಳನ್ನ ಸರಿಯಾದ ದಾರಿಯಲ್ಲಿ ತಂದು ನಿಲ್ಲಿಸಬೇಕು. ಕೊಟ್ಟಿರುವ functionality ಚೆನ್ನಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆಯೋ ಇಲ್ಲವೋ ಅನ್ನೋದನ್ನ ಪ್ರತಿ ಬಿಲ್ಡ್ ಗೂ ಚೆಕ್ ಮಾಡಬೇಕು. ಅಲ್ಲಲ್ಲಿ ಕೈ ಬಿಟ್ಟು ಹೋಗಿರುವ ಮತ್ತು ಹೋಗುತ್ತಿರುವ variable ಗಳನ್ನೂ ಲಗಾಮು ಹಾಕಿ ಒಂದು ಕಡೆಗೆ ಕೂಡಿಸಬೇಕು. ಇಷ್ಟೆಲ್ಲಾ ಆದಮೇಲೆ ಆ ಕೋಡ್ ತನಗೆ ಕೊಟ್ಟಿರುವ ಸಮಯದಲ್ಲೇ ತನ್ನ ಕೆಲಸ ಮುಗಿಸಬೇಕು. ಅದಕ್ಕಿಂತ ಹೆಚ್ಚಿಗೆ  ಟೈಮ್ ತಗೊಂಡ್ರೆ performance issue ಅಂತ ಹೇಳುತ್ತಾರೆ. ಅದಕ್ಕೆ ಪುನಃ ಸೋರಿ ಹೋಗುತ್ತಿರುವ memory leak ಎನ್ನುವ ಪೈಪ್ ಗಳಿಗೆ FIX IT ಹಚ್ಚಬೇಕು. ಕೆಲವೊಬ್ಬ ಡೆವೆಲಪರ್ಸ್ ಗಳಂತೂ ತಮ್ಮ component ಗಳನ್ನ ಅದೆಷ್ಟು ಹಚ್ಚಿಕೊಂಡು ಬಿಟ್ಟಿರುತ್ತಾರೆ ಅಂದರೆ, ತಮ್ಮ ಹೆಂಡತಿಗಿಂತಲೂ ಅವರು ತಮ್ಮ component ಗಳನ್ನೇ ಜಾಸ್ತಿ ಪ್ರಿತಿಸುತ್ತಿರುತ್ತಾರೆ. ಈಗ ಹೇಳಿ ಕೋಡಿಂಗ್ ಅಂದರೆ ಯಾವ ಬಿಲ್ಡಿಂಗ್ ಕಟ್ಟೋ ದಕ್ಕಿಂತಲೂ ಕಡಿಮೆ ಇಲ್ಲ ಅಲ್ಲವಾ ?
ಈಗ ನಿಮ್ಮದೊಂದು ಪ್ರಶ್ನೆ ಇರುತ್ತದೆ:
"ಇಷ್ಟೆಲ್ಲಾ ಕಾಳಜಿ ವಹಿಸಿ ಕೋಡ್ ಮಾಡಿದರೂ ಸಹ ಕೆಲವೊಂದು ಸಲ ತಪ್ಪಾದರೆ? ಆ ತಪ್ಪುಗಳನ್ನು  ಯಾರು ಪತ್ತೆ ಹಚ್ಚುತ್ತಾರೆ?" ಖಂಡಿತ ಇಂತಹ ತಪ್ಪುಗಳ ನ್ನೇ ಪತ್ತೆ ಹಚ್ಚಲು ಸಾಫ್ಟ್  ಲೋಕದಲ್ಲಿ ಒಂದು "Team" ಇರುತ್ತದೆ. ಅವರ  ಬಗ್ಗೆ ಮುಂದಿನ ವಾರ ನೋಡೋಣ!
ಈ ವಾರದ ಬಿಲ್ಡ್  ಲೇಬಲ್ :  ಮೊದಲ ಸಲ ಕೋಡ್ ಬರೆದು ಅದು ನಾವು ಹೇಳಿದ ರೀತಿಯಲ್ಲಿ ಕೆಲಸ ಮಾಡಿದಾಗ ಆಗುವ ಖುಷಿಯನ್ನು ಯಾವ ಡೆವೆಲಪರ್ ಕೂಡ ಅದನ್ನ ಮರೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ!

No comments:

Post a Comment