দক্ষতা একজন ভাল প্রোগ্রামার হওয়ার কথা [বন্ধ]


10

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

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

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

প্রোগ্রামিং / চিন্তাভাবনা দক্ষতা বিকাশে সহায়তার জন্য কোনও প্রোগ্রামারকে কোন নন-প্রোগ্রামিং বই পড়তে হবে?

/software/44654/skills-and-habits-to-develop-to-be-good-at-programming-im-a-newbie

উত্তর:


10

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

এখানে একটি পঠন তালিকা রয়েছে (তারা যে ক্রমটি মাথায় রেখেছিল তা ব্যতীত কোনও নির্দিষ্ট ক্রমে নয়)।

  1. প্রোগ্রামিং মুক্তা (জন বেন্টলি)
  2. আরও প্রোগ্রামিং মুক্তা (জন বেন্টলি)
  3. আর্ট অফ কম্পিউটার প্রোগ্রামিং (ডোনাল্ড নুথ)
  4. সি ++ এ অ্যালগরিদম (রবার্ট সেডজউইক)
  5. অ্যালগরিদম ডিজাইন ম্যানুয়াল (স্টিভেন স্কিয়েনা)
  6. প্রোগ্রামিং অনুশীলন (কর্নিগান এবং পাইক)
  7. প্রোগ্রামিংয়ের উপাদানসমূহ (স্টেপানভ)
  8. এটি কীভাবে সমাধান করবেন (পলিয়া)
  9. কম্পিউটার প্রোগ্রামগুলির গঠন এবং ব্যাখ্যা (অ্যাবেলসন এবং সুসমান)

সলিড কোড লেখার সময় আমি যখন 90 এর দশকের মাঝামাঝি পড়েছিলাম তখনও আমি অনেক কিছু পেয়েছিলাম । তবে এটি তালিকায় নেই কারণ এটি চিন্তাভাবনা দক্ষতার সাথে সত্যিকারের সাথে দৃ strongly়তার সাথে সম্পর্কিত নয় (এটি দুর্ঘটনাজনিত ভুল ব্যবহারের সম্ভাবনা হ্রাস করার জন্য এপিআই ডিজাইনের সাথে আরও বেশি কাজ করে - বা এটি অন্তত আমার প্রধান গ্রহণযোগ্যতা ছিল)।

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

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


4

প্রথম; যে কোনও প্রদত্ত শৃঙ্খলার জন্য, সর্বদা কোনও উপায়ে এটির চেয়ে আরও ভাল কেউ হতে চলেছেন। অংশ সম্পর্কে চিন্তা করবেন না।

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

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


2

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

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


0

দুটি নন-প্রোগ্রামিং বই রয়েছে যা আমি মনে করি এটি অত্যন্ত গুরুত্বপূর্ণ।

প্রথমটি হলেন রেডি স্মুলিয়ান রচিত "লেডি বা টাইগার"। এটি লজিক ধাঁধাগুলির একটি দুর্দান্ত সেট যা ছদ্মবেশে অটোমেটা তত্ত্বের এক ধরণের ট্যুরকে অন্তর্ভুক্ত করে। নিফটি স্টাফ

দ্বিতীয়টি ডগলাস হাফস্টাডটারের "গডেল, এসচার, বাচ: আন এটার্নাল গোল্ডেন ব্রিড", যা আপনাকে পুনরাবৃত্তি এবং ভাষা তত্ত্ব সম্পর্কে চিন্তাভাবনা করে।

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


0

আপনি অন্যান্য প্রোগ্রামারদের দক্ষতা কীভাবে মূল্যায়ন করেন তাতে আমি আগ্রহী।

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

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


0

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

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

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.