কোনও অবস্থান নেওয়ার আগে আপনি কীভাবে কোনও সম্ভাব্য নিয়োগকর্তার কোডের গুণমান নির্ধারণ করবেন? [বন্ধ]


31

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

হালনাগাদ:

একটি চেক-তালিকা: জিজ্ঞাসা করুন;

  • তারা কোডবেস সম্পর্কে কী ভাবেন। এবং আপনি যখন করেন, মুখের ভাবগুলি এবং তাদের প্রতিক্রিয়া জানাতে যে সময় লাগে তাতে মনোযোগ দিন। [Anon]
  • সংস্থার সিএমএম স্তর [ডিপিডি] কী (এবং যদি আপনি শ্রেনী 5 টি অন্যভাবে চালান তবে [ডগ টি])
  • তারা কীভাবে জীবনচক্র ব্যবহার করে [ডিপিডি] (এবং যদি আপনি "চটজলদি" শোনেন তবে আপনি যখন "চতুর" দ্বারা বোঝার চেষ্টা করার জন্য কিছু অনুপ্রবেশমূলক প্রশ্ন জিজ্ঞাসা শুরু করেন তবে তার অর্থ "চতুর বা" কাউবয় কোডিং "[কারসন 000৩০০০])
  • কোডের গুণমান নির্ধারণের জন্য তারা কোন সরঞ্জামগুলি ব্যবহার করে? [DPD]
  • তারা উন্নয়নের জন্য কোন সরঞ্জামগুলি ব্যবহার করে? [ডিপিডি] (রিফ্যাক্টরিং সরঞ্জাম এবং অবিচ্ছিন্ন বিল্ড সার্ভারগুলি দেখুন)
  • তারা কী উত্স কোড (সংস্করণ নিয়ন্ত্রণ) সিস্টেম ব্যবহার করে এবং তারা কেন এটি ব্যবহার করে তা জিজ্ঞাসা করা। [জাচারি কে]
  • তাদের পরীক্ষার পদ্ধতিগুলি কী কী? [কার্ল বিলিফেল্ড] (বিশেষত এমন দলগুলির জন্য দেখুন যা মজাদার ফ্রেমওয়ার্ক ব্যবহার করে এবং ইউনাইট / জুনিতের মতো প্রতিষ্ঠিত ফ্রেমওয়ার্কগুলির মাধ্যমে সম্পূর্ণ স্বয়ংক্রিয় ইউনিট পরীক্ষার উপর জোর দেয়; এমন দলগুলির দ্বারা বন্ধ করা হবে না যা পরীক্ষামূলক চালিত উন্নয়ন টিডিডি ব্যবহার করে না, তবে হতে সতর্কতা অবলম্বন করুন যদি তারা পরীক্ষার সাথে অবিচ্ছেদ্য এবং কঠিন সফ্টওয়্যার বিকাশের ভিত্তি হিসাবে বিবেচনা না করে থাকে।
  • নতুন বিকাশকারীদের কী ধরণের অ্যাসাইনমেন্ট দেওয়া হয়? অভিজ্ঞ বিকাশকারীদের কাছে? [কার্ল বিলেফেল্ট]
  • কত মানুষ একটি প্রকল্পে কাজ? [কার্ল বিলেফেল্ট]
  • রিফ্যাক্টরিং অনুমোদিত? উত্সাহিত? [কার্ল বিলেফেল্ট]
  • কোন মানের-সংক্রান্ত প্রক্রিয়া বা আর্কিটেকচারের পরিবর্তনগুলি বিবেচনাধীন বা সম্প্রতি করা হয়েছে? [কার্ল বিলেফেল্ট]
  • ব্যক্তিদের মডিউলে কতটা স্বায়ত্তশাসন থাকে? [কার্ল বিলেফেল্ট]
  • আপনি কি নতুন প্রকল্পগুলি (গ্রিনফিল্ড বিকাশ) বা উত্তরাধিকার প্রকল্পগুলি (ব্রাউনফিল্ড উন্নয়ন) বিকাশ করবেন? (গ্রিনফিল্ডের বিকাশ সাধারণত বেশি মজাদার এবং আপনি অন্য কারও ভুল দিয়ে পরিষ্কার না করায় সমস্যা কম থাকে)।
  • সংস্থা বা দলে কর্মচারী টার্নওভারের হার বেশি? (এটি প্রায়শই কোডের নিম্ন মানের ইঙ্গিত করে) [এম সমীর]
  • আপনার নিজস্ব কিছু প্রোগ্রামিং সমস্যা; তবে ঝাঁকুনির মতো দেখতে এড়িয়ে চলুন। [স্পার্কি]
  • কীভাবে বিকাশকারীরা সহযোগিতা করে এবং কীভাবে দলের মধ্যে জ্ঞান ভাগ করা হয়? (এটি আপনার ব্যক্তিত্বের সাথে মিলিত হওয়া উচিত; আমি বলব যে একক এবং জুটির কাজগুলির মিশ্রণটি আপনার সামাজিক প্রয়োজনের সাথে মিলে যায় এমন অনুপাতের সাথে সম্ভবত সেরা)
  • তাদের ডাটাবেস 3 য় নর্মাল ফর্ম (3 এনএফ) এর কতটা কাছাকাছি, এবং যদি এটি কোথায় এবং কেন বিচ্যুত হয়? (যদি তারা "3NF ???" বলে থাকে তবে চলে যান If না হলে এবং এটির না করার পক্ষে ভাল কারণ থাকতে পারে তবে তারা কী তা খুঁজে বের করুন)।

দ্রষ্টব্য: আমি আননের উত্তর গ্রহণ করেছি কারণ প্রায় এক সপ্তাহ পরে সম্প্রদায়টি মনে করে যে এটি সেরা - এটি আমার মনে হয় যে এটি কেবল এমন একটি বিষয় যা আপনার কোনওভাবে ষষ্ঠ-বোধ তৈরি করতে হবে। তবে, আমি মনে করি প্রত্যেকের কাছে বলার মতো মূল্যবান কিছু রয়েছে।


তাদের পণ্য উপসাগর, এটি বিচ্ছিন্ন এবং কিছু পড়ুন।
চাকরি

4
@ জোব - ক্রয় করার জন্য কোনও সরকারী প্রোগ্রাম থাকলেও, বিচ্ছিন্ন কোডটি নন-সংকলিত কোডের মতো হওয়ার সম্ভাবনা নেই।
পি.ব্রায়ান.ম্যাকি

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

উত্তর:


19

তাদের কোড দেখতে জিজ্ঞাসা করার পরিবর্তে, কোডবেস সম্পর্কে তারা কী মনে করেন তা জিজ্ঞাসা করুন। এবং আপনি যখন করেন, মুখের ভাবগুলি এবং তাদের প্রতিক্রিয়া জানাতে যে সময় লাগে তাতে মনোযোগ দিন।

তারপরে আপনার সংস্কৃতির অ-মৌখিক অঙ্গভঙ্গিগুলি সম্পর্কে তারা জ্ঞান প্রয়োগ করুন যা তারা সত্যিই বলছে interpret উত্তর আমেরিকার একটি সংস্থার জন্য নিম্নলিখিতগুলি সঠিক হওয়া উচিত:

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

অবশ্যই আন্ত: ব্যক্তিগত যোগাযোগের ক্ষেত্রে আপনার যদি সমস্যা হয় তবে এটি আপনার পক্ষে কার্যকর নাও হতে পারে।


1
লল .......... :)

6
এটি আপনাকে কোডের অবস্থাটি বলে না, এটি আপনাকে জানায় যে পরিচালকদের ইন্টারভিউ করা কোডগুলি কী মনে করে কোডটির অবস্থা। যদি তারা বিভ্রান্ত হয়ে পড়েছে বা সক্রিয়ভাবে এ সম্পর্কে নিজেকে বিভ্রান্ত করছে তবে সহায়তা করে না।
জেমস

5
আমি সক্রিয়ভাবে সফ্টওয়্যারটি বিকাশকারী কোনও ব্যক্তির সাথে সাক্ষাত্কারের আশা করব; এমনকি যদি তারা কেবল একজন স্থপতি হন তবে আমি তাদের কাছে লিখিত কোডটি পড়ার আশা করতাম।

1
@ বি টাইলার: "একমাত্র স্থপতি" কী? যেখানে আমি কাজ করি, স্থপতি কোডের সাথে ঘনিষ্ঠভাবে পরিচিত কারণ তিনি এর উল্লেখযোগ্য শতাংশ লিখেছিলেন বা লিখতে সহায়তা করেছিলেন।
ম্যাসন হুইলারের

1
@ জেমস - আপনি যদি আপনার সম্ভাব্য সহকর্মীদের দ্বারা সাক্ষাত্কার নেওয়ার সুযোগ না পান, যা আপনাকে কিছু বলে, তাই না? এটি অবশ্যই আমাকে কিছু বলবে।
আনন

11

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

আপনি যা জানতে চাইতে পারেন তা এখানে।

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

4
একজন স্থপতি কোনও সম্ভাব্য নিয়োগকর্তার বিল্ডিংয়ের চারপাশে হাঁটতে পারেন এবং তারা যে কাজের কাজ করেন তা দেখতে পারেন। একজন প্রকৌশলী শারীরিকভাবে উত্পাদিত পণ্যটির অভ্যন্তরীণ অংশগুলি দেখতে পান; তবে সফ্টওয়্যারটির একটি অংশ একটি কালো বাক্স। কেন কোড দেখতে জিজ্ঞাসা করবেন না?

8
এবং যদি আপনি না শুনতে "তত্পর", যে যখন আপনি চেষ্টা করতে কিছু তীক্ষ্ন প্রশ্ন জিজ্ঞাসা শুরু জিনিসটা যদি "তত্পর" দ্বারা তারা মানে "এজাইল বা" রাখাল বালক কোডিং "।
Carson63000

26
উঘ, আমি যদি সিএমএম স্তর 5 শুনি তবে আমি অন্য পথে চালিত হব।
ডগ টি।

2
@ কারসন 000৩০০০ "" চতুর "বা" কাউবয় কোডিং "" (আমি ভেবেছিলাম তারা প্রায় একই জিনিস!)

3
@ বি টাইলার: জিং! তবে গুরুত্ব সহকারে, আমি বেশ কয়েকজন সাক্ষাত্কারকে চিনি যাঁরা মনে করেছিলেন যে "আগিল" এর সংজ্ঞাটি "জলপ্রপাত নয়"; তারা বুঝতে পারেনি যে জলপ্রপাতের মডেলটি ফেলে দেওয়ার পরে আপনি আসলে এটি অন্য কোনও প্রক্রিয়াতে প্রতিস্থাপনের প্রয়োজন ছিল।
কারসন 63000 21

10
  1. তারা উত্স নিয়ন্ত্রণ ব্যবহার করে কিনা তা জিজ্ঞাসা করুন।
    • সোর্স নিয়ন্ত্রণ নেই? -> কোড সম্ভবত shitty
  2. কোড পর্যালোচনা কত ঘন ঘন তাদের জিজ্ঞাসা করুন।
    • কোনও কোড পর্যালোচনা? -> কোড সন্দেহজনক হতে পারে (তবে এটি প্রয়োজনীয়ভাবে নয়, বিশেষত যদি এটি শালীন বিকাশকারীদের সমন্বয়ে গঠিত একটি ছোট দল হয়))
  3. তাদের জিজ্ঞাসা করুন তারা কীভাবে প্রযোজনায় যাওয়ার আগে পরীক্ষা করে এবং মোতায়েন করে?
    • পরীক্ষার পরিবেশ নেই? উত্পাদনে সরাসরি স্থাপনা? -> কোড সম্ভবত shitty।
  4. তারা ক্রমাগত একীকরণ করে কিনা তা জিজ্ঞাসা করুন (.ড। চলমান হাডসনের সাথে চলমান)
    • কোন অবিচ্ছিন্ন ইন্টিগ্রেশন? -> কোড সন্দেহ হতে পারে, তবে তা অগত্যা নয়।
  5. (# 3 সম্পর্কিত), তাদের জিজ্ঞাসা করুন যদি তাদের পরীক্ষার পরিবেশটি আপনার বিকাশের পরিবেশ থেকে পৃথক হয়?
    • পরীক্ষা কি দেব? -> একটি ভাল চিহ্ন নয়, যদি না তারা সত্যিকারের নগদ-স্ট্র্যাপ না হয় তবে অতিরিক্ত বাক্সটি কত ব্যয়বহুল হবে?
  6. তারা প্রোডাক্ট মোতায়েনের আগে কোনও ক্রিয়াকলাপ পর্যালোচনা করে কিনা তা জিজ্ঞাসা করুন।
    • উত্পাদন স্থাপনার আগে ক্রিয়াগুলির কোনও পর্যালোচনা নেই? -> খারাপ জুজু।
  7. তাদের বিল্ড করতে কত পদক্ষেপ নেয় তা জিজ্ঞাসা করুন।
    • 3 এর বেশি? -> সাধারণত খারাপ জুজু।
  8. তারা কি (বা অনুমানের) কোড মেট্রিকগুলি যেমন সাইক্লোমেটিক জটিলতা বা এলসিওএম (শ্রেণির সংহতির একটি পরিমাপ) গ্রহণ করে?
    • হ্যাঁ? -> সম্ভবত (তবে অবশ্যই না) তাদের কোডের গুণগত মান সম্পর্কে একটি ভাল লক্ষণ।
    • না, তবে তারা ধারণাগুলি বুঝতে পারে (কমপক্ষে চক্রবৃদ্ধি জটিলতা)? -> বলা শক্ত
    • তারা মনে করেন সাইক্লোমেটিক জটিলতা টিম্বুক্টুর একটি বহিরাগত থালা বা এফ্রোডিসিয়াক (অন্য কথায়, তারা জানেন না যে এটি কী)? -> সম্ভাব্য খারাপ জুজু।
    • তারা মনে করে যে এটি অপ্রাসঙ্গিক বিষ্ঠা (বা সাজানোর কিছু অন্য আচরণ)? -> পালাতে হবে
  9. তারা কীভাবে বাগের উপর নজর রাখে জিজ্ঞাসা করুন।
    • তারা কিছু মেট্রিকের বিরুদ্ধে # টি বাগ ট্র্যাক করে (। প্রতি প্রকল্পে, পরিবর্তিত মডিউলগুলির সংখ্যা, বা প্রয়োজনীয় সংখ্যার নম্বর / পরিবর্তন অনুরোধ, কিছু!)? -> তাদের কোড সম্পর্কে ভাল চিহ্ন (এবং তাদের সফ্টওয়্যার প্রক্রিয়া)।
    • তারা উপরে এক করতে এবং (ইত্যাদি পরিবর্তনের অনুরোধগুলি, প্রকল্প আকারের #,) সম্ভব বাগ সংখ্যা তারা ভবিষ্যতে (অথবা চলমান) প্রকল্প একটি প্রত্যাশিত মেট্রিক উপর ভিত্তি করে সম্মুখীন হতে পারেন ভবিষ্যদ্বাণী করা? -> খুব ভাল চিহ্ন।
    • তারা কি কেবল বাগ সমাধানের জন্য বাগের উপর নজর রাখে? -> বলা শক্ত
    • কোনও ধারাবাহিক ট্র্যাকিং নেই? -> পালাতে হবে

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

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

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

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

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

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

যখন এটি ঘটে, তখন আপনাকে নিজেকে জিজ্ঞাসা করতে হবে যে এই কাজটি আপনার খারাপ দরকার কিনা । কখনও কখনও আপনি করেন, এবং আপনি স্প্যাগেটি বিষ্ঠা একটি গাদা একটি নিমজ্জন নিতে হবে। কখনও কখনও আপনি করবেন না (অর্থাত্, আপনি তা সহ্য করতে পারবেন না))

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


8

প্রকৃত কোড মানের পরিবর্তে, আমি বরং এমন একটি সংস্থার সন্ধান করব যেখানে কোড মানের গুরুত্ব ভালভাবে বোঝা যায়।

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

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

আমি জানি যেখানে আমি কাজ করতে চাই।


এটি মাথায় পেরেক আঘাত।
ওয়েইন মোলিনা

6

এখানে একটি 99.9% সম্ভাবনা রয়েছে যে আপনি শুরু করার আগে আপনি কোডটি দেখতে পারবেন না। (যদি না তারা অবশ্যই ফ্রি সফটওয়্যার পণ্য না দেয়)

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


... বা যদি না তারা তাদের মালিকানাধীন পণ্য সহ উত্স কোড সরবরাহ করে। আমার ব্যবসায়ের লাইনে (এনএলপি), লিংপাইপটি সেভাবে সরবরাহ করা হয়, এবং উত্সের সাথে চালিত অন্যান্য পণ্য থাকতে হবে।
ফ্রেড ফু

6

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

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

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

সুতরাং, কোডের মানটি যাচাই করতে আমি যে প্রশ্নগুলি জিজ্ঞাসা করব সেগুলি হ'ল:

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

গুরুত্বপূর্ণ তথ্য এখানে: আপনার কাছে যা গুরুত্বপূর্ণ (কোডটি) কোড বেসের গুণমান নয়, তবে কর্মক্ষেত্রটি সামগ্রিকভাবে উপভোগযোগ্য (এবং এটি কতটা সম্ভব যে কমপক্ষে আপনি যতক্ষণ থাকতে চান ততক্ষণ সংস্থাটি থাকবে)।
gnasher729

5

@ ডিডিডি এবং @ জাচরি যেমন বলেছিলেন, প্রক্রিয়া এবং এসডিএলসি খুব গুরুত্বপূর্ণ কারণ তবে আমি আরও কিছু বিষয় যুক্ত করতে চাই যা আমার অভিজ্ঞতা অনুসারে কোডের মানের উপর উল্লেখযোগ্য প্রভাব ফেলে:

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

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


1
আমি মনে করি উচ্চ টার্নওভার রেট প্রতিক্রিয়া একটি খুব ভাল সূচক ... ব্যর্থ প্রকল্পের পিছনে আসা সাধারণত কারও স্বাস্থ্যের পক্ষে ভাল হয় না ...
ওয়েবদাদ 3

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

3

আমার মনোভাব এটি হ'ল কোড কোড, এটি যদি খারাপ হয় তবে ভাল করে তোলা এটি একটি চ্যালেঞ্জ। যদি এটি ভাল হয়, তবে এটিকে আরও উন্নত করা আরও কঠিন চ্যালেঞ্জ!

আমার পক্ষে সর্বাধিক গুরুত্বপূর্ণ হ'ল আমি যে সংস্থা এবং লোকদের সাথে কথা বলার সুযোগ পেয়েছি তাদের পক্ষে কাজ করতে চাই কিনা। কোড পরিবর্তন করা যেতে পারে, লোকেরা পারবেন না ...


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

@ ক্রিস, এটা পরাজিত! ;) খারাপ কোডের জন্য অনেকগুলি কারণ রয়েছে, তবে যদি ভাবেন লোকদের মনোভাব পরিবর্তনের জন্য চেষ্টা করে থাকে তবে কেন নয় ??
নিম

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

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

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

