2 पॉइंट द्वारा GN⁺ 2024-05-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • macOS ऐप्स से जीविका चलाने वाले एक developer ने बार-बार आने वाली नकारात्मक मांगों और ऑनलाइन काम के अकेलेपन से बचने के लिए हाथ से की जाने वाली वुडवर्किंग को मानसिक escape के रूप में अपनाया
  • Docker CLI issue पर Eric Diven की टिप्पणी developers को इसलिए relatable लगी, क्योंकि software work अक्सर scope से बाहर की मांगों और अंतहीन abstract समस्याओं में बदल जाता है
  • पहला project, magnets वाला chessboard, आगे Kaval बनाना, bedside table, laptop bed table, bookshelf, window bench और log coffee table जैसे रोज़मर्रा के woodworking projects तक पहुँचा
  • सस्ते tools और उठाकर लाई गई लकड़ी, लंबे screws, sandpaper, hand plane और drill जैसे सीमित tools से भी काम चलता रहा; गलतियाँ कभी-कभी cable holes, cup holders और decoration जैसी features में बदल गईं
  • burnout, AI/ML-केंद्रित tech माहौल, पीठ और उंगलियों के दर्द, और online labor की non-material nature से दूर होकर physical output बनाना अधिक सीधी संतुष्टि देता है

जब developer को लगता है कि “वुडवर्किंग में भाग जाना है”

  • Docker CLI issue पर छोड़ी गई Eric Diven की comment को 9,000 से अधिक reactions मिले, और अधिकतर positive थे
    • उसका सार यह था कि अब software नहीं बनाना, बल्कि लकड़ी से furniture बनाना है
    • इसमें यह मज़ाक भी था कि लंबे working hours, कम pay, और table saw से उंगली खोने की संभावना भले हो, लेकिन कोई यह मांग नहीं करेगा कि “क्या DBMS में RSS feed जोड़ सकते हो?”
  • बहुत से developers ने कभी न कभी “laptop को खिड़की से बाहर फेंककर farm शुरू कर दूँगा” जैसी बात कही है
  • एक पुराने team leader ने भी कहा था कि protobuf पिछले 3 साल से जिस data को ठीक से deserialize कर रहा था, अचानक क्यों नहीं कर पा रहा, यह पता लगाने के बजाय वह bar चलाकर customers की बातें सुनना चाहेंगे
  • Software development कभी-कभी package.json conflicts हल करने जैसी समस्याओं से जिंदगी भर बचना चाहने जितना बेतुका लगने लगता है

बेअर्थ काम सहन करना मुश्किल क्यों था

  • बचपन और university से पहले का समय ज्यादातर उन कामों से भरा था जिन्हें करने का मन नहीं था
    • school दिन में 6 घंटे का था, और 5वीं के बाद commute में 1–2 घंटे और लगते थे
    • school के बाद माता-पिता के farming work में मदद करनी पड़ती थी, खेतों या 100m लंबे greenhouse में काम करते हुए
    • बचा हुआ समय देर रात guitar practice, bodybuilding, poetry लिखने और graphite portraits बनाने में जाता था
  • university में माता-पिता से सैकड़ों km दूर जाकर freedom मिलने के बाद, बेअर्थ लगने वाले काम जारी रखना मुश्किल हो गया
    • class में fail होना स्वीकार्य लगने लगा, और अगर कोई job उपयोगी नहीं लगती थी तो उसे छोड़ने में भी खास अफसोस नहीं होता था
    • bureaucracy ऐसी चीज़ बन गई जिससे बचना चाहिए
  • पिछली job में जब Agile meetings इतनी absurd हो गईं कि JIRA tasks का समय T-shirt sizes में estimate करने को कहा जाने लगा, तो stable और अच्छी pay वाली job छोड़कर macOS apps से कमाई करने का फैसला किया
    • उस समय उनके पास सिर्फ एक app था, वह latest Apple Silicon chips पर भी नहीं चलता था, और revenue 0 dollars था

पहला woodworking project: magnets वाला chessboard

  • पहला wooden work magnets वाला chessboard और pieces का set था
    • pieces सामान्य chess pieces जैसे नहीं दिखते थे
    • मकसद था कि बच्चा या dog table को धक्का दे तो भी pieces न बिखरें और magnets से अपनी जगह चिपके रहें
  • chessboard की शुरुआत सस्ती और भारी pine board से हुई
    • sandpaper से edges round किए गए, और dark squares paint करने में पत्नी ने मदद की
    • coloring के लिए wooden floor marker इस्तेमाल किया गया
  • YouTube पर अधिकांश chessboard making अलग-अलग color की लकड़ी के टुकड़ों को बारी-बारी glue करने की technique दिखाती है, लेकिन वैसी skill और tools मौजूद नहीं थे
  • neodymium magnets लगाने के लिए board के नीचे से holes drill किए गए, और ऊपर की सतह पार न हो जाए इसलिए जितना हो सके पास तक जाना पड़ा
    • दो squares खराब हो गए, लेकिन wood putty से भर दिए गए
  • pieces कई दिनों तक balcony में कम sharp knife और Dremel से carve किए गए
    • inspiration modernist chess sets से था, और geometric shapes की वजह से carving कम करनी पड़ी
    • craft store से खरीदे गए wooden spheres और cubes pawns और rooks में इस्तेमाल हुए, बाकी rectangular और conical wood pieces से काटे गए

Kaval बनाना और “universal flute” experiment

  • Romanian band Subcarpați ने free “अपना Kaval खुद बनाएं” class रखी, और एक flute craftsman ने एक हफ्ते तक basics सिखाए
  • Kaval या “caval” पाँच holes वाली लंबी flute है
    • इसका lower register साफ सुनाई देता है, और छोटे shepherd flutes की पतली, bright sound के उलट इसमें दूर से आती हुई उदास tone होती है
  • Kaval making पर internet पर बहुत कम information है, इसलिए programming के familiar world की तुलना में यह लगभग रहस्यमय लगा
  • class में दो-दो लोगों की teams बनाकर, power tools के बिना सब कुछ हाथ से किया गया
    • 70cm alder branch के आर-पार लंबा hole भी hand drill से बनाया गया, और हाथ आराम देने के लिए बारी-बारी काम किया गया
  • craftsman बचपन से shepherd रहे थे, और trial-and-error से अच्छी sound वाली flute बनाना और tuning holes की positions समझी थीं
    • हालांकि उन्हें यह नहीं पता था कि हर scale के लिए खास distance और length क्यों चाहिए
  • कई scales के songs पर play करने के लिए A minor, B minor, C minor आदि scale-specific Kaval चाहिए, यानी कुल 12 अलग-अलग lengths
  • flute को open pipe या closed pipe मानकर, vibrating air के nodes और antinodes को holes की positions से match होना चाहिए—इस तरह flute के principles पढ़े जा रहे हैं
    • goal ऐसा universal Kaval है जिसे किसी भी scale में play किया जा सके

