অবিচ্ছিন্নভাবে একজন প্রোগ্রামার হয়ে উঠছেন: কীভাবে এটি সঠিকভাবে করবেন? [বন্ধ]


21

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

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

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


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

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

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

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

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

উত্তর:


11

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

প্রাগমেটিক প্রোগ্রামারটিও একটি সত্যিকারের দরকারী সংস্থান এবং এটি বেশ সংক্ষিপ্ত, তবে আমি আপনাকে কোড সম্পূর্ণ হওয়ার পরে এটি পড়ার পরামর্শ দিই।

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


6

আমার সংস্থা এটি সর্বদা করে ... এবং এটি আমাকে বাদাম চালায়।

"আমি একটি সফটওয়্যার বিকাশকারী, আমি কীভাবে EE হব?"

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

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

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

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

অ্যামাজন.কম চেষ্টা করুন, তাদের ভাল বইয়ের পর্যালোচনা রয়েছে।


3

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

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

নীচের লাইন: এটি সময় নেয়। তাড়াহুড়ো করবেন না।


+1, তবে সর্বদা সচেতন থাকুন যে কেবলমাত্র একটি নিয়মের ব্যতিক্রম নেই: সমস্ত নিয়মের ব্যতিক্রম রয়েছে।
জানু হুডেক

@ জানহুদেক: আপনি এখানে কোনটি মনে রাখবেন?
সারদাথ্রিয়ন - মনিকা

3

আপনি কোডিং মধ্যে স্তন্যপান। হ্যাঁ।

তবে - এর অর্থ এই নয় যে আপনি সফ্টওয়্যার সরবরাহ করতে পারবেন না, যা মানুষকে খুশি করে;)

নম্র হও. "ব্যবসায়" যুক্তিটি লিখুন , আপনার প্রয়োজন need অন্য কিছুর জন্য লাইব্রেরি কোড ব্যবহার করুন। মৌলিক অ্যালগরিদমগুলি লেখার চেষ্টা করবেন না ( অ্যারে বাছাই করার মতো ), কোনও "অভিনব ট্রিকস" ব্যবহার করবেন না, কিছু কঠোর কোড-কনভেনশনকে আটকে দিন ।

ভাল আইডিই ব্যবহার করুন। এটি প্রয়োজনীয়, কারণ এটি আপনাকে আপনার কোডটি ফর্ম্যাট করতে এবং টাইপস / সাধারণ ভুলগুলি ট্র্যাক করতে সহায়তা করবে।

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

এসভিএন ব্যবহার করুন , প্রায়শই প্রতিশ্রুতিবদ্ধ করুন - যাতে আপনি আপনার পরিবর্তনগুলি ফিরিয়ে দিতে সক্ষম হবেন (যখন আপনি কোনও কিছু নষ্ট করবেন)।

এই কারো, যিনি হয় বাস্তব প্রোগ্রামার , একাডেমিক ব্যাকগ্রাউন্ড সঙ্গে, সম্ভব হলে। সুতরাং আপনি তার সাথে আপনার নবাগত সমস্যাগুলি ভাগ করে নেওয়ার এবং আলোকিত উত্তর পেতে সক্ষম হবেন।

এবং, অবশ্যই, সবচেয়ে গুরুত্বপূর্ণ বিষয় এছাড়াও হয় কোডিং, কোডিং, কোডিং রাখা


PS: আপনি যদি সি ++ কোড লিখতে সক্ষম হন যা কাজ করে এবং আপনি নিউরাল নেটওয়ার্কগুলি (!) লিখতে পারেন - তবে আপনার মস্তিষ্ক প্রোগ্রামিংয়ের জন্য ভাল উপযুক্ত;) শুভকামনা!


2

এখানে ভাল উত্তর আছে।

আপনার পক্ষে একটি বড় স্পিন হ'ল সাধারণ তথ্য যা আপনি জানতে চান।

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

এইভাবে, আপনি যখন এক বছরে বা তারও বেশি কোডে ফিরে আসবেন, তখন আপনি "এই গোলমালটি কে করেছেন?" আপনি খুব বেশি ভাঙনের ঝুঁকি ছাড়াই জিনিসগুলি সন্ধান করতে এবং সেগুলি পরিবর্তন করতে সক্ষম হবেন * **

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

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


1

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

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

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


0

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

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