3

কিছুটা কৌতুক করে আমি বলি, আমার সাথে সাক্ষাত্কার

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

আমি সবাইকে এই কৌশলটি ব্যবহার করতে উত্সাহিত করি, আপনি ইতিমধ্যে জানেন যে বাগটি আসল, সমস্যাটি আসল, এবং আপনি জানেন যে এটি খুঁজে পেতে এবং ঠিক করতে কত সময় নিয়েছিল।

দুর্দান্ত জিনিসটি হ'ল আপনার একটি পরিমাপযোগ্য সমস্যা হতে পারে।

বিশেষজ্ঞদের বেশ ভাল থেকে আলাদা করতে আমি একটি শেষ সাক্ষাত্কারের প্রশ্ন হিসাবে একটি খুব কঠিন সমস্যাটি ব্যবহার করেছি।

ওপি-র প্রশ্নের প্রাসঙ্গিকতা হ'ল যে কেউ এটি দৈহিক সাক্ষাত্কারে আসে তারা কিছু কোড দেখতে পায়। (সংস্থার গোপনীয় সামগ্রীর সাথে কিছুই নয়)

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

অবশ্যই, স্ট্যান্ডার্ড "এটি সমস্ত একটি কোম্পানির গোপনীয়" উত্তর হ'ল মোট ঘোড়া-পিকি।
আমার প্রমাণ: আমার পূর্ববর্তী নিয়োগকর্তার কাছে, সামরিক পণ্যের একটি গোপনীয় অংশটি ছিল ইন্টারভিউ প্রশ্নের প্রশ্নের কোড নমুনা। [ভাগ্যক্রমে শ্রেণিবদ্ধ]

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


