ব্র্যান্ড নতুন সফ্টওয়্যার তৈরি করা কি বেশিরভাগ প্রোগ্রামিং কাজের একটি বড় অংশ? [বন্ধ]


63

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

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

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

আমি কি ভূল? আমি কি বেশিরভাগ প্রোগ্রামিং কাজের সঠিকভাবে বর্ণনা করছি, বা বেশিরভাগ প্রোগ্রামারদের মনে হয় যে তারা প্রায়শই নতুন জিনিস তৈরি করে চলেছে?


11
@ জ্যামি টেইলর আপনার রূপক পদগুলিতে অনুবাদ করেছেন, প্রশ্নটি হল: অন্যের লেগো মডেলটি সর্বদা ফিক্স করা এবং খুব কমই একটি নতুন তৈরি করা কি সাধারণ?
কালেব

22
@ জো, হাহ! সুতরাং আপনি সেই সমস্ত উত্পাদনকারী লোক! * # @ * ও!% লিগ্যাসি সিস্টেম আমরা চিরকাল বজায় রাখতে চাই ?! ;
পি

14
@ জো, হ্যাঁ আমি করি, আপনাকে অনেক ধন্যবাদ হতে পারে আপনি যদি আরও মাত্র একক ইউনিট পরীক্ষা লিখতে পারেন তবে আমি পুরোপুরি সন্তুষ্ট থাকব :-)
পিটার টার্ক

8
@ জো, এটি পুরানো প্রবাদটি মনে রাখে, যা আমি বিশেষভাবে ভালভাবে খুঁজে পাই নি - যা এখনও অবধি: "সর্বদা কোডটি মনে হয় যেন পরবর্তী কোডটি আপনার কোডটি গ্রহণ করে এমন এক বিপজ্জনক মনোবিজ্ঞান যারা জানেন যে আপনি কোথায় থাকেন"; -)
প্যাটার তারেক

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

উত্তর:


66

সফটওয়্যার কাজের একটি দুর্দান্ত কাজ রক্ষণাবেক্ষণ হয়। কোনও নিয়োগের ব্যবস্থাপক অবশ্যই এটি আপনাকে বলবেন না অবশ্যই, তবে এটি অবশ্যই কেস।


13
এটি সম্ভবত সত্য, তবে রক্ষণাবেক্ষণ এখনও সত্যই গুরুত্বপূর্ণ এবং বুদ্ধিগতভাবে চ্যালেঞ্জও হতে পারে কখনও কখনও :)
joshin4colours

3
রক্ষণাবেক্ষণে একেবারেই ভুল নেই। তবে লোকেদের এটি কম গ্ল্যামারাস মনে হয়, সুতরাং কাজের বিবরণগুলি এটিকে হ্রাস করে।
স্কট সি উইলসন

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

3
@ বাসা - কখনও কখনও হ্যাঁ, তবে কখনও কখনও এটি আসল স্পেসিফিকেশন পূরণের জন্য কেবল বাস্তবায়নের মধ্যে অসৎ বাগগুলি ঠিক করে। তবে আপনি ঠিক বলেছেন - "রক্ষণাবেক্ষণ" এর রব্রিকের আওতায় বিভিন্ন ক্রিয়াকলাপ .াকা থাকে।
স্কট সি উইলসন

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

59

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

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

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


15
"যেহেতু ছোট গ্রিনফিল্ড প্রকল্পে নিয়মিত কাজ করে নি এমন কেউই সত্যিই সক্ষম বলে দাবি করতে পারে না"
ম্যাটনজ

1
"একটি ছোট গ্রিনফিল্ড প্রকল্প" কী?
ভাত আটা কুকিজ

@ রাইসফ্লোরকুকিজ: গ্রিনফিল্ড এমন একটি কাজের কাজ যা পুরোপুরি নতুন ev এই ক্ষেত্রে, স্ক্র্যাচ থেকে একটি প্রকল্প শুরু হয়েছিল।
স্টিভেন এভার্স

@RiceFlourCookies এবং যখন ছোট আপেক্ষিক, প্রকল্পের একজন ব্যক্তি দ্বারা করা সম্ভব যুক্তিসঙ্গতভাবে ছোট বিবেচনা করা যেতে পারে।
স্কট সি উইলসন

23

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

সম্ভবত কম লেখা থাকলে 5% লেখা সফ্টওয়্যারটি এখনও দশ বছর পরে চলবে।

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


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

@ ম্যারাক এটি উভয়ই হতে পারে।
নিকোলাস

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

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

14

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

সফল সফ্টওয়্যার প্রকল্পগুলি সাধারণত নতুন প্রকল্প হিসাবে নির্মিত হওয়ার চেয়ে অনেক বেশি সময় বজায় রাখে, তাই অবাক হওয়ার কিছু নেই যে আপনি সম্পূর্ণ "নতুন" স্টাফ প্রচুর পরিমাণে করতে পারবেন না।

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