software requirements से front door के बाहर woodworking तक

  • पिछले 10 साल rented apartments में रहे, और आमतौर पर 3rd–4th floor पर होने से yard तक access नहीं था
    • बचपन में 2000m² के yard में रहते और खेलते थे, और ऐसी सड़कें सामान्य थीं जहाँ noisy cars से ज्यादा धीमी horse carts होती थीं
  • इस साल छोटे garden और paved yard वाले rented house में shift होने के बाद, environment change का mind और behavior पर असर महसूस हुआ
  • macOS apps development से livelihood चलाते हुए कई negative और demanding messages मिलते हैं
    • apartment के बाहर car noise, smell और privacy की कमी के कारण रहना कठिन था, और walk से शांत होने के बजाय feedback का तुरंत जवाब देते हुए देर रात तक काम चलता रहता था
  • हाल में apps पर आने वाली demands अक्सर scope से बाहर थीं
    • Lunar monitor brightness control करने वाला app है, लेकिन पूछा गया कि यह किसी अजीब sound device का volume क्यों control नहीं करता
    • यह भी पूछा गया कि क्या macOS app को Windows पर काम न करने के लिए “disable” किया गया है
    • Clop copied images, videos और PDFs को automatically compress करने वाला app है, लेकिन demand आई कि text को compress करके clipboard में copy किया जाए
  • इस बार front door से बाहर निकलकर beech branch उठाई, और wife की बात याद आई कि move के दौरान French rolling pin नहीं ला पाए; फिर pocket knife से एक साधारण rolling pin carve कर दी
    • messages को थोड़ी देर ignore करके हाथों से कुछ बनाना liberating लगा
  • यह समझा जा सकता है कि users को शायद यह नहीं पता हो कि app कहाँ चलेगा—macOS, Windows, Linux—इसके लिए कोई checkbox नहीं होता
    • अगर app audio volume या compression से थोड़ा जुड़ा है, तो कुछ लोग सोचते हैं कि उससे related हर काम उसे करना चाहिए
    • लेकिन negative tone, repeated messages, और email, Discord, Twitter, contact forms जैसे हर channel से लगातार follow-up ignore करना मुश्किल बना देते हैं
  • tech माहौल में AI और machine learning की गंध बहुत तेज महसूस होने लगी, और ऐसा लगने लगा कि हर 10 articles में लगभग 8 नए LLM या image generation model पर हैं, तो new tech में interest घट गया
    • लकड़ी की खुशबू बेहतर लगने लगी

software developer के privilege और burnout

  • अपना time कैसे spend करना है, यह चुन पाना privilege है
    • सही समय पर computer science university चुनने की किस्मत भी रही, और पिछले 10 सालों में बड़ा semi-passive income source बना
    • मेहनत की, लेकिन luck ने भी बड़ी भूमिका निभाई
  • unfinished state सहन न कर पाने की tendency की वजह से exhaustion में भी काम आगे धकेला जाता है
    • meals छोड़कर, household chores miss करके, आसपास के लोगों को irritate करके भी लगता है कि “बस यह छोटी चीज ठीक कर दूँ”
    • असल deadline न होने और अभी इसे आधा-अधूरा छोड़ देने में कोई समस्या न होने का पता होते हुए भी रुकना मुश्किल होता है
  • privilege होने से bad feelings या burnout गायब नहीं हो जाते
    • इंसान current state का आदी हो जाता है, और उससे थोड़ा खराब कुछ भी होने पर complain करता है
  • यह धुंधला-सा एहसास भी है कि current software development जल्द ही गायब हो सकती है
    • अगले साल replace हो जाने वाली नई technology लगातार सीखते-सीखते थकान होती है
    • लंबे समय तक बैठकर typing से पैदा हुए back pain और chronic finger pain से भी थकान है
  • indie development जैसा काम, जिसमें सब कुछ online, immaterial, fleeting और lonely लगता है, उससे थकान है

सस्ते tools और free wood से बना furniture

  • bedside table

    • rented house छोटा था और bedroom upstairs था, लेकिन रात में dog को तीन बार बाहर निकालना पड़ता था, इसलिए stairs चढ़ना-उतरना पसंद नहीं था
    • downstairs के एक room को bedroom बनाने का फैसला किया, और bed जितना महंगा bedside table खरीदने के बजाय खुद बनाने का निर्णय लिया
    • walk के दौरान पास के पेड़ों की pruning देखी और road side पर पड़ी white birch branches उठा लाए
    • बची हुई छोटी pine panel को tabletop बनाया, और 4 branches को staggered तरीके से लगाकर stable support बनाया
    • low-grit sandpaper से edges round किए, और mask न होने के कारण बहुत sawdust निगल ली
    • legs डगमगाईं, इसलिए 3mm holes drill करके florist wire से बांधकर secure किया
  • laptop bed table

    • bedside table देखकर एक friend ने कहा कि उसे bed पर use करने के लिए laptop table चाहिए, तो बची हुई beech desk top का हिस्सा काटकर बनाया गया
    • finished table में charging cable hole, coffee cup holder, और थोड़ा shocked face जैसा दिखने वाला element है
    • असल में यह गलत drill किए गए holes और कई बार गिराने के निशानों को features जैसा छिपाने का परिणाम है
    • मूल plan hidden brass cylindrical hinges लगाकर foldable बनाने का था
    • hole size और position ठीक से match न होने से fail हो गया
    • आखिर में side panels glue किए और हर side में 2 long screws लगाए, फिर glue gun से screw holes भर दिए ताकि वे आँखों जैसे दिखें
    • dovetail जैसी wood joinery की जगह screws और glue इस्तेमाल करने की वजह यह थी कि ऐसी joinery होती भी है, यह पता नहीं था
    • simple hinges भी align नहीं हो पाए, इसलिए अगर wood joinery सीखने की कोशिश की होती तो शायद यह table कभी complete नहीं होती
    • जैसे ripgrep न जानने वाले coworker से “बस ripgrep क्यों नहीं use करते?” कहने का अनुभव था, वैसे ही tools न जानने पर suboptimal choices होती हैं
    • wood joints comparison video के मुताबिक 5cm screw 50kg से ज्यादा force सह सकता है, और यहाँ longer screws इस्तेमाल हुए, इसलिए 3kg laptop आसानी से टिक जाएगा
    • cork pocket जोड़कर laptop, tablet, phone आदि रखने की जगह बनाई; inside को microfiber cloth से reinforce किया और बचे alpaca wool से wood में सी दिया
  • बिना books वाली bookshelf

    • 2020 pandemic के दौरान apartment में बंद रहते हुए नए hobbies शुरू करने के लिए बहुत सामान खरीदा गया, और बाद के वर्षों में unused boxes जमा होते गए
    • unused staircase space में boxes रखने और उनके size की बड़ी bookshelf बनाने से clutter कम हो सकता है, ऐसा लगा
    • पर्याप्त बड़ी bookshelf सस्ते में नहीं मिली, इसलिए Freeform में कुछ lines draw करके dimensions नापे, और large pine boards व long screws order किए
    • indoor sawdust से बचने के लिए 30-dollar का सबसे सस्ता portable vise workbench भी order किया
    • Lidl से पहले खरीदी Japanese pull saw से shelves काटे
    • skill के बिना लंबी boards को हाथ से saw करने पर edges टेढ़े हो जाते हैं, और 5 boards stack करके काटने पर भी वे टेढ़े ही रहे
    • wife ने measurements, hole positions और screw placement में काफी मदद की, और दो दिनों तक long screws लगाकर desired result मिला
    • long screws लगाना उम्मीद से ज्यादा कठिन था और कई दिनों तक right arm में दर्द रहा

