আমি সুমন সেলিম, Lets Learn Coding & Kodeeo এর প্রতিষ্ঠাতা
আমি যেভাবে কাজ করি

q-1050x500
Shares

নাম এবং পেশা

আমি মোহাম্মদ সুমন মোল্লা সেলিম, Lets Learn Coding এবং Kodeeo এর প্রতিষ্ঠাতা এবং বর্তমানে Co-founder & Director of Engineer হিসেবে আছি SmartKompare.com-এ।

আপনি ৫ বছর ধরে পেশাদার সফ্টওয়্যার ডেভেলপার, কোন প্রোগ্রামিংল্যাঙ্গুয়েজে আপনি কোড করতে ভালবাসেন ও কেন ?

আমার প্রোগ্রামিং জীবন শুরু হয়েছিলো পিএইচপি দিয়ে এবং এখনো আমি আমার প্রধান ডেভেলপমেন্ট ল্যাঙ্গুয়েজ হিসেবে এটাকেই ব্যবহার করছি। আমার শুরুটা একটু মজার। জনপ্রিয় ডেভেলপার মাসনুন ভাই এর মোবাইল ফোরাম সাইট Jotil21 থেকে আমি প্রথম ওয়েব ডেভেলপমেন্ট সম্পর্কে (সেই ২০০৯ সালের কথা, তখন আমি ইন্টারনেট সম্পর্কে পুরাই অজ্ঞ ছিলাম) জানতে পারি। ব্যাপারটা আমার কাছে খুবই আকর্ষণীয় এবং মজাদার লাগে। ওনার ব্লগ আর ফোরাম সাইটের স্ক্রিপ্ট দিয়েই আমার প্রোগ্রামিং করা শুরু। তখন আমার নিজের পিসি ছিলো না। আমি সাইবার ক্যাফেতে যেয়ে শিখতাম। তারপর ২০১১-তে ভার্সিটিতে ভর্তি হওয়ার পর প্রথম ল্যাপটপ পাই এবং প্রফেশনালি কাজ শুরু করি। শিখি নতুন কিছু ল্যাঙ্গুয়েজ – সি, সি++, জাভা, ভিজুয়াল বেসিক। যেহেতু ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট করি, তাই HTML, CSS আর JavaScript -তো আছেই। Android নিয়েও কাজ করা হয়েছে কিছু। এখন Python আর MEAN Stack শিখছি।

ডেভেলপমেন্টের জন্য কোন IDE টি আপনার কাছে সেরা মনে হয় ?

যেহেতু আমার প্রধান ডেভেলপমেন্ট ল্যাঙ্গুয়েজ পিএইচপি, তাই JetBrains এর IDE PhpStorm-কেই আমার সেরা মনে হয় এবং এইটাই সবচেয়ে বেশী ব্যবহার করি। পাশাপাশি টেক্সট এডিটর হিসেবে Sublime Text 3-তো আছেই। তবে সম্প্রতি Intellij IDEA-ব্যবহার শুরু করেছি যেহেতু এক সাথে কয়েকটি স্ট্যাক নিয়ে কাজ করতে হচ্ছে। তবে আমার শুরুটা হয়েছিলো Notepad++ দিয়ে।

ডেভেলপমেন্টের জন্য কোন অপারেটিং সিস্টেম(ওএস) আপনি ভাল মনে করেন ?

আমি মনে করি *নিক্স ভিত্তিক যে কোন অপারেটিং সিস্টেম-ই ডেভেলপমেন্ট এর জন্য ভালো। তবে আমার শুরুটা হয়েছিলো উইন্ডোজ এই। তারপর ডেভেলপমেন্টকে পেশা হিসেবে নেওয়ার পর ধীরে ধীরে লিনাক্সে চলে আসি। শুরুটা করি উবুন্টু দিয়ে, এখন ইলিমেন্টারি ওএস এর ফ্রেয়া ভার্সন ব্যবহার করছি। এছাড়া সার্ভার পরিচালনা করতে যেয়ে ডেবিয়ান নিয়েও কাজ করা হয়েছে।