7
"অন্য কারও ব্যর্থ প্রচেষ্টা" - উত্তরাধিকার ব্যবস্থা হ'ল ডারউইনিয়ান সাফল্যের গল্প, ব্যর্থ প্রকল্পগুলি বজায় থাকে না!
জেমস অ্যান্ডারসন

2
@ জেমসএন্ডারসন পয়েন্ট গৃহীত হয়েছে, তবে প্রযুক্তিগত সাফল্য সফটওয়্যার বাস্তুবিদ্যার একমাত্র নির্বাচনী শক্তি নয়। এমন একটি প্রকল্পের অর্ধ-সমাপ্ত কুকুরটি কে দেখেনি যা পরিচালকদের পক্ষে গুরুত্বপূর্ণ তবে শুরু করার জন্য খুব দূরের বলে মনে করা হয়?
কালেব

6

এটি নির্ভর করে আপনি কোন কাজটি সন্ধান করছেন।

আমি কেবল একবার খাঁটি সফ্টওয়্যার পণ্য সংস্থার জন্য কাজ করেছি যেখানে আমি একটি ছোট স্টার্ট-আপ দলে তাদের একক সোনার-ধাতুপট্টাবৃত অ্যাপ্লিকেশনটিতে কাজ করেছি।

অন্যথায় আমি প্রযুক্তি সংস্থাগুলির পক্ষে কাজ করেছি যেগুলির অভ্যন্তরীণ গবেষণা ও উন্নয়ন বা বাইরের পণ্যগুলিকে সমর্থন করার জন্য সফ্টওয়্যার প্রয়োজন।

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

খারাপ দিকটি হ'ল আপনি ব্যয়ের অংশ, পণ্যটির অংশ নন। সুতরাং আমার কাছে প্রকল্পগুলি ক্যানড হয়েছে কারণ 'আমরা সফ্টওয়্যারটি করছি না "" "সফটওয়্যারটি মূল ব্যবসা নয়" = এটি আশ্চর্যজনক যে কীভাবে সংস্থাগুলি মনে করে যে তারা কোনও সফ্টওয়্যার না দিয়ে একটি K 100 কে মেশিন সরঞ্জাম বিক্রি করতে পারে এটি পরিচালনা করার জন্য!


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

@ স্পেন্সাররাথবুন আমাকে তার চেয়েও কী বেশি অবাক করে দেয় যখন আপনি তাদেরকে কাস্টম সফ্টওয়্যার তৈরির জন্য প্রাক্কলন দেন তারা তত্ক্ষণাত আপনাকে প্রশ্ন করতে শুরু করে এবং জিজ্ঞাসা করে, "তাদের বিনামূল্যে ওপেন সোর্স সফ্টওয়্যারটি কি আমাদের বিনামূল্যে কাস্টম এক্স বৈশিষ্ট্য দিতে পারে না?"
maple_shaft

7
@ ম্যাপেল_শ্যাফ্ট আরও মজাদার হ'ল যখন তারা বলেন "আমরা 10 ডলারে এক্স কিনতে পারি এবং এই সাধারণ উদ্দেশ্য সমাধানটি আমাদের কাস্টম সমস্যাটি কোনও সেট আপ না করে পুরোপুরি ফিট করে! বিটিডাব্লু আপনি এটি পেতে এবং চালানোর দায়িত্বে থাকবেন এবং সমস্ত সমস্যা / আমরা যে সফ্টওয়্যারটি কিনেছি তা আপনার ত্রুটি are "
স্পেনসার রথবুন

3
@SpencerRathbun আপনি জিতে, যে হতে খারাপ অবস্থা।
maple_shaft

5

লিগ্যাসি কোডটি ক্রমাগত অন্য কারও গোলমাল পরিষ্কার করার পরিবর্তে এটি অনেক নতুন প্রকল্পে কাজ করার সুযোগ হিসাবে দেখুন look

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

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

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

এটি আশ্চর্যজনক যে কীভাবে সামান্য মানসিক ক্যালিথেনিকগুলি আপনার প্রতিদিনের কাজের আপনার উপলব্ধি এবং উপভোগটিকে পুরোপুরি পরিবর্তন করতে পারে। ;-)


4

আমি মনে করি একটি বিদ্যমান পণ্য উন্নত করা বা বিদ্যমান গ্রাহক বা বাজারের সাথে বিদ্যমান কোডটি অভিযোজিত জড়িত অনেকগুলি সফ্টওয়্যার বিকাশ কাজ jobs

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

মধ্যে ওভার কাজের বেটা সেখানে কিভাবে Google এর 20% ব্যক্তিগত প্রকল্প সিস্টেম কাজ করে সে সম্পর্কে একটি প্রশ্ন

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

