কম্পিউটার

একজন ভাল প্রোগ্রামার হওয়া শুধু কোড লেখার বিষয় নয়

কি আদর্শ প্রোগ্রামার আপ তোলে, আপনার মনে? এটা কি একজন কম্পিউটার হুইজ যিনি সাত বছর বয়স থেকে কোডিং করছেন এবং মিলিয়ন ডলারের অ্যাপ তৈরি করছেন? এটি কি একজন অভিজ্ঞ বিকাশকারী যার বিজে 10 বা 20 বছর রয়েছে, যিনি প্রতিটি ভাষা জানেন (তবে শুধুমাত্র ভালগুলি, অবশ্যই) এবং যে সময়টাতে আরও একটি কাপ কফি পেতে আপনার সময় লাগবে সেই সময়ে একটি ওয়েবসাইট তৈরি করতে পারেন? এটা কি একজন কোড আর্টিস্ট যিনি এত সুন্দর কোড লিখতে পারেন যে এটি সবাইকে একই সাথে বিস্ময়ে কাঁদায় এবং ঈর্ষায় তাদের দাঁত কিড়মিড় করে?

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

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

তাহলে একজন ভালো বিকাশকারী হওয়ার চিহ্ন কী? এখানে আমি কিছু সংগ্রহ করেছি- আমি নিশ্চিত আরও অনেক আছে।

1. পরিষ্কার কোড লিখুন।

হ্যাঁ, এই এক আসলে কোডিং সম্পর্কে. আমি বলেছিলাম কোডিং এর অংশ, তাই না? 🙂 এর মূলে, ভাল কোড প্রথমে কাজ করে, অন্য ডেভেলপারদের কাছে বোধগম্য, এবং খুব বেশি কষ্ট না করেই রিফ্যাক্টর করা যেতে পারে। কোড কম্পিউটারের সাথে যোগাযোগ করে, কিন্তু মানুষের সাথেও যোগাযোগ করার কথা। আমি আপনাকে বলতে পারব না কতবার আমাকে কয়েক মাসের পুরানো কোডে ফিরে যেতে হয়েছিল এবং আমার অতীত কী ভাবছিল তা মনে রাখার জন্য অনেক বেশি সময় ব্যয় করতে হয়েছিল। সুপরিচিত এবং সুসংগঠিত ফাংশন, মন্তব্য এবং ডকুমেন্টেশন ভবিষ্যতে অন্যদের (আপনি সহ!) যে পরিমাণ সময় বাঁচাবে তার দশ গুণ ফেরত দেবে।

ভাল কোড লেখার আরও তথ্য (অ-অধিভুক্ত লিঙ্ক, চিন্তা করবেন না!):
ক্লিন কোড
প্র্যাগম্যাটিক প্রোগ্রামার
রিফ্যাক্টরিং:বিদ্যমান কোডের ডিজাইনের উন্নতি

2. ট্রেন্ডের সাথে বর্তমান থাকুন।

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

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

হ্যাকার নিউজ
একটি তালিকা ছাড়াও
স্ম্যাশিং ম্যাগাজিন
সিএসএস কৌশল

3. নতুন জিনিসের জন্য উন্মুক্ত থাকুন এবং দ্রুত শিখুন।

আপনি যদি এখনও কোডিং শেখার প্রাথমিক অংশে থাকেন তবে নিজের উপর খুব বেশি কঠিন হবেন না। আমি পরামর্শ দিচ্ছি না যে আপনি এক সপ্তাহের মধ্যে অ্যাঙ্গুলার আয়ত্ত করতে সক্ষম হবেন। তবে সম্ভাবনার জন্য উন্মুক্ত থাকুন যে কোনও প্রদত্ত সমস্যার জন্য, সমাধান এমন কিছু হতে পারে যা আপনি এখনও জানেন না। এবং "এখনও" একটি গুরুত্বপূর্ণ পার্থক্য। কারণ যে জিনিস আপনি জানেন না? এটি এমন কিছু যা আপনি কীভাবে করবেন তা শিখতে পারেন এবং এটি আপনার টুলকিটে যোগ করতে পারেন।

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

4. ফোকাস করুন এবং দক্ষতার সাথে কাজ করুন।

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