workbench और tools

  • current workbench वही 30-dollar vise workbench है जो bookshelf के लिए खरीदा था, जिसमें पुराने coding desk का tabletop सामने की तरफ attach किया गया है
  • tools में सबसे सस्ता 8-dollar block plane, पुराने घर के shed में मिला unnamed red plane, rusty और partly broken axe, folding Japanese pull saw, sanding grip block, Osmo Polyx oil, Beavercraft carving knife set, combination square और Kaval के लिए alder branches शामिल हैं
  • कुछ unnamed chisels और card scraper भी हैं, लेकिन card scraper sharpen करना अभी मुश्किल लगता है
  • power tools में Makita drill, random orbital sander, पुराने shed में मिला circular saw, और कभी-कभार इस्तेमाल होने वाला Dremel हैं
    • drill और sander पर थोड़ा पैसा खर्च किया गया
    • Dremel का power cord पसंद नहीं, इसलिए उसे अक्सर इस्तेमाल नहीं करते; battery tools पसंद हैं

window bench और log coffee table

  • dog के लिए window extension और bench

    • dog Cora को window पर बैठकर गुजरते बुजुर्गों पर गुर्राना और बच्चों पर भौंकना पसंद है
    • windowsill पर्याप्त चौड़ी नहीं थी, इसलिए उसकी legs radiator पर “clang” की आवाज के साथ गिरती थीं; radiator के ऊपर pine boards की दो pieces जोड़कर window area बढ़ाया गया
    • इस process में पता चला कि hand plane कोई पुराना decorative tool नहीं, बल्कि sandpaper की कई sheets इस्तेमाल करने और sawdust inhaling के बजाय grain को smooth करने वाला practical tool है
    • heat निकल सके इसलिए Forstner bit से बड़े holes बनाए, लेकिन underside grain tear-out हो गया
    • solution यह है कि पहले 3–6mm छोटा hole center से आर-पार drill करें, फिर दोनों तरफ से Forstner bit आधा-आधा डालकर मिलाएं
    • Cora के साथ बैठने के लिए narrow bench भी बनाई
    • दो pine boards को side-by-side जोड़कर wide board बनाई, और पास की pruning से लाई गई thick cherry branches को legs बनाया
    • rustic look स्वीकार कर लिया, इसलिए finishing, holes भरने और proper wood drying पर ज्यादा मेहनत नहीं की
  • beech log coffee table

    • parents के घर जाने पर outdoors morning coffee रखने की जगह नहीं थी, इसलिए छोटा outdoor coffee table बनाने का मन हुआ
    • पास के neighbor के यहाँ हाल ही में काटे गए बड़े beech logs थे; एक खरीदना चाहा लेकिन neighbor ने पैसे लिए बिना ले जाने को कहा
    • parents के घर पर सामान्य tools नहीं थे, इसलिए मौके पर ही improvisation किया गया
    • father ने barbecue wood काटने वाला पुराना meat cleaver ढूँढा, उसे जितना हो सके sharpen किया, और hammer से blade spine पर burr बनाकर scraping के लिए इस्तेमाल किया
    • beech bark के नीचे smooth और hard था, इसलिए sanding बहुत कम चाहिए थी
    • father के electric plane से top को मोटे तौर पर flat किया और walnut oil से finish किया
    • green wood होने के कारण सूखते समय cracks और roughness आना तय था
    • top पर groove काटकर flat iron band लपेटा ताकि excessive movement कम हो
    • bottom को freely expand करने दिया गया, और summer में shape बदलता देखना है

orchard bench

  • wife के parents के orchard में लेटने लायक grass नहीं थी, और हर साल soil खोदने के बाद dry clods जैसी हालत में छोड़ दी जाती थी, यह ध्यान में आया
  • orchard के बाहर woodpile में एक पुराना और टूटा door था, जिसकी length और width bench के लिए सही थीं
  • door disassemble करते हुए बहुत nails निकाले गए, और दो long narrow boards, rotting wood का ढेर, और rusty nails की दो pockets बचीं
  • broken ends काटे, और craftsman के electric plane से gray old surface हटाकर fresh wood सामने लाया
    • कई holes और grooves होने से screwdriver पर sandpaper लपेटकर हाथ से scrape करना पड़ा
    • उम्मीद से कई दिन ज्यादा लगे
  • battery drill के लिए Velcro sandpaper attachment इस्तेमाल करके rotten sides को smooth किया और curved live edge बनाया
  • legs के लिए woodpile से thick branches ली गईं
    • axe से bark हटाई और चार corners पर screws से fix किया
    • केवल legs से wobble हो रहा था, इसलिए छोटी और पतली branches को legs और board के center के बीच जोड़कर side reinforcement किया
  • door में मौजूद diamond-shaped hole को dismantled shed से आए 4x4 lumber से भरा गया
    • नतीजतन bench में 5 legs हो गईं
    • इस leg को काटा नहीं गया, ऊपर निकलने दिया गया, फिर उसके ऊपर thick reclaimed board रखकर armrest, coffee table और cherries की bowl रखने की जगह के रूप में use किया गया
  • finish के लिए bench और legs के bottom को burn किया गया ताकि honey-brown color आए और water resistance बढ़े
    • father-in-law के shed में मिली wood lacquer की बहुत thin layer लगाई गई, और shiny wood पसंद नहीं है

