কলেজ থেকে স্নাতক হওয়া প্রতিটি প্রোগ্রামারদের কী কী দক্ষতার সেট স্থাপন করা উচিত? [বন্ধ]


9

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


আমি ধরে নিচ্ছি তুমি কোন বিশ্ববিদ্যালয় থেকে স্নাতকোত্তর মানে?
মাইকেল শ

1
@ টলেমি: রাজ্যগুলিতে কলেজ শব্দটি সঠিক।
ম্যাকনিল

1
নিজেকে গাধাতে লাথি মারতে এবং পাঠ্য বার্তাটি প্রকাশ করতে ইচ্ছুক, আপনি যুবক! socializedpr.com/…
কাজ

উত্তর:


27

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


এটি আরও ভাল বলতে পারত না।
ক্রিস

4

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

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

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

  3. পচন বুঝুন । কেবল সমস্যাগুলিই সমাধান করা যায় না, তবে এটি করার পথটি বিভাজন এবং বিজয়ের মতো সহজ। সহজ উপাদানগুলিতে কোনও সমস্যা হ্রাস করুন এবং আপনার উত্তর সর্বদা নিজে উপস্থিত হবে।

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

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

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


1
  1. ভাল প্রোগ্রামিং জন্য একটি আবেগ
  2. নম্রতা
  3. নতুন জিনিস দ্রুত শিখার ক্ষমতা

0

নিয়োগকর্তা হিসাবে, আমি কেবল প্রোগ্রামার হিসাবে লোকদের নিয়োগ করব যারা:

  1. কোডের মাধ্যমে একক পদক্ষেপ নেওয়ার অভিজ্ঞতা আছে।
  2. একটি সাধারণ নির্দিষ্ট সমস্যা সমাধানের জন্য উপযুক্ত নকশার প্যাটার্ন নির্বাচন করতে পারেন।
  3. কোড প্রয়োগ করতে পারে যা তাদের পছন্দসই ডিজাইন প্যাটার্ন প্রতিফলিত করে।

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

অন্যান্য সুন্দর জিনিসগুলি হ'ল:

  • একটি টিম প্রকল্পে কাজ করার অভিজ্ঞতা
  • উত্স নিয়ন্ত্রণ ব্যবহার
  • ইউনিট পরীক্ষার অভিজ্ঞতা

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


0

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

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


0
  1. আন্তঃব্যক্তিক এবং যোগাযোগ দক্ষতা
  2. ব্যবহারিক পদ্ধতি (একাডেমিক তত্ত্ব নয়)
  3. প্রযুক্তিগতভাবে প্রবণ নয় এমন ক্লায়েন্ট হিসাবে চিন্তা করার ক্ষমতা
  4. মূল্য / বেনিফিটের ক্ষেত্রে কী কী গুরুত্বপূর্ণ / এবং কোনটি উপেক্ষা করা যায় তা মূল্যায়ন করার ক্ষমতা
  5. একটি দলে কাজ করার ক্ষমতা
  6. কৌশলগতভাবে চিন্তা করার ক্ষমতা: আর্কিটেকচার, এক্সটেনসিবিলি, স্কেলাবিলিটি
  7. প্রকৃত বিশ্বের সাথে বিশ্ববিদ্যালয়ের শিক্ষাগুলির খুব সামঞ্জস্যতা নেই তা মেনে নেওয়ার উন্মুক্ততা (বিশ্ববিদ্যালয়ের উপর নির্ভর করে - কিছু এ সম্পর্কে আরও ভাল ভাড়া)।

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


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

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

1
এগুলি সাধারণ দক্ষতা এবং অনেকগুলি স্কুলে শেখার পক্ষে উপযুক্ত নয়।
ডেভিড থর্নলি

-1

অন্যান্য উত্তরগুলি ভাল, তবে আমি বলব যে বিশ্ববিদ্যালয়ে # 1 উপেক্ষিত দক্ষতা প্রকৃত সফ্টওয়্যার ইঞ্জিনিয়ারিং বলে মনে হচ্ছে ।

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

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


4
কারণ মানুষ যা শেখানো হয় তা কম্পিউটার বিজ্ঞান, সফটওয়্যার ইঞ্জিনিয়ারিং নয়। বিশ্ববিদ্যালয় ও শিক্ষার্থীরা যদি বুঝতে পারে যে কম্পিউটার বিজ্ঞান! = সফটওয়্যার ইঞ্জিনিয়ারিং, কম্পিউটার বিজ্ঞান একটি বিজ্ঞান, কম্পিউটার বিজ্ঞান প্রোগ্রামিং সম্পর্কে নয়, এবং সফ্টওয়্যার ইঞ্জিনিয়ারিং প্রোগ্রামিংয়ের চেয়ে আরও বেশি কিছু হয়।
থমাস Owens

-1। হুডের অধীনে জিনিসগুলি কীভাবে কাজ করে তা শিখতে (সংকলক, ওএস এর, সমাবেশ ভাষা, ইত্যাদি) আপনি এই স্তরে আসলে কখনও কাজ না করলেও গুরুত্বপূর্ণ, কারণ আপনি কোনও পর্যায়ে ফাঁসানো বিমূর্ততার মুখোমুখি হবেন।
dsimcha

@ ডিডিমচা, আপনি যদি বিশ্বাস করেন যে, বাস্তব বিশ্বে এই মুহূর্তে সংস্থাগুলি কী ধরণের সফ্টওয়্যার ইঞ্জিনিয়ারদের নিযুক্ত করছে সে সম্পর্কে আপনার খুব সঙ্কোচিত দৃষ্টিভঙ্গি রয়েছে। এমন নয় যে এই জিনিসগুলির কোনও মূল্য যুক্ত হয় না - এটি আরও প্রয়োজনীয় কিছু না শেখানোর সুযোগ্য ব্যয়।
নিকোল
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.