কোনও "তাত্ত্বিক" প্রোগ্রামার বেকমিং এড়ান


28

আমি এই নিবন্ধটি এসওতে বেশ কয়েকটি পোস্টে পেয়েছি । আমি নিজেকে 6th ষ্ঠ প্রত্নতাত্ত্বিতে পড়তে দেখি; "তাত্ত্বিক"।

এটি "তাত্ত্বিক" এরূপ সংজ্ঞা দেয়:

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

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

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

এই কাজটি এড়াতে আমাকে কী সাহায্য করতে পারে? এবং কেআইএসএস নীতিগুলিকে আঁকড়ে থাকুন?

ধন্যবাদ


3
ঠিক আছে, আপনি যে প্রবণতাটি চিনেন তা একটি ভাল শুরু!
মাইকেল কে

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

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

15
সত্য কমনীয়তা সরলতা দ্বারা সংজ্ঞায়িত করা হয়। যদি অন্যরা কোডটি অনুধাবন করতে না পারে তবে সম্ভবত এটি আপনার মত মনে হয় মার্জিত নয়।
বেরিন লরিশচ

1
"যদি আপনি একই প্রকল্পে দুটি কোড কাউবয় রাখেন তবে এটি ব্যর্থ হওয়ার নিশ্চয়তা রয়েছে, কারণ তারা একে অপরের পরিবর্তনকে পদদলিত করে এবং একে অপরকে পায়ে গুলি করে।" - এই এক উজ্জ্বল :)
পি শেভড

উত্তর:


21

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

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


হ্যাঁ! তাত্ত্বিক প্রবণতাগুলির মোকাবিলায় অন্য প্রোগ্রামার থাকা খুব ভাল কাজ করে।
মাইকেল কে

আমি একাকী প্রোগ্রামার হিসাবে কাজ করার জন্য এগিল ধারণাটি প্রয়োগ করার চেষ্টা করেছি এবং এটি বেশ ভালভাবে কাজ করে।
বব মারফি

10
  1. আপনার বিকাশ হওয়ার কথা রয়েছে তার লক্ষ্য রাখুন।

  2. অদূর ভবিষ্যতে বিতরণযোগ্য কিছুতে এই লক্ষ্যগুলি সঙ্কুচিত করুন।

  3. তারপরে অন্যান্য লক্ষ্য বিবেচনা করে এই লক্ষ্যগুলিতে মনোনিবেশ করুন। কোনও পটভূমি নেই। কোনও ইতিহাস নেই। কোনও এক্সটেনশন নেই। সাধারণ বা বিমূর্ত কিছুই।

  4. তারপরে এগুলি আরও সংকীর্ণ করুন খুব কম আপনি এটি করতে পারেন যা বিতরণযোগ্য হবে। ভাল না. নমনীয় নয়। রক্ষণাবেক্ষণযোগ্য নয়। নিছক গ্রহণযোগ্য।

  5. তারপরে আপনি করতে পারেন এমন খুব কম অর্জনের জন্য প্রয়োজনীয় পরম নূন্যতমটিতে অগ্রাধিকার দিন। পয়েন্টটি হ'ল প্রায় এক সপ্তাহের মধ্যে একটি তারিখ বাছাই করা এবং সেই তারিখটির দিকে গড়তে। আপনি যদি এক সপ্তাহের মধ্যে কিছু সরবরাহ করতে না পারেন। সঙ্কীর্ণ। ফোকাস। ছাঁটা। হ্রাস করুন।

  6. তারপরে ফ্লাফ দূর করুন। আপনার কেবল এক সপ্তাহ আছে। কাটতে থাকুন।

  7. তারপরে মাত্র একটি হ্রাস বাস্তবায়নের উপর ফোকাস করুন যা যত তাড়াতাড়ি সম্ভব করা হবে। আদর্শভাবে, এক সপ্তাহেরও কম সময়, যাতে আপনার ডকুমেন্টেশন লেখার সময় থাকে।


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

করছেন - এবং ব্যর্থ - কঠিন। কিছু করার চেয়ে কিছু করার বিষয়ে কথা বলা সহজ। প্রচুর গবেষণা এবং চিন্তাভাবনা ভুল কাজটি এড়াতে এবং তারপরে ব্যবহারকারীরা যে মিথ্যা বলেছে তা শেখার পরে এটি পুনরায় কাজ করার একটি উপায়।

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


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

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

1
হ্যাঁ, "কঠোর পরিশ্রম করা" মানে এই নয় যে "করা কঠোর পরিশ্রম, এবং তাত্ত্বিকরা এটি করাতে খুব অলস", বরং "করণ মনোবিজ্ঞানগতভাবে কঠোর" - যে এটি নিরবচ্ছিন্নভাবে কাজ করা (নিরাপদ!) নিরাপদ এবং আরও স্বাচ্ছন্দ্যযুক্ত আসলে, এটি পেরেক এবং এটি শেষ চেয়ে কিছু।
কারসন 63000 22

6

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

আমি আপনার শক্তিতে খেলব, এমন সুযোগের সন্ধান করব যেখানে আপনার স্টাইল এবং পছন্দটি সুবিধা।

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

ব্যক্তিগতভাবে আমার কাছে ইউআরএলগুলির রিমগুলি আকর্ষণীয় দেখায় এবং লাইব্রেরির বইগুলির গাদাও রয়েছে। আমি শেষ পর্যন্ত এইগুলি ইউআরএলগুলির প্রায় 10% পেতে পারি এবং শেষ পর্যন্ত 50% বই পড়তে পারি তবে আমি এখনও দিনের কাজটি খুব ভাল করে পেয়েছি।


