नवीन गोष्टी करण्यापूर्वीची सहा तत्त्वं (फेब्रुवारी २००८ )

Original post by Paul Graham : Six principles for making new things

 हा एक स्वैर अनुवाद (प्रायोgeek )

 Arc (आर्क- संगणक प्रणाली) संपादीत केल्यानंतरच्या जहाल प्रतिक्रियेचा एक अनपेक्षित परिणाम झाला : मला जाणवलं की माझी एक design बद्दलची विचार करण्याची ठराविक पद्धत आहे. आर्क बद्दलची मुख्य तक्रार त्यातल्या त्यात (जे म्हणायचं आहे ते उत्तम शब्दांकित करू शकतात अशा ) टीकाकारांनी अशी होती की अर्क खूपच पोकळ प्रणाली वाटते. मागील काही वर्षे त्यावर मेहनत घेतल्यावर दाखवले काय तर काही हजार लाईन्स लिहिलेले macros ? मी काही इतर महत्वाच्या गोष्टींवर ती मेहनत का नाही घेतली; वगैरे.

 ह्या प्रतिक्रियांवर काही खल केल्यावर मला चटकन आठवलं की हे किती ओळखीचं वाटतंय. अगदी असंच लोकांनी म्हटलेलं मला आठवतंय Viaweb बद्दल, Y Combinator बद्दल, आणि माझ्या इतर निबंधांबद्दल.

जेव्हा आम्ही Viaweb सुरु केली; ते सगळे  VCs  आणि ई-कॉमर्स जाणत्यांना हास्यास्पद वाटलं होतं. आम्ही २ मित्र, एका अपार्टमेंट मधून Viaweb  ला सुरुवात केली होती ( १९९५ साली ..तेव्हा  ह्याचं फार अप्रुप नव्हतं जे आता आहे). आम्ही बनवलेली गोष्ट हे त्यांच्या दृष्टीने software देखील नव्हतं. Software  म्हणजे windows  वरचं एखादं application  अशी एक सर्वमान्य व्याख्या. Viaweb  हे कदाचित त्यांनी पाहिलेलं पहिलंच वेब-application होतं आणि ते एखाद्या वेब-साईट सारखंच त्यांना वाटलं. Viaweb  बद्दलचा कपट अजून वाढला कारण आम्ही credit card transactions प्रोसेस करत नव्हतो (होय सुरुवातीचं एक वर्ष). सारं ई-कॉमर्स हे त्यातच सामावलं आहे असा एक समज. सगळं कठीण आणि गंभीर असं काही.

आणि तरीही चमत्कारिकरीत्या viaweb  ने झाडून साऱ्या प्रतिस्पर्धींना धूळ चारली.

Y Combinator बद्दल प्रारंभिक प्रतिक्रिया अगदी तशीच. हा प्रयोग हासू यावं इतका lightweight .  कारण होतंच तसं. सिरीज ए  फंडींग म्हणजे लाखो डॉलर ,त्यातल्या त्यात नावाजलेल्या नव-उद्योजाकांसोबतच्या काही महिन्यांच्या बिजनेस मिटींग्स , साधारण एक फुटभर उंची होईल इतकी कागदपत्रे (ज्यात साऱ्या terms नोंदल्या आहेत ). ह्या समोर Y Combinator हे फारच त्रोटक प्रकरण वाटतंय खरं. Y Combinator देखील viaweb सारखंच यशस्वी होईल हे इतक्यात सांगणं कठीण आहे म्हणा पण एकूण तृटी पडताळल्यानंतर असं वाटतंय कि योग्य दिशेने वाटचाल चालू आहे.

तसेच माझे निबंध किती यशस्वी झालेत हे सांगणं कठीण आहे ( page  views सोडून ) पण त्यावरील प्रतिक्रिया वेगळ्या आहेत (निदान सुरु केलं तेव्हाच्या प्रतिक्रीयांपेक्षा). अगदी प्रथम slashdot वर हे वाचलेलं "कोण आहे हा माणूस आणि ह्या सगळ्या विषयांवर महाज्ञानी  असल्याप्रमाणे लिहायची परवानगी दिली कोणी ? ह्या क्ष विषयावर प्रबंध लिहिताना लोकांनी मोठी मोठी पुस्तके लिहिली असताना ..इतक्या कमी शब्दात आणि informal  भाषेत कोणी एखादा विषय कसा मांडू शकतो " असो. आता नवीन साईट्स वर नवीन प्रतिक्रिया येतात पण ते "हा माणूस कोण आहे" ह्याने सुरुवात करत नाहीत हा एक बदल.

