আরও অভিজ্ঞ বিকাশকারীদের অভাবে প্রকৃত প্রকল্পগুলিতে কাজ করার সময় আমি কীভাবে আমার দক্ষতা উন্নত করতে পারি? [বন্ধ]


15

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

আরও অভিজ্ঞ বিকাশকারীদের অভাবে প্রকৃত প্রকল্পগুলিতে কাজ করার সময় আমি কীভাবে আমার সফ্টওয়্যার বিকাশ দক্ষতা উন্নত করতে পারি?


1
আপনার প্রশ্নটি সত্যই অস্পষ্ট। আপনি সেরা বিকাশের কৌশলগুলি যেভাবে শিখছেন তা হ'ল বই, ব্লগ এবং পডকাস্টগুলিতে তাদের অধ্যয়ন করা এবং তারপরে সেগুলি আপনার প্রতিদিনের কোডিংয়ে প্রয়োগ করা।
রবার্ট হার্ভে

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

1
@ ললকোডার আমি বুঝতে পারি যে কিছু লোক সীমিত বিকাশের সময় ইস্যুতে টিডিডি প্রত্যাখ্যান করতে পারে (যদিও টিডিডি আসলে পরে সময় সাশ্রয় করে) তবে কীভাবে সলিড বা ডিআরআই প্রয়োগ করা সময়ের সীমাবদ্ধতায় প্রভাব ফেলতে পারে তা আমি বুঝতে পারি না ?!
সানগো

1
@ ইয়ানিস রিজোস: প্রশ্ন সম্পাদনা করার জন্য আপনাকে ধন্যবাদ ... এখন, সত্যিই এটি ভাল লাগছে ... প্রশ্নের থিমটি একই রয়ে গেছে .... আবারও আপনাকে ধন্যবাদ ....
আকাশ কেসি

1
@ ললকোডার আসলে আমারও একই সমস্যা ছিল যা আমি এখানে কিছুক্ষণ আগে জিজ্ঞাসা করেছি ।
সানগো

উত্তর:


12

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

আসুন দেখুন কিভাবে এটি একটি উদাহরণে কাজ করতে পারে।

উদাহরণ

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

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

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

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

আপনার কোম্পানিতে একটি তৈরি করার সুযোগ পেলে আপনি এটি তৈরি শুরু করেন start আপনার কয়েকটি সমস্যা আছে। কিছু কোড সম্পর্কিত; আপনি স্ট্যাক ওভারফ্লোতে প্রশ্ন পোস্ট করেছেন । অন্যরা ডাটাবেসের সাথে সম্পর্কিত; আপনি ডিবিএ.এসইতে প্রশ্ন জিজ্ঞাসা করুন ।

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

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

জিনিস আবিষ্কার হচ্ছে

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

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

যদি কেউ আমাকে শৈলীর বিষয়ে না বলে, আমি কীভাবে জানব যে এই জাতীয় কোনও অস্তিত্ব রয়েছে?

ব্লগ বা স্ট্যাক এক্সচেঞ্জের মতো সম্পদগুলি এখানে কার্যকর। উইকিপিডিয়া সাহায্য করবে না (যদি না আপনি প্রোগ্রামিং সম্পর্কে র্যান্ডম পৃষ্ঠাগুলি মারতে দিন ব্যয় করেন) এবং বইগুলি খুব কমই সেগুলি সম্পর্কে কথা বলে।

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

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

কৌতূহল সাহায্য করে

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

এমনকি তাদের কোনও পরামর্শদাতা না থাকলেও তারা কলেজে বলা হয়নি এমন সমস্ত জিনিস শিখেন।


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

@ ললকোডার: আইএমও, একজন পরামর্শদাতার সাথে এই সর্বোত্তম পন্থাগুলি শিখতে আরও সহজ, তবে আমি আমার উত্তরে তালিকাভুক্ত সংস্থানগুলির সহায়তায় সেগুলি নিজেই শেখা সম্ভব।
আর্সেনী মরজেনকো

এ জাতীয় দুর্দান্ত উত্তরের জন্য আপনাকে অনেক ধন্যবাদ ..... অনেক থ্যান্স সহ উত্তরটি গ্রহণের সময় ......
আকাশ কেসি

4

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

আমি আপ টু ডেট থাকার জন্য এবং আমার দক্ষতা উন্নত করতে কয়েকটি কৌশল ব্যবহার করছি।

কাজের:

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

কাজের বাইরে:

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

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

এবং ঘন ঘন এসও বা প্রোগ্রামার্স.এসই দেখতে ভুলবেন না।


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

3

এখানে উত্তরগুলি সম্ভবত বেশ সহায়ক হবে, তবে আমি কোনও কিছুকে জোর দিতে চাই: আপনার চেয়ে ভাল কারও সাথে কাজ করার কোনও কিছুই প্রতিস্থাপন করতে পারে না (স্বেচ্ছাচারী এবং ব্যক্তিগত জন্য উন্নত সংজ্ঞা) সপ্তাহে 5 ঘন্টা, 5 দিন। এটাই নিশ্চিত।

আপনি যদি এমন ধরণের বিকাশকারী হন যিনি সর্বদা উন্নত হতে চান, সর্বদা শিখতে চান, তবে আপনাকে শেষ পর্যন্ত একটি আলাদা সংস্থায় যেতে হবে। এটি অনেকটা অনিবার্য এবং এর জন্য পরিকল্পনা করা উচিত।

আপনি যখন উপযুক্ত সংস্থাটি সন্ধান করবেন তখন আপনি খুঁজে পাবেন যে আপনি এর মধ্যে বাড়ার চেয়ে তার মধ্যে বাড়তে থাকবেন।


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

1

সফটওয়্যার ডেভলপমেন্ট একটি দল খেলা। খেলাধুলার মতো, খুব উচ্চ স্তরে খেলতে, আপনার সাথে থাকা এবং একইরকম অন্যদের সাথে প্রতিযোগিতা করা দরকার। ঘুরে দেখার সুযোগ সন্ধান করুন।

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

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


1

আমার কোনও পরামর্শ পাওয়ার আগে, আমাকে বলতে হবে যে আমি ঠিক এক বছর আগেও খুব অনুরূপ অবস্থানে ছিলাম।

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

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

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

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

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

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

আমি যেমন আমার মূল উত্তরে বলেছি, এটি রাতারাতি ঘটবে না। আমি এখন কয়েক বছর ধরে এটি করছি এবং প্রায় প্রতিদিন আমি জানতে পারি যে আমি এটি ভুল করে চলেছি।

শুভকামনা!


1

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

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