5

আমি নিজেই এই সমস্যাটি করেছি। দুটি কৌশল সাহায্য করেছে:

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

নিজেকে খুব বেশি মারধর করবেন না। কোনও তাত্ত্বিককে ফোকাস দেওয়া এবং দরকারী কাজ করার চেয়ে কার্যকরী কাজ করা তার চেয়ে সহজ the


4

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

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

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


2

এখানে একটি সাধারণ গাইডলাইন রয়েছে যা পুরোপুরি আনপ্যাক করা না হলে এই পরিস্থিতিটি কীভাবে এড়ানো যায় তার পুরো ব্যাখ্যা দেয়।

সবচেয়ে সহজ কাজটি করুন যা সম্ভবত কাজ করতে পারে।

- কেন্ট বেক


অথবা আইনস্টাইন যেমন বলেছিলেন: "সবকিছুকে যতটা সম্ভব সহজ করুন, তবে সহজ নয়"।
ইয়ান

সমস্যাটি হ'ল একজন তাত্ত্বিকের কাছে, "সরল" এর বিভিন্ন অর্থ রয়েছে। ম্যাসাদ ব্যবহার করে হাস্কেলের ওএস কার্নেলটি পুনরায় লেখালেখি একটি তাত্ত্বিককে "সরলতা" হিসাবে চূড়ান্ত হিসাবে আঘাত করতে পারে।
ক্রিস্টোফার জনসন

1

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

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


1

সাধারণ:

  1. বাস্তববাদী হন

তাত্ত্বিকের বিপরীত দিকটি (যা এর প্রোগ্রামিং ডোমেনের তথ্য / জ্ঞানের দিকের সুবিধাগুলিতে রয়েছে) হ'ল প্র্যাকমেটিক।

এই উত্তরে বর্ণিত হিসাবে কিআইএসএস, ডিআরওয়াই, এসওসি এবং অন্যান্য চিন্তাভাবনা প্রয়োগের অর্থ হ'ল মৌমাছিবাদী বাস্তববাদী।

আপনি এই বইটি পড়ে বাস্তববাদী হতে শিখতে পারেন:

http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/dp/020161622X/ref=sr_1_1?ie=UTF8&qid=1302893763&sr=8-1

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

সুতরাং, অনেক অনুশীলন। এবং অনেক শিখুন। তবে একজনের ওপরে উঠতে দেবেন না।

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


0

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

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


0

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

এখানে 'আসল প্রশ্ন' পোস্টের শেষার্ধে আরও স্পষ্ট। প্রকল্পের সুনির্দিষ্ট লক্ষ্যটি জানুন এবং অন্য কোন প্রান্তে নয়, সেই লক্ষ্যে কাজ করুন। এই ক্ষেত্রে এটি কেবলমাত্র আত্ম-শৃঙ্খলার বিষয়। এস আরও তথ্যের জন্য এস লট এর উত্তর দেখুন :)।


0

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

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


0

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

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

if (weWantToMakeChangesToCodeLaterOnAndProbablyBySomeOtherProgrammer)
{
    Console.Writeline("We need to keep the code readable and simple enough ");
    Console.Wrietline("to make it easy for him/her to understand it!");
}

0

আপনার বসকে একজন পরামর্শদাতা পেতে বলুন এবং তারপরে পরামর্শদাতা যা বলেছিলেন তেমন করুন।

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

কোডিংয়ের আগে পরামর্শদাতাকে আপনার সমস্ত ডিজাইন এবং কোডিংয়ের পরে আসল কোডটি পর্যালোচনা করুন । এটি আপনাকে কী করা দরকার তার দিকে ফোকাস রাখতে সহায়তা করবে।


0

আমার ওভার ইঞ্জিনিয়ার জিনিসগুলিতে একই প্রলোভন রয়েছে এবং এটি পেরে উঠতে স্ব-শৃঙ্খলা ও সংস্থার দরকার পড়ে। অন্য কারও জন্য কোডিং করার সময়, আমি এখানে এটি কীভাবে করব:

  1. একটি বিচ্ছিন্ন কাজ শুরু করার সময় কার্যকারিতা, গুণমান, বিতরণের তারিখ ইত্যাদির জন্য কী প্রয়োজন তা নিয়ে কয়েক মিনিট সময় ব্যয় করুন
  2. কোডটির গ্রাহকের লক্ষ্যগুলি মাথায় রেখে এটি কীভাবে করা যায় তা উপ-কার্য, উপ-সাব-টাস্ক ইত্যাদির মধ্যে ভেঙে কীভাবে করা যায় তার পরিকল্পনা করতে আরও কিছুটা সময় নিন ।
  3. অজানা জন্য 50% যোগ করে প্রতিটি আইটেম জন্য সময় অনুমান । যদি কোনও আইটেম চার ঘন্টার বেশি সময় নেয়, তবে এটি আরও কিছুটা ভেঙে দিন। (যদি আমি কলেজের প্রকল্পগুলি করতাম তবে আমি একটি স্প্রেডশিট ব্যবহার করতাম, তবে একাধিক ক্লায়েন্টের সাথে পরামর্শক হিসাবে, আমি রেডমাইন নামে একটি ইস্যু-ট্র্যাকিং সিস্টেম ব্যবহার করি))
  4. সর্বাধিক গুরুত্বপূর্ণ: আমি যে আইটেমগুলি নিয়ে এসেছি কেবল তা করুন

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

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

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

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

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