आता पुन्हा "आर्क" लोक बद्दल त्याच गोष्टी उगाळत आहेत ज्या Viaweb बद्दल, Y Combinator बद्दल, आणि माझ्या इतर निबंधांबद्दल बोलल्या गेल्या आहेत. काय नेमकं साम्य आहे ह्या साऱ्यात? तर उत्तर मला जाणवलं की ह्या ४ गोष्टीबद्दल माझी प्रक्रिया सारखीच आहे.

तर मला शोध घ्यावासा वाटतो

 १. सोप्या solutions चा

२. दुर्लक्ष केलेल्या प्रश्नांवर

३. जे नक्कीच सोडवले गेले पाहिजेत

 ४. आणि सहजतेने(Informally )

५. एखाद्या अपरिपक्व उत्तराने सुरुवात करून

६. जलद आवर्तनांनी (ज्यातून अपरिपक्व पर्याय उत्तराकडे प्रगती करतो )

 जेव्हा मी ह्या तत्त्वांची स्पष्टपणे मांडणी केली माझ्या लक्षात आलं की ही तर रेसिपी आहे सुरवातीची तिरस्कारयुक्त प्रतिक्रिया मिळवण्याची. सोपी solutions , क्लीष्ट solutions  समोर प्रथमदर्शनी फिकीच वाटतात. दुर्लक्षित प्रश्न म्हणजे व्याख्येत सांगायचं तर ते प्रश्न जे सामान्य जन ठरवून टाकतात की ह्यांच निरसन व्होवो वा न व्होवो एकच. Informally म्हणजे एखादा उत्तराचा पर्याय तो कसा दिसतो ह्याच्यापलीकडे जाऊन त्याचा कार्यकारणभाव जनांच्या लक्षात यायला हवा(हे एक दिव्यच म्हणा) आणि शेवटचे; अपरिपक्वतेकडून solution कडे म्हणजे तुमचे सुरुवातीचे श्रम हे अपूर्ण आणि मर्यादित असतील 

माझ्या हे लक्षात आलंय आणि नक्कीच बहुतांशी लोकांना नवीन संकल्पना पटत नाहीत. आधी मला असं वाटायचं की ह्याचं कारण म्हणजे बहुधा हे सारे मूर्खच. पण आता पाहतो त्यात अजून काही तरी कारण असावं . उदाहरणार्थ एखादा contrarian fund  ज्यांच्या निवेशाच्या कल्पना सामान्य जनांना साफ चूक वाटतात.

अगदी तसेच इथेही. तोच तर खरा मुद्दा आहे.ही पद्धत नक्कीच यशस्वी (long टर्म) होते. कारण अशा रीतीने तुम्हाला ती सगळी बलस्थान मिळतात जी इतर लोक जास्त legit  दिसण्याच्या प्रयत्नात मुकतात. तुम्ही दुर्लक्षित प्रश्नांवर काम केलंत तर तुम्हाला नवीन नवीन गोष्टीना सामोरे जाता येईल जे एरवी सहज होत नाही आणि स्पर्धाही नक्कीच कमी असते आणि तुम्ही तुमची solutions  सहजपणे बनवल्यास १. आपलं काम जगाला प्रशंसनीय वाटावं म्हणून उगाच प्रयत्न केले जात नाहीत २. स्वत:ची  आणि तुमच्या (संभावित) गिऱ्हाइकाची फसवणूक तुम्ही टाळू शकता (गरज नसलेले features टाकून ). जसे feynman ने म्हटले आहे ना की निसर्गाची कल्पनाशक्ती तुमच्या कल्पनाशक्तीपेक्षा खूप अद्भूत असते तसेच काहीतरी होते जेव्हा तुम्ही कच्च solution  जगासमोर मांडता.

 viaweb च्या बाबतीत प्रणाली सर्वर वर चालवणं हे सोपं solution  होतं आणि दुर्लक्षित असलेला प्रश्न होता "वेब साईट्स automatically बनवणे ".  ९५ साली इंटरनेट वरची stores सगळी designers नी खूप मेहनतीने हाताने (कोडींग करून ) बनवलेली असायची बहुतेक; आमचा अंदाज होता की हे मोठ्या प्रमाणावर शक्य नाही (एक बिजनेस म्हणून). त्यातल्या त्यात ग्राफिक डिजाईन जास्त महत्वाचं होतं transaction-processing पेक्षा. Informal delivery  म्हणजे जीन्स-टी शर्ट मधला मी कुठल्यातरी रिटेलर च्या office ला भेट देणे. आणि कच्च solution जे मला आठवतंय म्हणजे जेमतेम १००० लाईन्स चा कडे.