সফটওয়্যার ডেভেলপমেন্টের জন্য কোন সাইট বা ব্লগগুলো আপনি নিয়মিত ভিজিট করেন ?

Sitepoint, Smashing Magazine, TutsPlus, Toptal Blog সহ আরো কিছু ব্লগ ও Versioning, নিউজলেটার নিয়মিত ফলো করি। প্রতিদিন ১/২ ঘণ্টা ব্যায় করি Stackoverflow-এ। তাছাড়া সব সময় চেষ্টা করি নতুন কিছু শেখার, আর এর জন্য বেছে নিয়েছি edX, Coursera, Code School, Laracasts ও Khan Academy-এর মত সাইটগুলো। এছাড়াও কমিউনিটি এর গুরু ও বড় ভাইদের লেখা ব্লগ ও রিসোর্সগুলো নিয়মিত দেখা হয়। যেমনঃ

এমন কোনো প্রোজেক্ট বা প্রোডাক্ট আছে কি যেটি নিয়ে আপনি গর্ব বোধ করেন ?

কাজ করতে যেয়ে অনেক প্রজেক্ট বা প্রোডাক্ট নিয়েই কাজ করতে হয়েছে। যেহেতু সব গুলো কাজই নিজের করা, তাই সবগুলো কাজের জন্যই ভালো লাগে। বর্তমানে Panacea Live Ltd.-এর সাথে কাজ করছি, যেখানে আমরা বিগডাটা নিয়ে কাজ করছি। কাজ করছি একটি দরকারি সমস্যা সমাধানের। এটি অবশ্যই গর্ব করার মত একটি কাজ। তাছাড়াও কাজ করছি Oikhali, MamboMama এর মত আরও কিছু বড় প্রজেক্টে।

আপনার সম্প্রতি অবদান রাখা কোন প্রিয় ওপেন সোর্স প্রজেক্ট (বা প্রকল্প) আছে?