2

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


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

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

+1 হিসাবে আমি ধারণাটি পছন্দ করি তবে তারা যদি আপনাকে সত্যিই পছন্দ না করে তবে বেশিরভাগ সাক্ষাত্কারকারী আপনাকে দৌড়াদৌড়ি করতে বলবে।
21

2

কোডটি প্রযোজনা তৈরিতে কী প্রয়োজন তা জিজ্ঞাসা করুন। যদি আপনি 'ওহহ ... দেব এটি কমান্ড ...' পেয়ে থাকেন তবে এটি অবশ্যই জঞ্জাল।

কোডের গুণমান বাড়ানোর প্রবণতা রয়েছে এমন অনেকগুলি বিষয় রয়েছে (স্পষ্টতই, কোনও গ্যারান্টি নেই)।

  • স্ট্যাটিক বিশ্লেষণ (। নেট এ এফএক্সকপ / স্টাইলোকপের মতো জিনিস)
  • পরীক্ষার স্যুটটির একটি উপসেট (বা সম্পূর্ণ সেট) - ইউনিট / ইন্টিগ্রেশন / রিগ্রেশন / ম্যানুয়াল ইত্যাদি
  • বাডি বিল্ড (কোনও দলের / ব্যবহারকারী নির্ভর সমস্যা রয়েছে কিনা তা দেখার জন্য দলে আরও একটি ডেভস পরিবর্তনগুলি তৈরি করে - কখনও কখনও তাত্ক্ষণিকভাবে স্যানিটি চালানোও হয়)
  • কোড পূনর্বিবেচনা

এগুলি কেবল কোডের শক্তি নয়, কোডের মান উন্নত করতে সহায়তা করতে পারে।


1

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

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

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


1

দুর্ভাগ্যক্রমে আপনি পারবেন না। কোনও সংস্থা আপনাকে তাদের কোড দেখতে দেবে না (তবে তারা আপনার কোডটি দেখতে জিজ্ঞাসা করবে ...), এবং যদি আপনি তাদের পরিবেশ সম্পর্কে প্রশ্ন জিজ্ঞাসা করেন তবে আপনি সম্ভবত "(সংস্করণ নিয়ন্ত্রণ? নিশ্চিত ..") এর সাথে মিথ্যা বলবেন আমরা ব্যবহার .. Uhh .. চিন্তা উপ .. উপ-কিছু ") বা মান সম্পর্কে বগুড়ায় (" আমরা ব্যবহার করছেন সর্বশেষ এবং সর্বশ্রেষ্ঠ .NET 4 "শুধুমাত্র খুঁজে বের করতে যে তারা .NET 4 ব্যবহার করছেন যখন তারা ' আবার এটি লিখুন। নেট 1.1)।

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

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