ह्या पद्धतीची जादू starups ,programming languages आणि माझ्या निबंधापलीकडेही लागू आहे. कदाचित जिथे जिथे सृजनशीलता हवी असते. चित्रकलेतही ..सुझान आणि klee  ने देखील हेच केलं

Y combinator मध्ये आम्ही ह्यावरच आमचा पैसा लावतो, आम्ही startups ना ह्या पद्धतीनेच काम करा म्हणून उद्युक्त करतो . नवीन संकल्पना अगदी तुमच्या नाकासमोर असतात. समोर दिसणाऱ्या साध्या वाटणाऱ्या  गोष्टी एका नवीन दृष्टीकोनातून न्याहाळा ज्याकडे  इतरांनी नक्कीच ढूंकुनही  पाहिलं नसेल.--ह्याच साध्या गोष्टींबद्दल "ह्यात काय..अगदी obvious " असं म्हणणारे असतीलच  -- विशेषत:  जेव्हा ते जुन्याच धोपट मार्गाने चालत असतील किंवा आपलं solution वरवर प्रशंसनीय वाटावं हा एकच उद्देश ठेवून ते काम असतील. खरा प्रश्न काय आहे ह्याचा माग घ्या आणि त्याचं solution  शोधून काढा. आपण  एखादी  बडी कंपनी  आहोत  हा आवेश आणणं सोडून द्या. long टर्म मध्ये तुम्ही बनवलेलं product  हेच जिंकतं किंवा हरतं. आणि लवकरात लवकर ते गिऱ्हाइका समोर आणा  म्हणजे त्यांना नक्की काय हवं आहे हे तुम्हाला लगोलग शिकता येईल.

Reddit  ह्याचं ठळक उदाहरण म्हणून घेता येईल . जेव्हा ते चालू झालं तेव्हा त्यात काही विशेष आहे असं बऱ्याच लोकांना वाटलं नाही. पण त्याने एक समस्या नक्की सोडवली की लोकांना "काय नवीन बातमी आहे ह्या वेब जालावर " हे तिथे कळू लागले. हा प्रोजेक्ट खूप यशस्वी झाला. आता ते खूप साहजिक आहे असं वाटतं म्हणजे त्यात काही नवलाई आहे असं वाटत नाही. लोक reddit कडे पाहून आता म्हणतात की ते नशीबवान होते. पण खरंतर ते साध्य करणं दिसतं त्यापेक्षा खूपच कठीण होतं. त्यांनी प्रवाहाच्या उलट्या दिशेने इतका खडतर प्रवास केला की आता असं वाटतं की ते निव्वळ प्रवाहाच्या दिशेने तरंगत आहेत.

 ह्यापुढे जेव्हा कधी तुम्ही reddit कडे पाहून म्हणाल  "जर मला अशी एखादी idea आली असती तर," लक्षात ठेवा : "ह्या आणि अशा ideas आपल्या सभोवताली कायम असतात फक्त आपण दुर्लक्ष करतो कारण त्या आपल्याला चुकीच्या वाटतात"

Exception Handling - व्यावहारीक जगात

  •  एखादे काम कुठल्या कार्यालयात जाऊन करणार असाल तर खात्री करून घ्या की कार्यालय आज चालू आहे आणि हो महत्त्वाचं म्हणजे कार्यालयाच्या कामाच्या वेळा. एखादा शनिवार फार frustrating जातो मग (स्वानुभव)
  • काम पूर्ण न झाल्यास काय परिणाम होतील ह्याची मानसिक तयारी करून ठेवावी आणि इतर पर्यायही. थोडा मनस्ताप कमी होतो. (पुन्हा स्वानुभव)
  • मित्र, लहान भावंड ह्यांना कामं delegate करता आली तर नक्की करावी. व्यावहारीक जगात असं टीम-वर्क फार कामी येतं ( नवीन विचार)
  • शक्यतो शनिवार सकाळ आळसात न घालवता बोरिंग कामे करण्यात घालवावी.कामेही होतात आणि पुढचे २ दिवस मग हवं ते करता येतं.