আমার সব ওপেন সোর্স প্রজেক্ট গুলোই গিটহাবে (https://github.com/SumonMSelim) রাখা আছে। বর্তমানে চেষ্টা করি নতুন যা শিখছি, তাই মানুষজনের সাথে শেয়ার করতে যাতে অন্যরাও তা থেকে শিখতে পারে।

আপনার প্রতিদিনের কাজ করার জন্য কোন ডিভাইসটি বেশি ব্যবহার করে থাকেন এবং কেন ?

প্রতিদিনের কাজ করার জন্য আমার ল্যাপটপটি-ই সবসময় ব্যবহার করি – HP ProBook 4420s। এছাড়া অ্যান্ডড্রইড অ্যাপ ডেভেলপমেন্টের সময় টেস্টিং এর জন্য আমার Amazon FirePhone-টি ব্যবহার করি।

তিনটি অ্যাপ্লিকেশন,সফটওয়্যার বা টুলস যেগুলো ব্যতিত আপনি একেবারেই  চলতে পারেন না ?

  1. JetBrains PhpStorm
  2. Customized Terminal (oh-my-zsh with guake)
  3. Sunrise

আপনার কাজের যায়গাটি কেমন ?

বাসায় কাজ করার জন্য আমার একটি টেবিল আছে। কাজ করার সময় সেইটায় বসে পড়ি। তবে রাতের বেলায় আমি আমার বিছানায় শুয়েই কাজ করতে বেশী পছন্দ করি। বর্তমানে আমি ম্যাকবুক এয়ার ২০১৫ মডেল ব্যবহার করছি আমার ডেভেলপমেন্ট এর কাজের জন্য। আর বর্তমানে অফিসে বসেই কাজ করতে বেশী ভালো লাগে। কোডিও এর অফিস বাউনিয়াতে, অফিস থেকেই প্লেনের উঠানামা দেখা যায়, আর SmartKompare এর অফিস করি ধানমণ্ডি-তে।

কাজ করার সময় আপনি কোন ধরনের গান বা কবিতা শুনতে পছন্দ করেন ?

আমি প্রায় ১ বছর হয়েছে গান শোনা ছেড়ে দিয়েছি। তাই কাজ করার সময় শুধু কাজেই মনোযোগ দেই। তবে কাজের ফাঁকে ফাঁকে একটা নির্দিষ্ট সময় আমি গল্পের বই পড়ি অথবা মজাদার ব্লগ ফলো করি যার মধ্যে list25.com উল্লেখযোগ্য।

আপনার সময় বাঁচানোর সেরা শর্টকাট বা লাইফহ্যাক কি?

কাজটি শুরু করার আগেই চেষ্টা করি কাজটি সম্পর্কে এনালাইসিস করে সব কিছু প্ল্যান করে নিতে যাতে কাজ করার সময় চিন্তা করতে যেয়ে আমাকে বসে থাকতে না হয়। আর আগে থেকেই সব কিছু প্ল্যান করা থাকলে দেখা যায় কাজটি খুব দ্রুতই শেষ করে ফেলা যায়।

প্রতিদিনের টু-ডু লিস্ট করার জন্য কোন সফটওয়্যার/পন্থা টি আপনার কাছে সেরা মনে হয় ?

প্রতিদিনের কাজ এর ছক রাখার জন্য, মিটিং বা সব কিছুর শিডিউল মনে রাখার জন্য আমি Sunrise অ্যাপটি ব্যবহার করি। অ্যাপটি আমার কাছে খুব-ই সহজ এবং ব্যবহারযোগ্য মনে হয়েছে।

একজন বাংলাদেশি হিসেবে যানজট আমাদের নিত্য দিনের সঙ্গী। আপনি যখন যানজটে অলস বসে থাকেন তখন কি করেন ?

আমি সব সময়ই আমার মোবাইলে কিছু পিডিএফ বই রাখি এবং যানজটের সময় আমি এইগুলো পড়তেই বেশি উপভোগ করি। আমি মূলত গোয়েন্দা ও থ্রিলার ধাঁচের বই বেশি পছন্দ করি। এছাড়াও লারাভেল ডকুমেন্টেশন আর Build APIs You Don’t Hate বইটি আমার মোবাইলে সব সময়ই থাকে আর My Talking Tom গেমসটি নিয়মিত খেলি।

আপনার ফোন এবং কম্পিউটার ছাড়াও, কোন গ্যাজেট ছাড়া আপনি চলতে পারবেন না এবং কেন?

এই দুটো গ্যাজেট-ই কম বেশি সব কাজে ব্যবহার করা হয়। এক সময় একটা এমপি থ্রি প্লেয়ার ছাড়া চলতোই না। কিন্তু গান শোনা ছেড়ে দেওয়ার বলার মত আর কোন উল্লেখযোগ্য গ্যাজেট নেই।

আপনি কোন সময়টাতে কাজ করতে সবচেয়ে বেশি পছন্দ করেন ?

আমি মূলত রাত ১২-টার পর থেকে ভোর পর্যন্ত কাজ করতেই বেশি স্বাচ্ছন্দ্যবোধ করতাম। কিন্তু এখন সকালে অফিস টাইমে কাজ করার-ই চেষ্টা করি। তবে সপ্তাহে একদিন বিশেষ করে শুক্রবার রাতে কাজ করি।

আপনার দৈনিক ঘুমানোর সময়সূচি কেমন ?

যখন রাত জেগে কাজ করা হত তখন ভোর পর্যন্ত কাজ করে সকালের নাস্তা করে ঘুমিয়ে বিকালে উঠা হত। তারপর সন্ধ্যা পর্যন্ত বাইরে ঘুরাঘুরি করে বাসায় ফিরে রাতে কাজ করতে বসা হতো। কিন্তু এখন রাত ২-টার মধ্যে ঘুমিয়ে সকাল ৮-টায় উঠা হয়।

কোন কাজটিতে আপনি সবার থেকে একটু আলাদা, একটু ভালো –

আমি মনে করি কাজ করার সময় আমি যেই কাজটিই করি না কেন নিখুঁতভাবে করার চেষ্টা করি, তাতে কাজটি করতে যদি অন্যের চেয়ে বেশি সময় লাগে – লাগুক। কিন্তু কাজটি আমার মন মত এবং ভালোভাবে শেষ হওয়া চাই।

গুণীজনদের কাছ থেকে পাওয়া এখন পর্যন্ত সেরা উপদেশ আপনার কাছে কোনটি মনে হয়েছে ?

আমাদের চারপাশেই অসংখ্য সুযোগ রয়েছে, আমাদের শুধু বেছে নিতে হবে কোনটি আমাদের পক্ষে গ্রহণ করা সম্ভব এবং কোনটার জন্য আমরা আমাদের সবটুকু সামর্থ্য দিয়ে চেষ্টা করতে পারবো।

তুমি সাধু ও জ্ঞানী, তুমি দরিদ্র হয়ে থাকবে, এরূপ ইচ্ছা পোষণ করো না। তোমাকে ধনী হতে হবে, কেননা তুমি জানো অর্থ কীভাবে ব্যয় করতে হবে। – ডা লুতফর রহমান

একজন সফটওয়্যার ইঞ্জিনিয়ার কে কোন বইগুলো এবং সিনেমাগুলো অবশ্যই পড়া ও দেখা উচিৎ ?

আমি মূলত সিনেমা খুব একটা বেশি দেখি না, তাই উল্লেখযোগ্য তেমন কোন নাম বলতে পারছি না। আর বই এর কথা বলতে হলে নিচের বইগুলোর কথা বলবোঃ

  • Introduction to Algorithms
  • Clean Code: A Handbook of Agile Software Craftsmanship
  • Code Complete. McConnell

তবে আমি ড্রামা সিরিয়াল দেখি। এর মধ্যে নিচেরগুলো দেখার জন্য পরামর্শ দিবোঃ

  • Sherlock BBC Series
  • Doctor Who
  • Silicon Valley
  • Elementary
  • Supernatural

যেকোনো জটিল পরিস্থিতিতে নিজের কাজ করার মানসিকতা ঠিক রাখার জন্য আপনি কি করেন ?

নিজের মধ্যে আত্ম-বিস্বাস নিয়ে এসে এইটা ভাবতে থাকি যে আমার দ্বারা এইটা সম্ভব আর নিজের সবটুকু দিয়েই চেষ্টা করি। সব সময় মাথা ঠাণ্ডা করে এবং ধৈর্য সহকারে কাজ করি।

আপনি নিজেকে এখন থেকে পরবর্তী ৫ বছরের মধ্যে কোথায় দেখতে চান ?

নিজেকে একজন ফুল স্ট্যাক সফটওয়্যার ডেভেলপার হিসেবে গড়ে তুলতে চাই। Lets Learn Coding-এর কার্যক্রম স্কুল/কলেজ পর্যায়ে নিয়ে যেতে চাই, যাতে সব বয়সের এবং সব পেশার মানুষের কাছেই কোডিং এর জ্ঞান পৌঁছে দিতে পারি আর Kodeeo-কে একটি মানসম্মত আইটি ইনোভেশন কোম্পানি হিসেবে দেখতে চাই।

যারা ভবিষ্যতের সফটওয়্যার ইঞ্জিনিয়ার হতে যাচ্ছে তাদেরকে আরও উৎসাহিত করতে আপনার কোন উপদেশ আছে কি?

কঠিন প্রশ্ন! নিজেই এখনো একজন পরিপূর্ণ সফটওয়্যার ইঞ্জিনিয়ার হওয়ার চেষ্টায় আছি। যাই হোক, নতুনদের জন্য কয়েকটি উপদেশঃ

১। নিজে নিজে শিখার অভ্যাস বা যোগ্যতা অর্জন করার চেষ্টা করুন। নতুনদের মনে রাখা উচিত যে, কারও পক্ষেই আপনাকে কোন কিছু শিখিয়ে দেওয়া সম্ভব নয়। আমি অনেককেই দেখি বলে যে, ভাই আমাকে কাজ শিখান। কিন্তু নিজেদেরকে কোন চেষ্টা করতে বা পদক্ষেপ নিতে দেখি না। আমি তাদেরকে বলবো, ভাই ইঞ্জিনিয়ারিং কোন খাইয়ে দেওয়ার মত ঔষধ না, যে আমি আপনাকে দিয়ে দিলাম আর আপনি খেয়ে ইঞ্জিনিয়ার হয়ে গেলেন। আপনাকে নিজে নিজেই শিখার চেষ্টা করতে হবে, বুঝার চেষ্টা করতে হবে – না পারলে, না বুঝলে তখন আপনি অন্যদের থেকে সাহায্য নিতে পারেন।

২। অভিজ্ঞ এবং যারা অন্তত একদিন আগে হলেও এই সেক্টরে কাজ করছে এবং কমিউনিটি এর ভাইদের সম্মান করতে শিখুন। আমি বলবো যে, তাঁদের সম্মান করা আপ্নাদের জন্য ফরয। তারা কষ্ট করে কাজ করছেন আর কমিউনিটিতে অবদান রাখছেন বলেই আজ বাংলাদেশে আইটি সেক্টর এর এতো জয় জয়কার আর আপনারা এই সেক্টরে এসে কাজ করতে চাইতেছেন। এইসব বলছি কারণ কয়েকটি কমিউনিটিতে এডমিন হিসেবে দায়িত্ব পালন করতে যেয়ে দেখেছি যে অনেক নতুন ভাই আছেন যারা হঠাৎ এসেই এমন ভাব নেন যে তারা যেভাবে বলবেন সেভাবে তাদের সাহায্য করাই আমাদের কাজ। আমরা যে নিজেদের মূল্যবান সময় ব্যয় করে তাদের জন্য ভালো একটা ক্যারিয়ার গড়ার পথে সাহায্য করার চেষ্টা করি, সেইটা তারা বুঝেন না। তাই আমি বলবো, সব সময় ভদ্র ও নম্র হতে শিখুন, শিখুন কিভাবে কোথায় সঠিকভাবে কারো কাছ থেকে সাহায্য আদায় করে নিতে হয়। একটু জেনেই মনে করবেন না যে, সব জেনে গিয়েছেন। সব সময় শেখার চেষ্টা চালিয়ে যেতে হবে।

৩। শিউর না হয়ে এবং নিজের উপর যথেষ্ট পরিমাণ আস্থা বা আত্মবিশ্বাস না থাকলে CSE-তে পড়া থেকে বিরত থাকুন। আর ভার্সিটি এর দোষ দিয়ে বা ভার্সিটিতে কিছু শেখাইনি বলে লাভ নেই। সফল কেউই কোথাও থেকে কিছু শিখে আসেননি। যারা আজ সফল, প্রত্যেকেই নিজ নিজ চেষ্টা আর অধ্যবসায় এর ফলেই আজকের স্থানে এসেছেন। শুধু ভার্সিটিতে তে পড়ে বের হলেই যে আপনি সফটওয়্যার ইঞ্জিনিয়ার হয়ে যাবেন – পুরোপুরি ভুল ধারনা। আগে থেকেই প্রোগ্রামিং বা কোডিং নিয়ে একটু পড়াশুনা করুন, তারপর যদি মনে হয় আপনার পক্ষে সম্ভব তাহলেই CSE-তে পড়ুন। আর নইলে শুধু টাকা আর সময়ই নষ্ট হবে। একজন সফটওয়্যার ইঞ্জিনিয়ার হওয়ার জন্য অনেক উদ্যম, আকাঙ্ক্ষা আর ধৈর্য থাকা প্রয়োজন। আর পথটি কিন্তু খুবই বন্ধুর, তাই নামার আগে ভেবে চিন্তে নামাই উচিত। এই কথাটি বলার কারণ, নিজে একটি প্রাইভেট ভার্সিটি থেকে গ্রাজুয়েশন শেষ করতে যেয়ে দেখেছি, ৯০%-ই ভর্তি হচ্ছে শুধুমাত্র গ্রাজুয়েট হতে হবে এই জন্য। কোডিং/প্রোগ্রামিং এর প্রতি তাদের কোন আগ্রহ নেই, নেই কোন কাজ শেখা বা করার ইচ্ছা। শুধু চিন্তা কিভাবে ভাল গ্রেড নিয়ে পাশ করে বের হয়ে যেতে পারবে। CSE থেকে গ্রাজুয়েট হয়ে তারা জব করছেন কল সেন্টারে কল অপারেটর হিসেবে অথবা কন্টেন্ট এনালিস্ট বা ডাটা এন্ট্রি অপারেটর হিসেবে। এই কাজই যদি করতে হবে কি দরকার CSE-তে পড়ার। ফলে দেখা যায়, অনেক সফটওয়্যার ফার্মেই গ্রাজুয়েটদের নিচু চোখে দেখা হয়।

৪। প্রচুর পরিমাণে ভুল করতে হবে আর ভুল থেকে শিক্ষা নিতে হবে। কারণ প্রত্যেকটি ভুলই পারে আপনাকে নতুন কিছু একটা শেখার পথ তৈরি করে দিতে। নতুনদের মধ্যে অনেককেই দেখি, তারা error-কে খুবই ভয় পান। কোডিং করতে যেয়ে কোন ভুল করে আটকে গেলেই তারা হতাশ হয়ে পরেন, অনেকেই ভয়ে আত্মসমর্পণ করেন। আমার এখনো মনে আছে, ৪/৫ বছর আগে যখন আমি পিএইচপিতে code লিখা শুরু করি এমন সময়ও গেছে যে, শুধু error খুঁজে বের করতেই আমি টানা ৩/৪ দিন কাজ করে গেছি। একটা সেমিকোলনের error খুঁজে বের করতেও দিন পার হয়ে যেতো। একজন সফল প্রোগ্রামার হতে গেলে আপনাকে কখনই হতাশ হওয়া যাবে না। যত কঠিন বিপদেই পরেন না কেন চেষ্টা করে যেতে হবে, একভাবে না হলে নতুনভাবে চেষ্টা করতে হবে, Logical way-তে চিন্তা করতে হবে। এইসব ভুল থেকে অর্জিত ছোট ছোট শিক্ষাই ভবিষ্যতে আপনাকে একজন ভালো সফটওয়্যার ইঞ্জিনিয়ার বা প্রব্লেম সল্ভার হিসেবে গড়ে তুলতে সহায়তা করবে। মনে রাখবেন, প্রত্যেক সফটওয়্যার ইঞ্জিনিয়ারই একেকজন প্রব্লেম সল্ভার। আপনার লিখা কোড বা আপনার তৈরি করা সফটওয়্যার যদি কোন সমস্যার সমাধান না করতে পারে, তাহলে তার কোন মূল্য নেই।

৫। একজন সফল সফটওয়্যার ইঞ্জিনিয়ার হওয়ার জন্য টানা অনুশীলন চালিয়ে যাওয়া ছাড়া কোন বিকল্প নেই। প্রচুর পড়াশোনার পাশাপাশি হাতে কলমে কাজও করতে হবে।

শূন্যস্থান পুরন করুন, আমি এই একই প্রশ্নের উত্তর গুলো ________  কাছ থেকে শুনতে পছন্দ করব।

Mizanur Rahman

Shares