২০% প্রকল্পের মাধ্যমে আমি অনুমান করি যে গুগল বিকাশকারী গুগলের প্রকল্পগুলিতে উন্নতি করতে থাকতে আপত্তি করবে না যেহেতু তিনি বা সে এখনও নতুন কিছু শুরু করার সময় সেখানে থাকার মজা নিতে পারেন।


2

নতুন স্পেসিফিকেশন অনুসারে আপনি নতুন কার্যকারিতা তৈরি করতে এবং বিদ্যমান কোডের কার্যকারিতা পরিবর্তন করতে আপনার সময় ব্যয় করবেন।

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


2

আমি বলব এটি আপনার পক্ষে কাজ করা কোম্পানির উপর নির্ভর করে।

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

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

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


1

আমি বলব এটি আপনার ভূমিকার প্রকৃতির উপর খুব নির্ভর করে।

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

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

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


1
  1. এটি নির্ভর করে আপনার কাজের অবস্থানটি কী বিপদজনক: ;-)

    যদি আপনি এমন একটি নতুন সংস্থার হয়ে কাজ করেন যা একটি উচ্চ ঝুঁকির সাথে একটি নতুন পণ্য বিকাশ করে যে সংস্থাটি বেঁচে থাকবে, আপনি সম্ভবত কিছু দুর্দান্ত নতুন পণ্য তৈরি করেন।

    আপনি যদি কোনও পুরানো সংস্থার হয়ে কাজ করেন যা বাজারে স্থিতিশীল অবস্থান নিয়ে থাকে তবে এটি রক্ষণাবেক্ষণের মোডে কোড করার সম্ভাবনা বেশি থাকে ;-)।

  2. নতুন সফ্টওয়্যার তৈরি করা সর্বদা খুব লোভনীয় । সত্য এটি সঠিক উপায়ে এটি করা কঠিন । রক্ষণাবেক্ষণযোগ্য কোড করা তুচ্ছ কাজ নয়।

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

কোনও লোকই এটি সঠিকভাবে করছে না তাই আমাদের অবশ্যই তাদের কোড বজায় রাখতে এবং এটি যথাযথ অবস্থায় পোলিশ করতে হবে। ;-)

সুসংবাদটি হ'ল আপনি যদি দীর্ঘদিন ধরে সংস্থায় থাকেন তবে নতুন কোড কীভাবে লেখা হয় তা আপনার একটি প্রভাব থাকতে পারে :-)


1

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

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


1

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

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

আমি কি কোনও পরামর্শ দিতে পারি যে আপনি পিছনে চাপুন এবং কিছু নতুন উন্নয়ন কাজের জন্য জিজ্ঞাসা করবেন? এবং যদি আপনার নিয়োগকর্তা কেবল রক্ষণাবেক্ষণ করেন তবে সম্ভবত আপনাকে এগিয়ে যাওয়ার দরকার আছে?


0

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

আমি আমার সংস্থায় যে চার বছর কাজ করেছি, আমি বলব আমার my০- %০% সময় নতুন কিছু তৈরি করতে ব্যয় হয়েছে। সম্ভবত এর মধ্যে 50-60% এমন বড় প্রকল্পগুলিতে ব্যয় করা হয় যা সম্পূর্ণ নতুন কোড হয়, যখন বাকি সময়টি বর্তমান কার্যকারিতা বৃদ্ধিতে ব্যয় করা হয়।

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


0

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

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

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


রক্ষণাবেক্ষণ মোড দীর্ঘদিন আগে ঘটেছিল ... আপনাকে সাহায্য করার জন্য এখন আপনার সরঞ্জাম প্রয়োজন।

আমি আনন্দিত আমার অনুভূতি নেই কারণ তারা এই থ্রেডে নেতিবাচক পয়েন্টগুলির একমাত্র উত্তর পেয়ে আঘাত পেতে পারে :(
অ্যারন আনোডাইড

ভাল, আপনি জিজ্ঞাসা প্রশ্নের উত্তর না।

0

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

ব্যবহারকারীদের এখনও সেই মূল কার্যকারিতা প্রয়োজন এবং তাই শিল্প প্রযুক্তির বর্তমান অবস্থাটি ব্যবহার করে একটি সম্পূর্ণ নতুন সংস্করণ বিকাশ লাভ করে।

এই ধরণের জিনিসটির জন্য 5-7 বছরের প্রতিস্থাপন চক্র আশা করুন। উদাহরণস্বরূপ, ২০২০ সালের মধ্যে, আমি আশা করি যে ডাব্লুপিএফ (ক্লায়েন্ট) / জাভা (সার্ভার) সফ্টওয়্যার আমি লিখছি এখন পুরানো প্রযুক্তি হবে এবং এর পরিবর্তে আরও নতুন কিছু নেওয়া হবে।

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