যতটা সম্ভব কাজ এবং অ-কাজের সময়কে আলাদা করার চেষ্টা করুন এবং তাদের একে অপরের মধ্যে খুব বেশি প্রবেশ করতে দেবেন না। উদাহরণস্বরূপ, প্রতি কয়েক মিনিটে ক্রমাগত ফেসবুকে ফ্লিপ করা আপনার উত্পাদনশীলতাকে হ্রাস করবে। আপনি যখন কাজ করেন, তখন আপনি অন্য কোনো ব্রাউজার ট্যাব বন্ধ করে ফোকাস করতে সাহায্য করতে পারেন এবং যতক্ষণ না আপনি একটি যুক্তিসঙ্গত বেঞ্চমার্কে আঘাত করছেন ততক্ষণ স্থিরভাবে কাজ করার চেষ্টা করে। একটি পোমোডোরো টাইমার ব্যবহার করে 25 মিনিট বা তার বেশি সময় ধরে কাজ করা আপনাকে আপনার সামনে থাকা একক কাজটিতে ফোকাস করতে সহায়তা করতে পারে।

অতিরিক্ত পড়া:
ক্যাল নিউপোর্টের গভীর কাজ

5. কাজগুলি সম্পূর্ণ করার জন্য প্রয়োজনীয় সময় সঠিকভাবে অনুমান করুন৷

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

