இந்த API-யை தான் பயன்படுத்தணும்? சரி, பாருங்க என்ன பண்ணறேன்!
நம்ம ஊர்ல "நம்ம கையில இருக்குறத தான் போதும், போய் வேற ஏதாவது கேக்க வேண்டாம்"னு சொல்லுறவர்கள் எல்லா துறையிலும் இருக்காங்க. ஆனா software வேலைக்கு வந்தா, backend-frontend குழுக்கள் ரொம்பவே ஜாதி பேத பாக்குற மாதிரி தான்! இதுல, ஒரு API-யை சுற்றி நடந்த சுவாரஸ்யமான சம்பவத்தை பார்த்தா, நம்ம ஊரு IT பசங்க நேரில் நடந்த மாதிரி தான் இருக்கும்!
"Final"ன்னா என்ன? அப்புறம் ஏன் Update பண்ணறீங்க?
இந்தக் கதையின் நாயகன், 25 வருட அனுபவமுள்ள ஒரு programmer. அவரும் அவருடைய frontend குழுவும், பத்து வருடம் முன்னாடி ஒரு பெரிய project-க்கு UI மற்றும் orchestration service எழுதனாங்க. வேலை ஆரம்பிக்கறதற்குள்ள, backend குழு ஒரு API-யை "இதுதான் final version, இதுல தான் வேலை செய்யணும்"னு கையில கொடுத்தாங்க.
ஆனா அந்த API-யில், UI-க்கு தேவையான தரவுகளோ, field-களோ எதுவும் இல்லை! Design-ல் சொன்ன requirements-க்கு 0% கூட data கிடையாது. Backend குழுவை சந்திச்சு, "இதுல இந்த fields எல்லாம் வேணும்"னு சொன்னா, "Comments time 6 மாதம் முன்னாடி முடிஞ்சு, இப்போ எதுவும் மாற்ற முடியாது"னு சும்மா kattaiya சொல்லிவிட்டாங்க. (நம்ம ஊர்ல தெருவில் தண்ணீர் வரும்போது 'கடைசில நீர் வந்துச்சு, இனிமேல் கேக்காதீங்க'னு பஞ்சாயத்து மண்டபம் மாதிரி!)
இதுக்கெல்லாம் மேல, அந்த comments time முடிஞ்சது, frontend குழு project-ஐ பற்றி கேள்வி கேட்டதற்கும் முன்னாடி! ஆனாலும், backend குழு "இல்லை"ன்னு தைரியமா சொன்னாங்க.
Notes Field-ல் கலைஞர்-க்கேடும் குறிப்பு!
என்ன பண்ணுறதுனு குழு அங்கங்கே தலை பிடிச்சு இருக்காங்க. அப்போ, ஒரு சின்ன (ஆனா பெரிய) விஷயம் கண்ணில் பட்டுச்சு - அந்த API-யில் "notes"னு ஒரு freeform field. எதுக்கு உபயோகமோ தெரியல, ஆனா அது மட்டும் கிடைச்சு இருக்கு.
அதுல தான் குறிப்பு! எல்லா தேவையான data-வும் JSON encode பண்ணி, அந்த notes field-ல் ஒட்டிக்க, backend-frontend இடையிலேயே ஒரு ரகசிய வழியில தரவு போக்க ஆரம்பிச்சாங்க. மேலாளர் கூட "வேற வழி இல்ல, பண்ணுங்க"னு ஒப்புதல் குடுத்தாராம்.
இதெல்லாம் நடக்கும்போது, backend குழுவுக்கு இந்த செய்தி மேல நிலைவரிசையில் போய்ச் சேர்ந்தது. "Final"னு சொன்ன API-யை இப்படி பயங்கரமா misuse பண்ணுறாங்கன்னு மேலாளர்களுக்கு தெரிய வந்ததும், backend குழு திடீர்னு "API-க்கு என்ன fields வேணும்னு சொல்லுங்க; மறுபடியும் review பண்ண போறோம்"னு வந்தாங்க!
நம்ம ஊர்ல, 'கூடம் முடிஞ்சதும் ஆளு ஓடிப்போன மாதிரி', backend குழுவும் தங்களோட பிடிவாதத்தில இருந்து ஒதுங்கினாங்க.
காலம் கடந்த "Final" - ஆனா Update-க்கு நேரம் எப்போதும் இருக்கு!
இந்தக் கதையை படிச்ச Reddit வாசகர்கள் comments-ல கொஞ்சம் கலாய்ச்சும், கொஞ்சம் அனுபவமும் கலந்து எழுதினாங்க. ஒருத்தர் சொல்லுறாங்க: "யாராவது ஒரு system-க்கு 'final'ன்னு பெயர் வைச்சா, அது அடுத்த நாள் update ஆகும்!"
இன்னொருத்தர் (u/blind_ninja_guy) சொன்னது நம்ம ஊரு IT-யை perfectly explain பண்ணும்: "எங்க previous company-யில் 'final'ன்னு ஒன்றே இல்ல. எதுவும் 'deprecated' இல்லனா 'not yet complete'. Production-க்கு தேவையானது deprecated, management-க்கு production-க்கு வேண்டியது இன்னும் complete ஆகலை. Production-ready ஆனதும், அது deprecated!" — செம்ம காமெடி!
ஒருத்தர் (u/throwaway47138) சொன்ன அனுபவம்: "பழைய software-ஐ 2 வாரத்துல extend பண்ணலாம்; இல்லனா, scratch-ல இருந்து எழுதினா, அடுத்த தடவை extend பண்ண 2 மணி நேரம் போதும்!" — நம்ம ஊருலயே 'பழைய வீட்டில் புதுசு சேர்க்க முடியாது'ன்னு சொல்வாங்க, அது போல.
மற்றொரு commenter notes field-யை abuse பண்ணுவது பற்றி சொல்வது: "நானும் base64 encode, JSON encode பண்ணி, freeform field-ல் போடுவேன். இது company-யோடு bureaucracy-க்கு எதிரா போர் நடத்துறது மாதிரி தான்."
தமிழர் வேலைக்காரன் தந்திரமும், மேலாளரின் புத்திசாலித்தனமும்
இந்தக் கதையை நம்ம ஊரு IT office-களில் நடந்த சம்பவம்னு நினைச்சு பாருங்க. ஒரு form-ல் எல்லாருக்கும் "note" box மட்டும் பெரியது. நம்ம accounts பையன் தான், columns-ல தரவெல்லாம் போட முடியாத நேரம், அந்த note box-ல் எல்லா விபரங்களையும் ஒரு code-ஆ encode செய்து போட்டுடுவார். மேலாளர் கேட்டா, "Sir, form-ல் இடமில்லை, note-ல தான் போட்டேன்"னு சொல்லி தப்பிக்கவும் தெரியும்.
இதுவும் அதே மாதிரி தான்! System rigid-ஆ இருக்கும் போது, வேலைக்காரன் தந்திரமா யோசிச்சு, loophole-ஐ பயன்படுத்தி தான் பணத்தை ஓட்டிப்போடுவார். backend-frontend குழுக்களில் நடக்கும் இந்த petty politics நிகழ்வும் அந்த "vaathiyar vs. student" பாணியில தான்.
முடிவில் - உங்கள் அனுபவம் என்ன?
இந்த கதை நம்மையெல்லாம் சிரிக்க வைக்கும், சிந்திக்கவும் வைக்கும். எந்த system-யும் "final"ன்னு சொன்னாலும், அது அடுத்த நாளே update ஆகும்! மேலாளர்கள், குழுக்கள், policy-களும் எல்லாமே, நம்ம ஊரு சுடுகாடில் நடக்கும் விசாரணை மாதிரி தான் - எல்லாம் மறுபடியும் மாற்றம் அடையும்.
உங்க office-ல இப்படியொரு "notes field" creativity-யும், backend-frontend petty politics-யும் நடந்திருக்கா? உங்கள் அனுபவங்களை comments-ல் பகிர்ந்துங்கள்! நம்ம தமிழர் தந்திரம் எங்கும் shine ஆகணும்!
—
உங்களுக்கும், உங்கள் IT நண்பர்களுக்கும் இந்த கதையைக் forward பண்ணுங்க! இன்னும் அப்படிப்பட்ட சுவாரஸ்யமான IT கதை-களுக்கு நம்ம பக்கத்தைப் பின்தொடருங்கள்!
அசல் ரெடிட் பதிவு: Use the API as provided? Ok.