छोटी woodworking चीजें और sharpening

  • water cup shelf

    • dining table space कम था, इसलिए water filter jug और cups रखने के लिए 2-tier shelf बनाई
    • यह confirm हुआ कि कुछ screws से भी बहुत strong fixing हो सकती है
  • Kaval stand

    • घर में tables और sofa पर Kaval इधर-उधर लुढ़कने की problem हल करने के लिए stand बनाया गया
    • लंबी पतली wooden boards को side-by-side जोड़कर बनाया, और sunflower oil से finish किया, जिससे golden-orange tone आया
    • अगर और flutes store करनी हों तो side में और boards जोड़कर expand किया जा सकता है
  • custom sharpening block

    • pocket knife, axe, plane blade, chisels आदि लगभग रोज sharpen करने पड़ते थे, इसलिए अपने लिए sharpening block बनाया
    • एक side पर 5-dollar की 600 grit diamond plate लगाई, दूसरी side पर 5-dollar leather strop लगाया
    • leather belt का piece भी इसी तरह इस्तेमाल हो सकता है
    • leather को ऊपर दो small screws से fix किया ताकि carving gouge जैसे flexible strop की जरूरत हो तो आसानी से निकाला जा सके
    • leather पर diamond paste लगाई, जो gem-cutting online stores में सस्ती मिलती है
    • knives के लिए बनी paste काफी महंगी होती है, लेकिन कारण साफ नहीं
    • 0.5-dollar green compound, यानी chromium oxide, भी stropping के लिए पर्याप्त अच्छा काम करता है
    • उससे diamond से भी smooth edge बन सकती है
    • हालांकि leather पर उसे अधिक बार फिर से लगाना पड़ता है, और same result पाने के लिए blade को ज्यादा passes देने पड़ते हैं
    • diamond ज्यादा तेजी से cut करता लगता है, पर बहुत ज्यादा नहीं
  • sharpening method का चुनाव

    • water stones, natural stones, ceramic stones, pull-through carbide sharpeners, electric belt sharpeners और wheel sharpeners सब इस्तेमाल किए गए
    • pull-through sharpeners और honing rod को छोड़कर, सही technique हो तो बाकी सभी अच्छे से काम करते हैं
    • diamond plate चुनने की वजह यह है कि यह सस्ती है, flat रहती है, maintenance नहीं चाहती, और किसी भी metal को abrade कर सकती है
    • leather strop के साथ यह सबसे simple sharpening method लगती है
    • sharpening tutorial के लिए OUTDOORS55 video recommend है, और microscope के नीचे अलग-अलग sharpening techniques blade पर क्या असर डालती हैं, देखने के लिए Science of Sharp blog उपयोगी है

