উপরোক্ত প্রশ্নের আমার কিছু নিজস্ব ধারণা-

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

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

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

ক্যারিয়ারের ধাপসমূহ:
১) ভালো প্রোগ্রামার
২) ভালো সফটওয়্যার ডেভেলপার
৩) ভালো সফটওয়্যার ইঞ্জিনিয়ার
৪) ভালো সফটওয়্যার আর্কিটেক্ট
 
ভালো প্রোগ্রামার, ভালো সফটওয়্যার ডেভেলপার, ভালো সফটওয়্যার ইঞ্জিনিয়ার ,হওয়ার জন্য আমরা যা যা করতে পারি:

১) প্রোগ্রামিং ল্যাঙ্গুয়েজের খুঁটিনাটি যতটা সম্ভব জানার চেষ্টা করতে হবে। বাকিগুলো নিজের আগ্রহে শিখে নিতে হবে।

২) কম্পিউটার ফান্ডামেন্টাল, ডিসক্রিট ম্যাথ,
ডাটা-স্ট্রাকচার, এলগরিদম ভালোভাবে শিখতে হবে। এবং
এলগরিদম এর প্রবলেম সল্ভ করতে হবে, অন্তত ৩০০ প্রবলেম সল্ভ করতে হবে।

৩) নতুন নতুন প্রযুক্তি সম্পর্কে জানতে ও শিখতে হবে । তাহলেই আমরা সঠিক লক্ষ্যে পৌছাতে পারবো।(ইনশাআল্লাহ্)