আপনি কখনই প্রোগ্রামিং টাস্কের মুখোমুখি হন যখন আপনি কখনও করেন নি?


37

আমি 3 মাস আগে একটি নেট নেট বিকাশকারী হিসাবে আমার কেরিয়ার শুরু করেছি এবং বিবিধ প্রযুক্তি, নিদর্শন এবং ধারণাগুলি সম্পর্কে দীর্ঘ প্রশিক্ষণের পরিকল্পনার পরে আমার তত্ত্বাবধানকারী বিকাশকারীরা সিদ্ধান্ত নিয়েছে যে সংস্থাটি হ্যান্ডেল করে এমন অনেক প্রকল্পের মধ্যে আমি যোগ দিতে প্রস্তুত আছি।

শেষ পর্যন্ত কোডিং শুরু করতে পেরে আমি খুব উত্সাহিত। আমি যে দলে যোগদান করেছি তা আপাতত ক্ষুদ্র, কারণ একটি নতুন প্রকল্প দিয়ে শুরু হয়েছিল, যা দুর্দান্ত কারণ আমি প্রকল্পের পুরো জীবনচক্রের সাথে যুক্ত হতে পারি। এটি ব্যাকডযুক্ত একটি ওয়েব ভিত্তিক এসপিএ প্রকল্প যা ASP.NET MVC / ASP.NET ওয়েব API ব্যবহার করে এবং ফ্রন্ট-এ ডুরান্ডাল কাঠামো এবং সম্পর্কিত লাইব্রেরি ব্যবহার করে।

আমার সমস্যাটি হ'ল আমার সহকর্মীদের সাথে বৈঠক করার পরে এবং পরবর্তী মাসের জন্য কাজগুলি এবং অনুমানগুলি স্থাপন করার পরে আমি নিজেকে এমন একটি অবস্থানে পেয়েছি যা আমি জানি না যে আমি কোনও কাজ গ্রহণ করতে সক্ষম কিনা।

আমি তৈরি করা কোনও কাজ কখনই করিনি এবং আমার কীভাবে এগিয়ে যাওয়া উচিত তা আমি জানি না।

উদাহরণস্বরূপ তৈরি করা একটি কাজ পুরো অ্যাপ্লিকেশনটির জন্য জেনেরিক ত্রুটি পরিচালনা করার প্রক্রিয়া তৈরি করে।

যখন সে কখনও না করে এমন কাজগুলির মুখোমুখি হয়ে একজন সাধারণত কীভাবে এগিয়ে যায়?



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

উত্তর:


59

কাজের জন্য প্রস্তুত করার জন্য আপনার করা এবং করা উচিত এমন বেশ কয়েকটি জিনিস রয়েছে:

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

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

এ কারণেই আমি প্রকৌশলী; আমি নতুন জিনিস খুঁজে বের করতে পছন্দ করি।

নতুন জিনিস শেখা কখনই বন্ধ করবেন না। শেখা যা আপনাকে আরও উন্নত করে।


27

কোনও নিখুঁত সমাধান নেই, তবে কিছু জিনিস যা সাহায্য করতে পারে:

  • ছোট ছোট সম্ভাব্য ইউনিটগুলিতে কাজগুলি ভাঙ্গা করুন - যতক্ষণ না আপনার কাছে করার মতো জিনিস থাকে ততক্ষণ এগুলি ভেঙে দিন।

  • আপনি সত্যই তা বুঝতে পেরেছেন তা নিশ্চিত করার জন্য তাত্ক্ষণিক কাজ বা সমস্যাটি পুনরায় করুন। তারপরে কিছু বিশ্লেষণ করুন এবং পুনরাবৃত্তি করুন।

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

  • সঠিক কাজটি নির্বাচন করতে সহায়তা চাইতে এবং শুরু করার জন্য যোগাযোগ করুন approach

  • এমন এক পরামর্শদাতার সন্ধান করুন যা আপনাকে এক বা দুই সপ্তাহের জন্য ধ্রুবক (আদর্শ দৈনিক) প্রতিক্রিয়া জানাতে পারে।

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

  • আপনি যে সমস্যার মুখোমুখি হচ্ছেন তার একটি চলমান তালিকা রাখুন এবং তারপরে হয় দৈনিক স্ক্রমে বা আপনার চয়ন করার নিয়মিত সময়ে, অন্যদের সাথে সেগুলি নিয়ে যান।

  • সর্বাধিক প্রাথমিক প্রশ্ন জিজ্ঞাসা করতে ভয় পাবেন না। অন্যের দ্বারা অনুমান করা চ্যালেঞ্জ করা কঠিন হতে পারে তবে আপনি যা দিয়েছেন তার সাথে আপনি যদি এগিয়ে যেতে না পারেন তবে আপনাকে আবার প্রশ্ন করতে হবে।

  • আপনি যদি উদ্দেশ্যটি জানেন তবে আপনি আটকে না যাওয়া পর্যন্ত যথাসাধ্য চেষ্টা করুন এবং তারপরে স্ট্যাক ওভারফ্লোতে অগ্রগতি এবং প্রশ্ন পোস্ট করুন।


11
"প্রথমে সহজ কাজটি বেছে নিন" বাদে আমি বেশিরভাগ ক্ষেত্রেই একমত । একটি প্রকল্পের ঝুঁকি দৃষ্টিকোণ থেকে, প্রথমে সবচেয়ে গুরুত্বপূর্ণ প্রয়োজনীয় কাজগুলি করা ভাল। হার্ড পার্টসটি আসলে খুব শক্ত কিনা তাড়াতাড়ি শিখাই ভাল। তারপরে আপনি (সম্ভবত) একটি সহজ ডিজাইনে ব্যাকট্র্যাক করতে পারেন ... বা প্রয়োজনীয়তাগুলি পুনরায় আলোচনা করতে পারেন।
স্টিফেন সি

18

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

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

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

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

=================

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


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

11

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

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

অনুসন্ধান - জেনেরিক ত্রুটি পরিচালনার জন্য একটি ওয়েব অনুসন্ধান কিছুই দিয়ে আসে? আপনি একটি সম্পূর্ণ সমাধান নাও পেতে পারেন। আপনাকে এটিতে কাজ করতে হবে এবং যাইহোক এটি আপনার অ্যাপ্লিকেশনে ফিট করতে হবে।

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

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

এটি এখনও ডাক্তারদের ওষুধ "অনুশীলন" সম্পর্কে পুরানো রসিকতা; তাদের সমস্ত উত্তরও নেই।


আমি আপনার দলকে কাজে লাগানোর সাথে একমত আপনাকে দ্রুত গতিতে পৌঁছে দেওয়ার জন্য কি তারা কি জুটিবদ্ধ প্রোগ্রামিংয়ের জন্য উন্মুক্ত থাকবে?
নিওন্টাপির

সমস্ত দল / ডেভস জুড়ি-প্রোগ্রামিংয়ের ধারণার মধ্যে নেই, তবে এর অর্থ এই নয় যে আপনি বসতে পারেন এবং কাঁধ বা orর্ধ্বমুখী দেখতে পারেন না।
জেফো

6

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

আমার ব্যক্তিগত প্রক্রিয়াটি এরকম কিছু:

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

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

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