1 टिप्पणियां

 
GN⁺ 2024-05-04
Hacker News टिप्पणियां
  • सॉफ्टवेयर डेवलपमेंट में काम करते हुए जिन परिचितों के पास रचनात्मक/क्राफ्ट वाली hobbies थीं, उनमें से ज़्यादातर ने प्रतिष्ठा और स्थिरता के कारण मशहूर बड़ी कंपनियां चुनीं, और अंत में अक्सर काम से संतुष्टि महसूस नहीं कर पाए
    अधिकांश बड़ी कंपनियां तब अच्छी जगह नहीं होतीं जब आप समस्याएं हल करना और कुछ बनाना चाहते हों। खासकर “enterprise” में software को cost center माना जाता है, इसलिए जितना कम हो उतना बेहतर समझा जाता है, और ऊपरी management को संभालने में लगने वाली मेहनत रचनात्मक लोगों की आत्मा को धीरे-धीरे खा जाती है
    मैं “बॉस/customer” से सीधे बात करने, उनकी समस्याएं हल करने, और अपनी skill की market value पाने की स्पष्टता चाहता हूं। मैं ऐसे दलदल में, जहां जिम्मेदारी तो नहीं लेकिन principal-agent problems भरे पड़े हैं, अपने हित के हिसाब से चलने वाले senior managers के लिए अंतहीन PowerPoint तैयार नहीं करना चाहता
    इसलिए मैं एक तेजी से बढ़ती छोटी tech company में बहुत संतुष्ट हूं, जहां customers और product के बारे में ईमानदारी से बात की जा सकती है। जानना चाहता हूं कि दूसरे लोग इस समस्या से कैसे निपटते हैं

    • कंपनी के आकार वाली abstraction से एक-दो स्तर नीचे उतरकर देखें, तो craft hobby linter की तानाशाही से बचने का विश्राम भी है
      आजकल कई programmers मानते हैं कि code जितना ज़्यादा एक जैसा दिखे, उतना बेहतर है। consistency अच्छी है, लेकिन उससे absolute होने की उम्मीद नहीं की जानी चाहिए
      programming में भी creativity की जगह होनी चाहिए, और कहां spaces और line breaks लगाए जाते हैं, यह code के किसी खास हिस्से के महत्व के बारे में सूक्ष्म लेकिन अहम संवाद कर सकता है। पिछले करीब 6 वर्षों में जिन जगहों पर काम किया, उनमें से अधिकतर tools को लेकर जुनूनी थीं, और छोटी-छोटी formatting rules तोड़ने पर pull request merge न हो सके, इतने सारे lint rules लगा दिए गए थे
      woodworking में बस बनाना होता है। मैं खुद woodworking नहीं करता, लेकिन मेरे माता-पिता दोनों करते हैं, और मुझे पता है कि वे अपना ज़्यादातर समय bicycle shed वाली बहस जैसे छोटे-मोटे विवादों या output को एक जैसा बनाने में नहीं लगाते। tools किसी चीज़ को हासिल करने में मदद करने के लिए होते हैं, कुछ भी न कर पाने से रोकने के लिए नहीं
      personal software projects में आप जैसा चाहें कर सकते हैं, लेकिन अंततः “इसे सही तरीके से करना ही होगा” वाली आधुनिक सनक और समय बर्बाद करने वाले tools का ढेर जोड़ने की इच्छा से सामना होता है। अगर आप उन्हें न जोड़कर code share करते हैं, तो अच्छी संभावना है कि कोई व्यक्ति पहले से ठीक चल रहे और गंभीर समस्या न रखने वाले software में ढेरों rules और bureaucracy जोड़ने की कोशिश करेगा
    • बड़ी company अच्छी इसलिए है कि आप high six-figure salary लेते हुए दिन में सिर्फ 4 घंटे काम कर सकते हैं, और बाकी समय woodworking, gardening, घर की remodeling, baking, exercise, reading वगैरह में लगा सकते हैं
    • मैं बहुत भाग्यशाली हूं। मैं बहुत छोटी software team में काम करता हूं, structure भी बहुत flat है, और boss मुझ पर काफी भरोसा करता है; उसने product stack के कई पुराने हिस्सों को मेरे judgment और language/tools के चुनाव से बदलने की जिम्मेदारी मुझे दी है
      interview के दौरान मैंने कहा था कि मेरा काम अनिवार्य रूप से customer value से जुड़ा होना चाहिए, इसे भी बहुत सराहा गया। customer value हमारे हर काम का ultimate goal है। मुझे customer feedback अक्सर मिलता है, लेकिन साथ ही मुझे customers से सीधे संपर्क या कंपनी की कहीं बड़ी field engineering/sales organization से सीधे टकराव से बचाने के लिए एक मजबूत communication firewall भी है
      मेरा काम मेरी creative और technical जरूरतों को पर्याप्त रूप से पूरा कर देता है, इसलिए काम के बाहर मैं बहुत programming या high-skill crafts नहीं करता
      जब मैं यह बात बताता हूं, तो कोई विश्वास नहीं करता। software industry low-trust management paradigm से बहुत गहराई तक दूषित है। महंगे management roles को justify करने के लिए विशाल hierarchies बनाना, और नतीजतन बेहतरीन programmers की efficiency और productivity घटाना, बहुत सामान्य मान लिया गया है
      मानो engineers पर भरोसा नहीं किया जा सकता कि वे स्वतंत्र रूप से फैसले लें, अपने काम को आगे बढ़ाने का schedule बनाएं, काम के हिसाब से tools चुनें, और customer value को ध्यान में रखते हुए काम करें
      शायद मैं ही exception हूं और engineers भरोसे के लायक नहीं हैं। अगर ऐसा है, तो यह समाज के लिए बहुत बड़ी समस्या है। मुझे इतना पता है कि हमारी software team बहुत अनोखे group interviews करती है, और वह तरीका दिखावेबाजों और अवसरवादियों को छांटने में काफी अच्छा है
    • छोटी कंपनियों में लंबा career बिताते हुए मैंने वही समस्या कई बार हल की है। लेकिन सबसे दर्दनाक हिस्सा वह नहीं है
      सच में चिढ़ाने वाली बात यह है कि पहले से हल की हुई समस्या को फिर से हल न कर पाना। किसी मोड़ पर आपको दूसरों को मनाना पड़ता है कि plan अच्छा है। नई team में आपका logic काम न करे, और आपको पता न हो कि पिछली बार सहमति हासिल करने की कुंजी क्या थी। या लंबे समय तक अपनी मर्जी से काम करते-करते आप किसी idea के पीछे के कुछ तर्क भूल भी सकते हैं
      expertise आखिरकार बौद्धिक प्रक्रिया को intuition में बदल देती है, ताकि आप तेज़ी से आगे बढ़ सकें। जब decision-making process सफलतापूर्वक आपके भीतर रच-बस जाती है, तो उसे फिर से बौद्धिक रूप से खोलकर समझाने वाला रास्ता बोझ बन जाता है
      हमारी industry के भीतर और बाहर, धुंधले ढंग से intellectual laziness वाले, मितव्ययिता नहीं बल्कि cheap thinking करने वाले, और नैतिक रूप से भी संदिग्ध लोग बहुत हैं, और उनका सामूहिक भार progress के खिलाफ resistance पैदा करता है
    • यह industry पर निर्भर करता है। मैं 10 साल से ज्यादा समय से iOS कर रहा हूं। यह बात सही है कि enterprise में लोगों को थका देने वाली अलग dynamics होती हैं, लेकिन retail sector की jobs में मुझे यह उतना नहीं लगता। वहां चीजें हमेशा fluid और बदलती रहती हैं
      फिर भी यह बहुत subjective बात है। middle age में आते हुए, मैं समझने लगा हूं कि समय के साथ perspective कैसे बदलता है। 20s वाला मैं हर 2–3 साल में नई job पर कूद गया होता। 40s वाला मैं work-life balance, stability, और बड़ी company में अधिक स्पष्ट तथा कभी-कभी अवसर देने वाले growth paths की value समझता हूं
      इस stage पर, मैं 60s के developers में कभी-कभी दिखने वाली जिद को पूरी तरह समझ तो नहीं पाता, लेकिन उनके विचारों को गलत भी नहीं मानता। जब spouse, family और mortgage की जिम्मेदारी हो, तो छोटी और agile company के संभावित फायदे corporate world में मिलने वाली राहत से आगे निकलना मुश्किल होता है
  • मुझे लगता है कि यह सब आखिरकार वही बात है जो Ted Kaczynski ने “Industrial Society and Its Future” में कही थी। खासकर वह हिस्सा कि “औद्योगिक क्रांति और उसके परिणाम मानव जाति के लिए आपदा थे”, क्योंकि आधुनिक औद्योगिक समाज में शारीरिक जरूरतें पूरी करने के लिए सिर्फ न्यूनतम मेहनत की जरूरत रह गई है
    मेरे हिसाब से आधुनिक दौर का लगभग हर काम, 99.999%, “प्रतिस्थानी गतिविधि” है। यानी ऐसी गतिविधि जो लोगों ने सिर्फ इसलिए बनाए गए कृत्रिम लक्ष्यों की ओर बनाई है ताकि उनके पास पीछा करने के लिए कोई लक्ष्य हो
    सॉफ्टवेयर डेवलपमेंट जैसे करियर में, या किसी भी आधुनिक नौकरी में, खालीपन और अपूर्णता महसूस होना कोई हैरानी की बात नहीं है। क्योंकि जिस ऊर्जा और भावनात्मक लगाव को मूल रूप से शारीरिक जरूरतें जुटाने में लगना चाहिए था, उसे हम ऐसे कामों में झोंकते हैं
    मुझे लगता है सॉफ्टवेयर डेवलपर्स के लिए यह समस्या खास तौर पर गंभीर है। काम बहुत abstract है और physical world से कटा हुआ है। जैविक रूप से संतुष्टि किसी गढ़े हुए लक्ष्य का पीछा करने से नहीं, बल्कि शारीरिक जरूरतें पूरी करने, यानी survival से आनी चाहिए

    • यह सचमुच अफसोस की बात है कि वह अंततः हिंसा की ओर चला गया। “Industrial Society and Its Future” मेरे पढ़े हुए सबसे दिलचस्प, सूझबूझ भरे और आकर्षक लेखों में से एक है, इसलिए मैं इसे सबको सुझाता हूं
      मेरे हिसाब से यह “समस्या की पहचान शानदार, लेकिन समाधान का प्रस्ताव खराब” का क्लासिक उदाहरण है। दुर्भाग्य से समाधान वाला हिस्सा इतना घिनौना और अस्वीकार्य है कि लगभग कोई भी शुरुआती समस्या-पहचान वाला हिस्सा पढ़ता ही नहीं
      जिन्हें नहीं पता, उनके लिए: Ted Kaczynski Unabomber था, और तकनीक की समस्या के लिए उसका समाधान मूल रूप से पूरी system को नष्ट करना था, ताकि इंसानों में तकनीकी विकास फिर से शुरू करने की क्षमता भी न बचे। हिंसा उस सामाजिक विनाश को शुरू करने का तरीका थी
      शुद्ध रूप से सैद्धांतिक और दार्शनिक नजरिए से देखें तो तर्क सही बैठता है, लेकिन करुणा और सहानुभूति रखने वाले ज्यादातर लोगों के लिए इसकी कीमत बेहद अस्वीकार्य है
    • “आधुनिक दौर का लगभग हर काम, 99.999%, प्रतिस्थानी गतिविधि है” वाली अतिशयोक्ति तभी थोड़ी विश्वसनीय लगती है जब हर कोई ऐसी कंपनी में फंसा हो जो customer से कम-से-कम दस स्तर दूर हो
      अगर आप दिन भर बैठकों में बैठकर abstract “काम” को इधर-उधर धकेलते हुए कृत्रिम लक्ष्य हासिल करने की कोशिश करते हैं, तो आधुनिक काम पूरा का पूरा बनाया हुआ और मनमाना लग सकता है
      लेकिन ऐसी बेतुकी corporate नौकरियों से बाहर निकलें, तो बहुत से लोग “असली” काम कर रहे हैं, और वह मात्रा में भी काफी है। किसी विशाल कंपनी से छोटी कंपनी में जाने पर, जब दिखता है कि मेरा काम असली customers पर असर डालता है, तो आंखें खुलती हैं। अपने काम का किसी चीज पर असर करीब से देखना कहीं ज्यादा अर्थपूर्ण लगता है
      HN पर जब भी Ted Kaczynski के लेखन को romanticize करती बातें देखता हूं, तो लगता है कि वे internet और corporate life से बाहर की वास्तविक दुनिया कैसे चलती है, उससे कुछ ज्यादा ही दूर और लगातार online में फंसी हुई जगह से आती हैं
    • “आधुनिक दौर का लगभग हर काम 99.999% प्रतिस्थानी गतिविधि है” मैंने देखी सबसे हास्यास्पद अतिशयोक्तियों में से एक है, या कहें वास्तविकता से सबसे कटी हुई बातों में से एक
      अगर यह बात सही हो, तो इसका मतलब है कि 100,000 लोगों में सिर्फ एक ही “असली” काम कर रहा है। बराबर बांटें तो रोज के कामकाजी समय में एक-तिहाई सेकंड से भी कम
    • जीवनसाथी को आकर्षित करना और सामाजिक दर्जा हासिल करना कैसा रहेगा? ये भी आधुनिक दुनिया में अब भी प्रासंगिक बहुत पुराने लक्ष्य हैं। जानना चाहूंगा कि यह उस धारणा को कैसे प्रभावित करता है कि इंसान केवल survival के लिए tuned हैं
    • यह कहने के बजाय कि सॉफ्टवेयर डेवलपमेंट बहुत abstract है और physical world से कटा हुआ है, शायद वजह यह हो कि इसमें पैसा अच्छा मिलता है, जैसा कि मूल link की “legendary” comment ने बताया था
      नतीजतन तकनीकी रूप से दिन में कुछ मिनट सॉफ्टवेयर पर लगाना ही काफी होता है। बाकी सब फालतू है। यह Kaczynski की बात से मेल खाता लगता है
      अगर आप ऐसा सॉफ्टवेयर डेवलपमेंट काम करें जिससे बस survival की लागत ही मुश्किल से निकलती हो, तो शायद उस काम को लेकर खालीपन महसूस होने की संभावना नहीं होगी
  • आधुनिक software की बेतुकापन से बचने के लिए मैं वही coding करता हूं जो मुझे पसंद है। छोटी games, 8-bit systems के लिए चीजें वगैरह बनाता हूं
    ये आधुनिक चीजों से, खासकर node, next, devops और “web framework” वाले नरक से जितना हो सके उतनी दूर हैं। असर होता है, और bonsai की तरह बहुत सुकून देती हैं

    • जैसे cars में खूब technology भरी हुई cars और बिना ज्यादा tech वाले old-timers अलग दिखते हैं, सोचता हूं coding में भी क्या वैसी समानांतर दुनिया दिखेगी
      अब coding सिर्फ hobby के तौर पर करता हूं। burnout ने करियर खराब कर दिया, और अब मैं LLM के बिना PCB design और embedded software लिखता हूं
    • मैं भी ऐसा ही करता हूं। Playdate के लिए games बनाना पिछले कुछ सालों में मेरी की हुई programming में सबसे मजेदार रहा
    • 8-bit systems के लिए काम करने से सहमत हूं। हाल ही में C में GameBoy Color game बनाया, और यह काफी समय में की गई coding की सबसे मजेदार चीजों में से एक था
  • कोई hobby कितनी भी जुनूनभरी या obsession जैसी पसंद क्यों न हो, उसे नौकरी बना देने जितना प्यार को खराब करने वाली चीज कोई नहीं
    मुझे cycling सच में बहुत पसंद है, लेकिन bicycle industry में उसी प्यार से रोजी कमाने की कोशिश करने की तुलना में software industry की तमाम बकवास चीजें मुझे बेहतर लगेंगी
    “amateur” शब्द में नकारात्मक भाव है, लेकिन असल में इसे “मुख्य आय का स्रोत नहीं” के रूप में समझना चाहिए, यह नहीं कि कौशल खराब है

    • “amateur” का नकारात्मक भाव अपेक्षाकृत हाल में आया है

      The meaning "one who cultivates and participates (in something) but does not pursue it professionally or with an eye to gain" (as opposed to professional) is from 1786; often with disparaging suggestions of "dabbler, dilettante," but not in athletics, where the disparagement shaded the professional, at least formerly. As an adjective, by 1838.

      यह Latin amatorem, यानी “lover” से आया शब्द है। मतलब ऐसा व्यक्ति जो किसी व्यावहारिक कारण से नहीं, बल्कि केवल उस activity के आनंद और प्रेम के लिए कुछ करता है। अगर आनंद है, तो वह कितना अच्छा है, यह जरूरी नहीं कि हमेशा विचार का विषय हो

    • जिस शब्द की तलाश है, क्या वह ठीक-ठीक “hobbyist” नहीं है?

    • “connoisseur” भी है
      कभी-कभी पैसे नहीं मिलते, लेकिन “बस अगले expert” से कहीं ज्यादा गहराई से जुड़े होते हैं

  • समझ नहीं आता कि ज़्यादा वयस्कों के पास शानदार hobbies क्यों नहीं हैं। बचपन के मेरे ज़्यादातर दोस्त अब बड़े होकर शायद ही कोई मज़ेदार काम करते दिखते हैं
    कंप्यूटर के काम का संतुलन बनाने के लिए मुझे शरीर से किए जाने वाले physical काम सच में बहुत पसंद हैं। weight training, woodworking, sailing ने मेरी ज़िंदगी में बहुत value जोड़ी है, मुझे बाहर खींचकर ले गए हैं और शरीर भी बेहतर किया है
    अभी मैं garage में अपने बेटे के साथ लकड़ी की sailboat बना रहा हूँ, और दादाजी से विरासत में मिले पुराने woodworking tools इस्तेमाल कर रहा हूँ

    • अगर आपको दादाजी से woodworking tools विरासत में मिले हैं, तो लगता है दादाजी या पिता ने आपको woodworking skills कुछ हद तक सिखाई होंगी
      मैं pre-teen उम्र से कंप्यूटरों के साथ बड़ा हुआ। पिता तब 2000 miles दूर चले गए जब मैं 11 साल का था, और 14 साल की उम्र के बाद मेरी हर नौकरी web/software से जुड़ी रही है; अब मैं लगभग 39 का हूँ
      लगता है कंप्यूटर के बाहर मेरे पास कोई practical skill नहीं है, और हाथों से कुछ बनाने या power tools इस्तेमाल करने का खयाल भर मुझे बेचैन कर देता है। जानना चाहता हूँ कि इस mindset से कैसे बाहर निकलूँ
    • मेरे मामले में कई चीज़ों को बस ऊपर-ऊपर करने की तुलना में एक चीज़ में सचमुच गहराई तक जाने से ज़्यादा आनंद मिलता है
      इसका मतलब यह नहीं कि hobbies शानदार नहीं हैं। मैं एक ऐसे व्यक्ति को जानता हूँ जिसने लकड़ी से शुरुआत करके पूरी guitar बना डाली। बस मैं वह समय अपने मुख्य काम में और आगे बढ़ने में लगाना चाहता हूँ। कुछ-कुछ “छोटी चीज़ में major करना” जैसा लगता है
      उम्मीद है यह sigma-style self-improvement obsession जैसा नहीं लगेगा। मैं कोई मज़ेदार hobby रखने की इच्छा को दबा नहीं रहा; बल्कि जिन activities में मेरी खास रुचि नहीं है उनके लिए नई identity बनाने के बजाय अपना मुख्य career थोड़ा-थोड़ा बनाते रहना मुझे ज़्यादा खुश और स्थिर महसूस कराता है
    • अगर शानदार hobby की prerequisites “garage होना”, “grandparents से tools विरासत में मिलना”, और “दोनों का उपयोग करने का समय होना” हैं, तो यह जवाब मिल जाता है कि ज़्यादा वयस्कों के पास ऐसी hobbies क्यों नहीं होतीं
    • आम वयस्क के पास काम, बच्चे, नींद और निजी जिम्मेदारियाँ निपटाने के बाद कितना समय बचता है?
      शानदार hobbies शानदार होती हैं, लेकिन उन्हें समय चाहिए, और कुछ मामलों में आर्थिक गुंजाइश भी
    • मैं projects उठाते रहने से खुद को रोक नहीं पाता, और वही मुझे चलते रहने देते हैं। शायद मुझे आराम से कहीं ज़्यादा संतुष्टि की craving है
      beach पर आराम से पड़े रहना या दोपहर में किताब पढ़ना जैसे आराम करने के तरीके सच में मुश्किल लगते हैं। मैं बस कोई project करना चाहता हूँ
      सच में मज़ेदार बात यह है कि जब मैं project करता हूँ, मेरी पाँच साल की बेटी भी अक्सर project mode में चली जाती है और अपना काम करती है। मैं bicycle ठीक करता हूँ या कुछ बनाता हूँ, और वह tape और cardboard जैसी चीज़ों से अपनी चीज़ बनाती है। हम दोनों अपना-अपना काम करते हैं, लेकिन साथ-साथ होते हैं—बहुत सुखद companionship का समय
  • “जैसा software development हम जानते हैं, वह जल्द ही गायब हो जाएगा” वाली बात पर मैं थोड़ा विरोध करना चाहूँगा
    वादे और उन पर काम करने वाले लोग दिखते हैं, लेकिन अभी तक कुछ निर्णायक नहीं देखा। LLMs के सामने भी data की मात्रा और गुणवत्ता का अस्तित्वगत खतरा है
    हाल ही में LLMs से legal reasoning करवाने वाले एक लेख में आगे बढ़ने के लिए काम को बहुत छोटे-छोटे हिस्सों में तोड़ना पड़ा। हमें यह नहीं पता कि इस तरह तोड़कर LLM को देना, speed, quality और feedback के लिहाज़ से, किसी इंसान के सीधे खुद कर लेने जितना लाभकारी है या नहीं
    मैंने ऐसे लोग भी देखे हैं जो कहते हैं कि Copilot का interaction loop समस्या पर सच में सोचने की प्रक्रिया को short-circuit कर देता है
    जो भी हो, इस absurd दौर में काम के बाहर hobbies बेहद ज़रूरी हैं। मूल लेखक ने सुंदर चीज़ें बनाई हैं

    • काम के बाहर की hobby अब भी coding हो सकती है। LLM के बाद code पहले जैसा नहीं रहा, लेकिन काम में भी और बाहर भी मैं ज़्यादा effective हूँ
      LLM सिर्फ मदद करता है, और मेरे लिए coding का आनंद कम नहीं करता। हालांकि modern web garbage इसका exception है
    • अहम चीज़ LLM नहीं थी। असली मुद्दा यह है कि tech कंपनियों के पास कई देशों में विशेष राजनीतिक शक्ति है
      बड़ी tech कंपनियाँ कानून तोड़ती हैं और लोगों की ज़िंदगियाँ बिगाड़ती हैं, फिर भी किसी को सज़ा नहीं मिलती या regulation नहीं होता
      software में users के पास market choices बहुत कम हैं, इसलिए race to the bottom चल रही है। LLM तो बस बहाना है; असल में late-capitalist economy किसी न किसी रूप में ऐसी चीज़ की मांग करती है। सस्ता श्रम हो या automated श्रम, फर्क सिर्फ रूप का है
      कंपनियों को sustainable बनाने के लिए हमें कंपनियों पर राजनीतिक और भौतिक leverage चाहिए
  • दिलचस्प है कि Glenn Reid भी software बनाने से हटकर Touchtype.app, PasteUp.app, “The Green Book”, PostScript Language Program Design के बाद हाथों से dovetail-joint furniture बनाने लगे
    मैंने हमेशा “Maker” movement को “वे geeks जिन्होंने shop class miss कर दी” के रूप में समझाया है, और यह तर्क दिया है कि अगर woodworking की Sloyd system basic education के component के रूप में व्यापक रूप से फैली होती तो दुनिया बेहतर होती
    https://rainfordrestorations.com/tag/sloyd/

    Students may never pick up a tool again, but they will forever have the knowledge of how to make and evaluate things with your hand and your eye and appreciate the labor of others.

    • क्या वे उन geeks जैसे नहीं हैं जिन्हें shop class पसंद थी, लेकिन software में ज़्यादा पैसे मिलते थे इसलिए उधर चले गए?
      मैं ऐसा geek हूँ जिसे shop class पसंद नहीं थी, और दशकों बाद भी software लिखकर रोज़ी कमा सकता हूँ, इसके लिए आभारी हूँ
  • नई hobby ढूँढना कोई समस्या नहीं है, लेकिन यह tech workers को लेकर एक stereotypical cliché है। woodworking नहीं तो beekeeping, या कोई और अच्छा side quest ही सही
    बस इन hobbies में आने वाले लोग जिस तरह बहुत कड़वाहट से भरे लगते हैं, वह थोड़ा खटकता है। हर पेशे में ऐसी बातें होती हैं, हम कोई खास नहीं हैं

    • कई पेशों में खतरा, गंदगी, कठिन शारीरिक श्रम, कम सामाजिक प्रतिष्ठा जैसे कहीं ज़्यादा बुरे पहलू भी होते हैं
  • हंसी आती है, क्योंकि लगता है कि लगभग हर programmer का रुझान ऐसा ही होता है। ज़्यादातर वे लोग होते हैं जिन्हें कुछ बनाना पसंद होता है, और उनमें कई musicians भी होते हैं
    DIY भी ऐसा ही है। उसका एक physical output होता है, आप अपने हाथों से कुछ बनाते हैं, और संतुष्टि लगभग हमेशा अपनी चाही हुई feeling को खुद पूरा करने से आती है। हालांकि पत्नी भी है, यह अलग बात है
    किसी काम में बहुत अच्छे न हों, फिर भी उसे संभाल सकते हैं—यह एहसास भी अच्छा लगता है। और सच में आप बेहतर होते जाते हैं। Baking और cooking भी कुछ ऐसी ही हो सकती हैं
    bread को बेहतर बनाने या baseboard को ठीक से fit करने की “तरकीब” सीखना सचमुच अच्छा लगता है

    • यह confirmation bias है। मैंने कई अलग-अलग programmers और developers देखे हैं, इसलिए ऐसी generalization पर हंसी आती है
      उम्र, family status, location, परिवार का प्रभाव—ये hobby चुनने से शायद text edit करने वाली नौकरी की तुलना में ज़्यादा जुड़े होते हैं
      पिछले कुछ दशकों ने हमें कुछ हद तक असाधारण जैसा बना दिया है, और लोग उस संतोषजनक विचार से खेलना चाहते हैं। लेकिन programmers electricians, plumbers, construction engineers वगैरह से अलग नहीं हैं
    • सहमत हूं। Cooking, भले ही baking न हो, programming जैसी काफी लगती है
      आप steps follow करते हैं, और production environment में bug आ जाए—जैसे बहुत नमकीन हो, बहुत गाढ़ा हो, या flavor कम हो—तो आप अंदर जाकर debug करके fix करने की कोशिश करते हैं। यहां analogy थोड़ी टूट भी सकती है
      अगर कोई IT tasks को छोटे हिस्सों में बांटने में अच्छा है, तो मुझे लगता है वह कई courses वाला बड़ा meal तैयार कर सकता है। क्योंकि इसमें किसी feature को deploy करने जैसी mindset चाहिए लगती है
  • जब मैं युवा था और bar में काम करते हुए लोगों की बातें सुनता था, तो सबसे परेशान करने वाला protobuf deserialization issue या “agile meeting” भी bar में सुनी जाने वाली ज़्यादातर कहानियों की तुलना में सचमुच काफी दिलचस्प है
    यह apples और oranges की तुलना है। Woodworking हो या कोई भी hobby, जिस hobby का आप आनंद लेते हैं वह असल में की जाने वाली किसी भी नौकरी से ज़्यादा enjoyable होने की संभावना रखती है
    Programming मज़ेदार है, और शायद इसी वजह से आपने शुरू किया होगा। लेकिन software developer के रूप में काम करना कम मज़ेदार हो सकता है

    • यह समय से परे “काम” की अवधारणा है। Team members, customers, tools, psychology, politics जैसी उलझी हुई constraints जब सब एक व्यक्ति पर डाल दी जाती हैं, तो कोई भी चीज़ धीरे-धीरे उबलते नरक में बदल जाती है
      फिर भी कुछ fields दूसरों से ज़्यादा साफ़ होती हैं। जैसे छोटी धारा ज़्यादा साफ़ होती है, food store या repair shop में काम करने की यादों में software engineering जैसी थकान नहीं आती थी
      stimuli ज़्यादा विविध और थोड़े गहरे होते हैं, इसलिए flow में मदद मिलती है, और culture भी मदद करता है। indentation जैसी सतही चीज़ों पर बहस कम होती है
      उदाहरण के लिए fast food real-time काम है, इसलिए tight planning और execution चाहिए, ढीलापन घुसाने की गुंजाइश नहीं होती। पसीना आता है, लेकिन काम सच में तेज़ और कुशल हो जाता है
      इसके उलट coding में आप सालों तक वहीं घूमते रह सकते हैं, कहीं नहीं पहुंचते, खुद को बेकार महसूस करते हुए थककर घर जा सकते हैं
    • कुछ लोगों ने programming इसलिए शुरू की होगी क्योंकि वह मज़ेदार थी, लेकिन हर किसी के साथ ऐसा नहीं है। मेरे साथ शुरुआत में ऐसा था
      लेकिन university के मेरे कई दोस्तों ने अलग starting point से शुरू किया था। मैंने कई लोगों को कहते सुना कि उन्होंने computer science इसलिए चुना क्योंकि यह अच्छा career लगता था या उन्होंने सुना था कि इसमें ज़्यादा पैसा मिलता है
      ऐसे लोगों के लिए मुझे नहीं पता कि “programming मज़ेदार थी इसलिए शुरू किया” पर लौटने की कोई बुनियाद होती भी है या नहीं
    • कोई भी चीज़ हफ्ते में 40 घंटे करो, आखिरकार थका ही देती है
    • bar में काम करने की सबसे अच्छी बात यह है कि bar छोड़ते ही काम खत्म हो जाता है
      ऊपर से किसी दूसरे bartender को अपनी ego satisfy करने के लिए छोटी-छोटी बातों में खोट निकालते हुए drink pouring approval भी नहीं देना पड़ता
    • दूसरों की घास हमेशा ज़्यादा हरी लगती है
      कुछ महीनों में मैं 40 का हो जाऊंगा, इसलिए इन दिनों सामान्य से थोड़ा ज़्यादा सोच रहा हूं और देख रहा हूं कि अपनी जिंदगी में कहां पहुंचा हूं। अब तक मेरे सबसे बड़े पछतावों में से एक यह है कि मैंने बहुत ज़्यादा समय यह चाहने में बिताया कि मैं जहां हूं, उसके बजाय कहीं और होता