এই বিষয়ে একটি দ্রুত নোট:আপনাকে সর্বদা পাথরে সেট করা X ঘন্টার সংখ্যা নির্ধারণ করতে সক্ষম হতে হবে না। সাধারণত আপনি একটি পরিসীমা দিতে পারেন, অথবা আপনি এমনকি বলতে পারেন যে আপনি একটি বাস্তব অনুমান দিতে পারবেন না কারণ আপনার প্রকল্পের প্যারামিটার সম্পর্কে আরও তথ্যের প্রয়োজন। একটি প্রজেক্ট সম্পূর্ণ করতে আপনার কত সময় লাগবে তা অনুমান করার একটি উপায় হল কোডিং করার সময় আপনার সময় ট্র্যাক করা। (এটি #4 এর সাথে হাত মিলিয়ে যায়, কারণ আপনি যখন অর্ধেক সময় রেডিট ব্রাউজ করবেন না তখন আপনার অনুমান আরও ভাল হবে)

6. প্রযুক্তিগত ধারণাগুলি অ-প্রযুক্তিযুক্ত ব্যক্তিদের কাছে ব্যাখ্যা করতে সক্ষম হন।

হ্যাঁ, এটা হতাশাজনক তাই না? যখন আপনি কোড ব্লক এবং পদ্ধতির মাধ্যমে আনন্দের সাথে সাঁতার কাটছেন এবং তারপরে আপনাকে বাস্তব জগতে উপস্থিত হতে হবে এবং প্রোগ্রামার নন এমন লোকদের কাছে এটি ব্যাখ্যা করতে হবে? কেন তারা শুধু আপনার সোর্স কোড দেখে তা পেতে পারে না?

স্টিরিওটাইপিক্যাল কোডার হল একজন একাকী যে বাইরের জগতের দ্বারা বিরক্ত না হয়ে একটি ভূগর্ভস্থ গুহায় লুটিয়ে পড়া এবং কীবোর্ড হ্যাক করা ছাড়া আর কিছুই চায় না। আমি নিজেই স্বীকার করি যে যখন আমি একটি বিশেষভাবে বিরক্তিকর সমস্যা বের করার চেষ্টা করার গভীরতার মধ্যে থাকি, তখন বাধাপ্রাপ্ত হওয়া সত্যিই আমার অগ্রগতি ভেঙ্গে দিতে পারে এবং আমাকে খামখেয়ালী করে তুলতে পারে। কিন্তু ঠিক আপনার মতো, আপনি যাদের সাথে কাজ করেন তাদের একটি গুরুত্বপূর্ণ কাজ আছে। (শুরু করার জন্য, তারা সমস্ত লোকের সাথে কথা বলে, তাই আপনাকে করতে হবে না!)

আপনার দলের প্রত্যেকের সাথে ভালভাবে কাজ করার অর্থ হল আপনাকে তাদের কাছে কোড স্টাফ ব্যাখ্যা করতে হবে, এবং এমনভাবে যাতে তারা এটি পাবে। এর প্রথম ধাপ হল বোঝা যে আপনি যখন বিশ্বকে কোডিং সমস্যার সমাধান করতে দেখতে পারেন, তখন অন্যরা অর্থ, সময়সীমা এবং ক্লায়েন্টের মতো নীতিগুলিকে ঘিরে কাজ করে৷

আপনি যদি অন্যদের সাথে তাদের শর্তাবলী এবং তাদের শব্দভান্ডারের সাথে কীভাবে কথা বলতে হয় তা বের করতে পারেন তবে আপনি একজন দুর্দান্ত দলের খেলোয়াড় হতে অনেক দূর এগিয়ে যাবেন। ধরা যাক আপনাকে আপনার প্রকল্পে কিছু বৈশিষ্ট্য যোগ করতে বলা হয়েছে। চিৎকার করার পরিবর্তে, "না এটা বোকা, আমি চাই না!" এবং আপনার গুহায় ফিরে যান, ব্যাখ্যা করুন যে এই বৈশিষ্ট্যটি আরও 20 ঘন্টা কাজ যোগ করবে, এবং সময়সীমাটি সম্ভবত পিছনে ঠেলে দিতে হবে।

7. আপনার অহংকে কাজে আনবেন না।

প্রতিদিন এই 100% অর্জন করা আমাদের সেরা ছাড়া সকলের পক্ষে অসম্ভব। কিন্তু আমরা অন্তত চেষ্টা করতে পারি যে কাজ করার সময় আমাদের অহংকার দ্বারা বিশুদ্ধভাবে চালিত না হয়। এটার মানে কি? এর মানে হল যে আপনি শুধু নিজেকে সুন্দর দেখাতে চান না। আপনি আপনার প্রকল্প, আপনার দল, এবং আপনার কোম্পানি ভাল দেখতে চান. আপনি যদি অন্যদের সাহায্য করার জন্য কঠোর পরিশ্রম করেন এবং শুধুমাত্র নিজের নয়, সবার জন্য সাফল্য নিশ্চিত করেন, তাহলে লোকেরা আপনার সাথে কাজ করতে পছন্দ করবে৷

আপনি নিজের জন্য যা চান তা অর্জন করার জন্য আপনি যদি অন্যদের উপর পা রাখার জন্য আপনার পথের বাইরে যান তবে আপনি সেতুতে আগুন লাগিয়ে দিচ্ছেন। এবং যখন এটি ভেঙে পড়বে তখন আপনি এর মাঝখানে থাকবেন। অবশ্যই, আপনি কিছু স্বল্পমেয়াদী লাভ করতে পারেন, কিন্তু আপনি কি সত্যিই এমন গাধা হতে চান যার সাথে কাজ করা অন্য সবাই ঘৃণা করে?

8. আপনার ভুল লুকাবেন না।

কেউ গোলমাল পছন্দ করে না। এটা শুধুমাত্র মানুষ. কিন্তু যখন একজন পেশাদার হওয়ার কথা আসে, তখন আমাদের সেই মানবিক আকাঙ্ক্ষাকে জয় করতে হবে যে দুনিয়া থেকে আমাদের ভুলগুলো লুকিয়ে রাখবে।

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

এখন আপনাকে প্রতিটি ছোট ছোট গোলমালের রিপোর্ট করতে হবে না। কিন্তু যে ভুলগুলো ঠিক করতে বাড়তি সময় লাগবে বা গুরুত্বপূর্ণ কিছু ভাঙতে হবে, অনুগ্রহ করে নিজের এবং সবার উপকার করুন এবং 'ফেস আপ' করুন। এটি দীর্ঘমেয়াদে আরও ভাল হবে।

9. অন্যদের কাছে সাহায্য চাইতে এবং অন্যদের সাহায্য করতে সক্ষম হন।

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

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

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

যখন কেউ আপনাকে সাহায্যের জন্য জিজ্ঞাসা করে, তাদের এমনভাবে সাহায্য করার চেষ্টা করুন যা পরবর্তী সময়ে সাফল্যের জন্য তাদের সেট আপ করবে। তাদের কেবল উত্তর দেওয়ার পরিবর্তে, তাদের কিছুটা প্রসঙ্গ দিন যাতে তারা অন্তর্নিহিত নীতিগুলি বুঝতে পারে এবং কীভাবে সমস্যাটি সমাধান করা হচ্ছে। আপনি জানেন, পুরো "একজন মানুষকে মাছ ধরতে শেখান" জিনিসটি 🙂

এই আইটেমগুলির কোনটি কি আপনার সাথে অনুরণিত হয়েছিল বা বাড়িতে আঘাত করেছিল? তাদের কারো সাথে একমত? নীচে একটি মন্তব্য করতে নির্দ্বিধায়!


  1. আপনার ফেসবুকের ডেটা স্ক্র্যাপ হওয়ার বিষয়ে আপনার কি উদ্বিগ্ন হওয়া উচিত?

  2. Facebook এর সাইক এক্সপেরিমেন্টে থাকা সম্পর্কে আপনি কেমন অনুভব করেন? [সাপ্তাহিক ফেসবুক টিপস]

  3. কোড অন দ্য মুভ করার জন্য iOS-এর জন্য 5টি সেরা কোডিং অ্যাপ

  4. লকডাউন চলাকালীন কীভাবে আপনার সন্তানকে কোড শেখাবেন