by admin | Dec 10, 2022 | codex blog, design, development, How to become a skilled software engineer?, Programming, software engineer, web development
তুমি যদি একজন সমস্যার সমাধানকারী হও যে কিনা বিভিন্ন সমস্যা সমাধান অথবা কোন কাজকে সহজ করে তুলতে পছন্দ করো তবে তুমি একজন সফটওয়্যার ইঞ্জিনিয়ার হিসেবে সফল ক্যারিয়ার পেতে পারো।
সফটওয়্যার ইঞ্জিনিয়ারিং হল কম্পিউটার ইঞ্জিনিয়ারিং এর এমন একটি শাখা যেখানে সফটওয়্যার অ্যাপ্লিকেশনগুলো ডিজাইন, নির্মাণ, পরীক্ষণ এবং এর রক্ষণাবেক্ষণ নিয়ে কাজ করা হয়। সফটওয়্যার ইঞ্জিনিয়াররা ব্যবহারকারীদের জন্য সফটওয়্যার সমাধান তৈরি করতে বিভিন্ন প্রোগ্রামিং ভাষা ও প্রোগ্রামিং জ্ঞানের প্রয়োগ করে।
সফল দক্ষ
ইঞ্জিনিয়াররা জানেন কিভাবে সঠিক প্রোগ্রামিং ভাষা, প্ল্যাটফর্ম এবং আর্কিটেকচার ব্যবহার করে কম্পিউটার গেম থেকে শুরু করে নেটওয়ার্ক কন্ট্রোল সিস্টেম এর মত জটিল অ্যাপ্লিকেশন তৈরি করতে হয়।
সফটওয়্যার ইঞ্জিনিয়াররা তাদের নিজস্ব সিস্টেম তৈরির পাশাপাশি অন্যান্য ইঞ্জিনিয়ারদের তৈরি বিভিন্ন সফটওয়্যার পরীক্ষা, আপডেট ডেভেলপমেন্ট ও এগুলো রক্ষণাবেক্ষণ এর কাজ করে থাকেন।
Meta এর একজন সফটওয়্যার ইঞ্জিনিয়ার মুরতাদা আল-তামিমি বলেছেন, ” সমস্যা সমাধান করা লাগে এ ধরনের কোন কিছু দেখলেই আমি অনেক উত্তেজিত হয়ে পড়ি, কারণ তা থেকে আমি একটি অ্যাপ্লিকেশনের নতুন ফিচারস অথবা ওই সমস্যা সমাধানের জন্য নতুন অ্যাপ্লিকেশন কিভাবে নিয়ে আসা যায় তা নিয়ে চিন্তা করতে শুরু করি।”
সফটওয়্যার ইঞ্জিনিয়ার হিসেবে তোমার প্রতিদিনকার কাজগুলো হতে পারে :
- নতুন সফটওয়্যার সিস্টেম ডিজাইন ও মেনটেনেন্স
- নতুন সফটওয়্যার প্রোগ্রাম তৈরি ও তা পরীক্ষা করা
- কোড লেখা ও তা পরীক্ষা করা
- ক্লায়েন্ট, ইঞ্জিনিয়ার, সাইবার এক্সপার্ট ও অন্যান্যদের সাথে সফটওয়্যার এর উন্নতি নিয়ে পরামর্শ করা।
- গ্রাহককে সফটওয়্যার এর বিভিন্ন নতুন নতুন বৈশিষ্ট্য এবং এর কাজ উপস্থাপন করা।
সফটওয়্যার ইঞ্জিনিয়াররা সাধারণত দুটি বিষয়ের মধ্যে একটি নিয়ে পড়ালেখা ও দক্ষতা অর্জন করেন, তা হলো সিস্টেম ডেভেলপমেন্ট এবং অ্যাপ্লিকেশন ডেভেলপমেন্ট। একজন সিস্টেম ডেভলপার অর্থাৎ ব্যাকএন্ড
ইঞ্জিনিয়ার সাধারণত কম্পিউটার সিস্টেম ও নেটওয়ার্ক এর মত জিনিসগুলো নিয়ে কাজ করে। আর একজন অ্যাপ্লিকেশন ডেভলপার সাধারণত কম্পিউটার সফটওয়্যার ডিজাইন ও ডেভেলপমেন্ট এর মত জিনিস গুলো নিয়ে কাজ করে।
সফটওয়্যার ইঞ্জিনিয়ার হতে কত সময় লাগে?
চার বছরের সফ্টওয়্যার ইঞ্জিনিয়ারিং বিজ্ঞানের Bsc ডিগ্রি নেওয়া উচিত। কিছু শিক্ষার্থী তাদের কোর্সকে চ্যালেঞ্জিং মনে করতে পারে এবং তাদের শেখার এবং বোঝার জন্য আরও বেশি সময় বিনিয়োগ করার সিদ্ধান্ত নিতে পারে, তবে এখনও প্রায় চার বছরের মধ্যে শেষ করতে সক্ষম হওয়া উচিত।
প্রোগ্রামিং ল্যাঙ্গুয়েজে শিখুন
সফটওয়্যার ইঞ্জিনিয়ারিং এর জন্য প্রোগ্রামিং ল্যাঙ্গুয়েজে শেখা অত্যন্ত জরুরি। একজন ভালো সফটওয়্যার ইঞ্জিনিয়ার হতে হলে তাকে ভালো প্রোগ্রামার হতে হবেই। এর জন্য এক বা একাদিক প্রোগ্রামিং ল্যাঙ্গুয়েজে এ আপনার দক্ষতা দরকার।যত বেশি প্রোগ্রামিং ল্যাঙ্গুয়েজে আপনি জানবেন পেশা হিসাবে আপনার কাছে এটি আকর্ষণীয় হয়ে উঠবে। প্রোগ্রামিং ল্যাঙ্গুয়েজে এর মধ্যে শেখা দরকার :Python, JavaScript, C#, C++, Ruby, Javaএর মধ্যে Python,জাভাস্ক্রিপ্ট,CSS ,HTML আপনাকে জেনে রাখতে হবে।
কোনো বেসিক সফটওয়্যার ইঞ্জিনিয়ারিং এর কাজে এগুলি অনেক ব্যাবহার হয়। এছাড়া ডাটা সাইন্স আর মেশিন লার্নিং ,আর্টিফিশিয়াল ইন্টেলিজেন্স ক্ষেত্রেও Python,R এর ব্যাবহার অনেক। আর যেহেতু সফটওয়্যার
ইঞ্জিনিয়ারিং বিষয়টি কোর তথ্যপ্রযুক্তি এর মধ্যে পরে তাই এর জন্য বিষয় গুলি সবসময় আপডেট হতে থাকে। তাই আজকে আপনি যদি কোনো একটি প্রোগ্রামিং ল্যাঙ্গুয়েজে এর একটি ভার্সন শিখলেন,সেটি আবারো কিছুদিন পরে আপডেট হলে শিখে নিতে হবে। তাই এই পরিবর্তন এর সাথে আপনাকে মানিয়ে নিতে হবে। সফটওয়্যার ইঞ্জিনিয়ারিং পড়ার পর চাকরির সুযোগ হিসাবে দেশ বিদেশে অনেক আছে. দেশের মধ্যে বড় বড় IT কোম্পানি যেমন TCS ,IBM ,Accenture এ অনেক ভালো মানের চাকরি পাওয়া যায়। অনেক সময় কলেজ ক্যাম্পাসিং থেকে এই সুযোগ চলে আসে কোর্স করতে করতেই। তাই ভালো ভাবে কোর্স /ডিগ্রী শেষ করলে চাকরির অভাব হয় না।
Writer : Iftakhar Ahmed
by Mohammad Jubair | Jul 17, 2022 | design, development, Digital Marketing, Programming
-আচ্ছা অনেক তো জানলাম প্রোগ্রামিং কি, কিভাবে কাজ করে, কেন প্রোগ্রামিং শিখব? ইত্যাদি ইত্যাদি। যদি আপনারা প্রোগ্রামিং নিয়ে নতুন বা কিছু জানেন না তাহলে আমাদের ওয়েবসাইট ব্লগ পোস্ট করা আছে চাইলে দেখে আসতে পারবেন। প্রোগ্রামিং নিয়ে সকল খুঁটিনাটি A to Z বভ বিস্তারিত আমাদের ওয়েবসাইটে পাবলিশ করা আছে। চাইলে হালকা পড়ে আসতে পারেন। আচ্ছা ওকে, আজকের ব্লগে আমরা জানব কিভাবে প্রোগ্রামিং করে ইনকাম করতে হয় ইত্যাদি।
-তো শুরু করা যাক-
আপনি যে প্রোগ্রামিং ভাষায় পারদর্শী বা আপনি যেই ভাষায় পারেন আপনাকে আগে বেসিক বিষয়গুলো জানতে হবে। এবং সেই বিষয়গুলো নিয়ে বিভিন্ন প্রোগ্রামিং প্রতিযোগিতায় অংশগ্রহণ করার চেষ্টা করতে হবে। এখন বিভিন্ন সাইটে বিভিন্ন ধরনের প্রোগ্রামিং সমস্যার সমাধান রিলেটেড ইভেন্ট বা কন্টেস্ট থাকে। আপনি সেই ইভেন্টগুলোতে চাইলেই জয়েন করতে পারেন। ফলাফল যাই হোক না কেন আপনাকে সাহস করে প্রোগ্রামিং প্রতিযোগিতায় অংশগ্রহণ করতে হবে। প্রথম দিকে হয়তো বা তেমন ভালো ফলাফল পাবেন না কিন্তু আস্তে আস্তে এটি অনেক অনেক হেল্প করে। সফল না হলেও এটলিস্ট কিছু বিষয়ের সম্পর্ক অবশ্যই আপনি শিখতে পারবেন। বর্তমানে অনেক সাইটেই এই প্রতিযোগিতা অংশগ্রহণ করা যায়। যেমন: Hacker Rank, Codwars ইত্যাদি। সাইটগুলোতে নিয়মিতই প্রোগ্রামিং প্রতিযোগিতা চলে। আপনি জেনে সেখানেও প্রোগ্রামিং প্রতিযোগিতায় অংশগ্রহণ করে দেখতে পারেন আপনার স্কিল কতটুকু এবং আপনি কতটুকু সমস্যার সমাধান করতে পারেন। তা আপনি জানতে পারবেন।
আপনি যদি কোনো প্রোগ্রামিং ল্যাংগুয়েজ-র উপর এক্সপার্ট হন তাহলে, বিভিন্ন প্লাটফর্মে এইটি বিক্রি করতে পারেন। নতুন ও পুরোনো, সকল ধরনের প্রোগ্রামারের এই ধরনের বই বিভিন্ন প্রয়োজনে দরকার পড়ে। যেহেতু আপনি ডিজিটাল প্রোডাক্ট সেল করতেছেন সেহেতু এটি অনেকটা বুদ্ধিমানের কাজ। এমনকি অ্যামাজন এর মত ওয়েবসাইটে ই-বুক বিক্রি করতে পারেন। E-Book র চাহিদা দিন দিন বাড়তেছে।
- Freelancing: আমরা মোটামুটি অনেকই শুনছি ফ্রিল্যান্সিং কি? কিভাবে ফ্রিল্যান্সিং করে টাকা কামাতে হয় ইত্যাদি। ফ্রিল্যান্সিং নিয়ে আমাদের ওয়েবসাইটে খুব শিঘ্রই ব্লগ আসতেছে তো চোখ রাখুন আমাদের ওয়েবসাইটে। এখন অনলাইনের যুগ সবকিছু এখন আমাদের হাতের মুঠে । সবকিছু চাইলে আমরা করতে পারতেছি। বর্তমানে Upwork, Freelancer.com, Fiverr এর মত ফ্রিল্যান্সিং প্ল্যাটফর্মগুলোতে প্রোগ্রামিং সম্পর্কিত অসংখ্য ধরনের ফ্রিল্যান্সিং জব রয়েছে। যা আপনি যদি Skillful হলে আপনি কাজ করতে পারবেন। ফ্রিল্যান্সিং প্ল্যাটফর্মগুলোতে নিয়মিত আয় করা যায় এমন জবও পাওয়া যায়। স্থানীয়ভাবে প্রোগ্রামিং এর বর্তমানে অনেক কাজ পাওয়া যায়। প্রথমত, আপনি চাইলে সোস্যাল মিডিয়াকে কাজে লাগাতে পারেন, যেমন: ফেইসবুক, লিংকডন, ইন্সটাগ্রাম ইত্যাদি র মত প্ল্যাটফর্মে নেটওয়ার্কিং এর মাধ্যমে কাজ পেতে পারেন। অথবা আপনি চাইলে ডেডিকেটেড ফ্রিল্যান্সিং প্ল্যাটফর্মে গিগ তৈরী করে কাজ পেতে পারেন। So It’s Defends Up to you.
এছাড়া বিভিন্ন Edtech Platform যেমনঃ Udemy, CourseSera, ইত্যাদি জায়াগায় কোর্স বিক্রি করতে পারেন। আর এই প্ল্যাটফর্মে যেকেউ ফ্রিতে একাউন্ট খুলে অন্যদের শিখিয়ে, কোর্স তৈরী করে ও তা সেল করে আয় করতে পারে। আবার চাইলে ইউটিউব এর মত প্ল্যাটফর্মেও অন্যদের শিখিয়ে আয়ের পাশাপাশি নিজের পরিচিতি বৃদ্ধি করা সম্ভব। এছাড়াও বর্তমানে বাংলাদেশের বিভিন্ন Ed-tech Training Center এ ক্লাস নিয়ে টাকা ইনকাম করতে পারেন চাইলে।
-
Make Apps:
প্রোগ্রামিং করে এপ্স বানিয়ে এখন লাখ লাখ টাকা কামানো যায়। বিভিন্ন রকমের সার্ভিস এপ্স আছে বর্তমানে এগুলোর মতো চাইলে আপনি এপ্স বানিয়ে লাখ লাখ টাকা কামাতে পারেন। শুরুতে ফ্রি ট্রায়াল এর মাধ্যমে শুরু করতে পারেন, যেখানে সেবা পছন্দ হলে গ্রাহকরা কিনে নিবে। ডেভলপার হিসেবে কাজ হলো গুরুত্বপূর্ণ টুল তৈরী করা, আপনার কাজ যথেষ্ট প্রয়োজনীয় হলে তা নিজ থেকে বিভিন্ন এন্টারপ্রাইজ চ্যানেলের মাধ্যমে আয়ের পথ খুলে দিবে। এইটা মনে রাখতে হবে একজন ডেভেলপার একজন সফটওয়্যার হতে পারে।
So, সময়কে কাজে লাগান ইনশাআল্লাহ ভালো কিছু হবে। আজকের ব্লগ এতটুকুই যদি আজকের ব্লগটি আপনার কাছে ভালো লাগে থাকে তাহলে আপনার বন্ধু-বান্ধদের সাথে শেয়ার করতে ভুলবেন না । ভালো থাকবেন সবাই কথা হবে আবার কোনো একটা ব্লগে।
Mohammad Jubair,
IT Officer, Codex Devware.
This Blog Edited By Sourov Dey
by Mohammad Jubair | Apr 8, 2022 | design, development, Programming, web design, web development
Web Design মানে হচ্ছে একটা ওয়েবসাইট দেখতে কেমন হবে বা এর সাধারন রূপ কেমন হবে তা নির্ধারণ করা।
ওয়েব ডিজাইনার হিসেবে আপনার কাজ হবে একটা পূর্ণাঙ্গ ওয়েব সাইটের টেম্পলেট বানানো। যেমন ধরুন এটার লেয়াউট কেমন হবে। হেডারে, মেনু কোথায় থাকবে, সাইডবার হবে কিনা, ইমেজগুলো কিভাবে প্রদর্শন করবে ইত্যাদি। ভিন্ন ভাবে বলতে গেলে ওয়েবসাইটের তথ্য কি হবে এবং কোথায় জমা থাকবে এগুলো চিন্তা না করে, তথ্যগুলো কিভাবে দেখানো হবে সেটা নির্ধারণ করাই হচ্ছে ওয়েব ডিজাইনার এর কাজ। সোজা ভাষায় বলতে গেলে আমরা ফেইসবুকে ভিজিট করলে যেই পরিবর্তন টা দেখতে পাই তা একটা ডিজাইন। আর এই ডিজাইন নির্ধারণ করতে ব্যবহার করতে হবে কিছু টুলস যেমন PHOTOSHOP, GIMP ইত্যাদি এবং কিছু Markup এবং Scripting Language যেমন HTML, CSS এবং JavaScript ইত্যাদি।
ওয়েব ডিজাইনারদের কে আমরা Front-end ডেভেলপার ও বলতে পারি। এখন Web design শিখতে কোন কোন ভাষা জরুরী…???
1. HTML
2. CSS
3. Bootstrap
4. JavaScript
5. JQuery
-উপরোক্ত গুলো জানা থাকলে একজন Web Designer হওয়া সম্ভব। এখন আমরা হালকা করে Development সম্পর্কে জেনে আসি ।
ওয়েব ডেভেলপমেন্ট হচ্ছে একটা ওয়েব সাইটের প্রাণ সঞ্চার করা। একজন ওয়েব ডিজাইনার যে ডিজাইন তৈরি করেন তার প্রতিটা উপকরণকে ফাংশনাল এবং ডাইনামিক করার জন্য পরিচালিত কর্মকান্ডই হচ্ছে Web Development।
একটা ওয়েব সাইট কে তিনটা ভাগে বিভক্ত করা যায় যেমন
১.ডিজাইন বা টেমপ্লেট ২.কনটেন্টম্যানেজমেন্ট ৩.সিস্টেম এবং ডাটাবেস।
একজন ওয়েব ডেভেলপার এই তিনটি বিষয়ের মধ্যে সমন্বয় ঘটিয়ে পুরো সিস্টেমটি কে সক্রিয় এবং ডাইনামিক করে থাকেন। একজন ওয়েবডেভেলপারের কাজ হচ্ছে
ডাটা প্রসেসিং,
ডাটাবেস নিয়ন্ত্রণ,
সিকিউরিটি নির্মান,
ইউজার এবং
এডমিনের ক্ষমতা নিয়ন্ত্রণকরা,
এপ্লিকেশনের সকল ফিচারকে ফাংশনাল এবং ডাইনামিক করা এবং সমগ্র সিস্টেমের কার্যকারীতা এবং ব্যবহার যোগ্যতা নিয়ন্ত্রণ করা । Web Design নিয়ে শেষ কথা । আপনাকে একজন ভালো ওয়েব ডেভেলপার হতে হলে
PHP , MySQL এর পাশাপাশি HTML, CSS, JAVASCRIPT, JQUERY, Bootstrap এর সম্পর্কে বিশদ জ্ঞান রাখতে হবে। এছাড়া এর বাইরে নতুন টেকনোলজী হিসেবে আসছে বর্তমানে JavaScript এর Framework React Js , Vue Js, Angular Js. এগুলো জানলে আপনি একজন Front End Web Developer. (NB): JavaScript এর Framework যেকোনো একটা জানলে হবে ।