आता हे सगळं लिहिण्याचा खटाटोप का? गेल्या आठवड्यात असे बरेच तास मी Runtime Exceptions  (कामाच्या बाबतीत) fix करण्यात घालवले. ते वाचले असते तर.....म्हणून  :)

 सोप्या सोप्या गोष्टी आहेत हो पण नाही जमत राव आम्हाला!!!

काही माणसांचा मला राग का येतो?

 गेल्या शुक्रवारी मी हापिसातून नेहमीप्रमाणे लवकर निघालो ठाण्याला यायला. आश्चर्य वाटावं इतकी सहज वेळेवर बस आणि बसमध्ये जागाही मिळाली. बसमध्ये दोन तीन पर्याय होते कुणाच्या शेजारी बसायचे? पर्याय १. मुलगी : N.A .  २. खूप झोपाळलेला एक उत्तर भारतीय ३. एक नेमस्त . अर्थातच पर्याय ३ निवडला

 आणि हा सपशेल चुकीचा पर्याय होता. तर झालं असं शुक्रवारी पुणे - ठाणे हा प्रवास म्हणजे माझा ठरलेला कार्यक्रम असतो. नेहमीच्याच एक दोन मित्रांना फोन टाकणे. ipod वर गाणी ऐकत बाहेर पाहणे नाहीतर आठवड्याभरात मनात जमा झालेली जाळी-जळमटं मोजून ठेवणे.( हल्ली हे नियमित झालंय म्हणा )

पुण्यात पाऊस कमीच झाला होता ; कामशेत बोगदे ओलांडले आणि मस्त हवेत गारवा होता..नुकताच पाऊस झाला असावा. तेव्हा खिडकी थोडी बंद झाली म्हणजे माझ्या खिडकीतल्या शेजाऱ्याने केली. असा राग आला तेव्हा. आता हा नेमस्त माणूस म्हणजे एक अजब रसायन होतं. दर ४-५ मिनिटाला फोनची स्क्रीन पुसणे ; पावसाचे दोन थेंब चेहऱ्यावर पडले म्हणून हातरुमालाने ते पुसणे  ( किती घोर अपमान आहे हा वरूणदेवतेचा!!!) आणि कंडकटरला  ( हे मराठीत छापणे जमले नाही) पनवेल वरून अजून कुठेतरी किती वेळ लागेल हे आतापासूनच पुसणे (म्हणजेच विचारणे)

 
बरं ह्यात कळस म्हणजे दत्त Snacks  ला बस ( express way ) थांबल्यावर साहेब McDonald's मध्ये जाऊन काहीतरी (म्हणजे नेहमीचंच) घेऊन आले आणि ते बसमध्ये खात होते.ठीक आहे राव खायचं ते खा पण माणूस इतका नेमस्त असू शकतो ? नेमस्त == बोरिंग .  पुढे पाऊस लागल्यावर खिडकी ठाणे येईपर्यंत बंद होती...३-४ दा धमकीवजा विनंती करूनही...म्हणजे निदान जागा तरी द्या खिडकीतली असं मोठ्या आवाजात सांगूनही 

तर आजची शहाणी ओळ म्हणजे "अती-बोरिंग माणसांपासून दूर राहावे; ते तुमच्या आनंदाचा नाश करतात "

बंद

तसा कालचा बंद किती यशस्वी झाला हे देव जाणे पण त्यातून मला एक छान क्ल्रुप्ती सुचली आहे. तसा मी सर्वांनाच शांत, नेमस्त असा वाटतो पण जे मला नीट ओळखतात त्यांना ह्याची चांगलीच कल्पना आहे की माझ्यात एक भंयकर उनाड माणूस दडलेला आहे.

म्हणजे काही वर्षांपूर्वी मी जवळजवळ प्रत्येक शनिवार - रविवार ( जास्त झालं खरं तर २-३ तरी महिन्यातले) भटकायचो. हा गड नाहीतर तो गड असं काहीतरी. ते कालपरवापर्यंत चालू होतं. मध्यंतरी मला इंटरनेटचा फारच छंद जडला.twitter,hacker news,reddit,google reader,xkcd,geekandpoke etc comics इत्यादींसोबत माझा खूपच वेळ वाया जाऊ लागला.

आता हे कमी व्हावं म्हणून ह्या गोष्टींवर दिवसातला काही वेळ तरी बंद. अगदी कडकडीत बंद :)