যখন আপনার মানসিক মডেল পরিস্থিতির সাথে মানানসই না হয়, আপনার সমস্ত প্রকৌশল সাধারণ জ্ঞান ভেসে যায়। সিনিয়র ইঞ্জিনিয়াররা "সঠিক" সিদ্ধান্ত নেয় যা স্টার্টআপগুলোকে মেরে ফেলেযখন আপনার মানসিক মডেল পরিস্থিতির সাথে মানানসই না হয়, আপনার সমস্ত প্রকৌশল সাধারণ জ্ঞান ভেসে যায়। সিনিয়র ইঞ্জিনিয়াররা "সঠিক" সিদ্ধান্ত নেয় যা স্টার্টআপগুলোকে মেরে ফেলে

KISS বা মৃত্যু: কেন সিনিয়র ইঞ্জিনিয়াররা স্টার্টআপে ব্যর্থ হয়

2025/12/12 03:14

আমার প্রথম স্টার্টআপ একটি ব্যর্থতা ছিল, এবং আশেপাশের বেশ কয়েকটি স্টার্টআপও ব্যর্থ হয়েছিল। আমাদের ছিল: GCP ক্রেডিটে $100K, একজন প্রতিষ্ঠাতা ইঞ্জিনিয়ার যিনি এন্টারপ্রাইজে সিস্টেম তৈরি করেছিলেন, এবং গো-টু-মার্কেট। এবং আমরা ব্যর্থ হয়েছি, এটি ভুলভাবে তৈরি করার কারণে নয়, বরং আমরা এটি ভালভাবে তৈরি করেছিলাম বলে। এটাই ছিল সমস্যা।

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

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

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

এই নিবন্ধটি মানসিক মডেল উপস্থাপন করে আপনাকে সঠিক সিদ্ধান্ত নিতে এবং আমি যে ভুল সিদ্ধান্তগুলি নিয়েছি তা এড়াতে সাহায্য করার জন্য।

:::tip এটি কাদের জন্য: সিনিয়র ইঞ্জিনিয়াররা যারা প্রাথমিক পর্যায়ের স্টার্টআপ শুরু করছেন বা যোগ দিচ্ছেন। আপনি যদি এন্টারপ্রাইজ বা বিগ টেকে 5+ বছর কাটিয়ে থাকেন, তাহলে এটি আপনার জন্য সতর্কতা।

:::

\

মানসিক মডেল #1 - "ফ্রি" ইনফ্রাস্ট্রাকচার সবচেয়ে ব্যয়বহুল

GCP ক্রেডিটে $100K একটি উপহার মনে হতে পারে, কিন্তু এটি একটি ফাঁদ। এটি আপনাকে অতিরিক্ত-ইঞ্জিনিয়ারিং-এর দিকে ঠেলে দেয় কারণ "এটি ইতিমধ্যেই পরিশোধ করা হয়েছে।" আপনি কম্পিউট ইনস্ট্যান্স, লোড ব্যালেন্সার, কন্টেইনার রেজিস্ট্রি এবং এন্টারপ্রাইজ টুল পান যার জন্য এন্টারপ্রাইজ সেটআপ প্রয়োজন। আপনার কী পাওয়া দরকার? একটি "পুশ টু ডিপ্লয়" বাটন।

অবশ্যই, আপনি GCP/AWS/Azure-এ "GitHub থেকে VM-এ ডিপ্লয়" ওয়ার্কফ্লো তৈরি করতে পারেন। কিছু পণ্য কাছাকাছি আসে। কিন্তু এর জন্য অতিরিক্ত পদক্ষেপ প্রয়োজন: ক্লাউড বিল্ড কনফিগার করা, IAM রোল সেট আপ করা, ডিপ্লয়মেন্ট স্ক্রিপ্ট লেখা, সিক্রেট পরিচালনা করা এবং হেলথ চেক কনফিগার করা। আসল পণ্য ডিপ্লয় করার আগে আপনি ডিপ্লয়মেন্ট ইনফ্রাস্ট্রাকচার তৈরি করে সময় নষ্ট করেন।

ইতিমধ্যে, Railway বা Fly.io এর মতো প্ল্যাটফর্মগুলি আপনাকে দেয় যা স্টার্টআপগুলির প্রকৃতপক্ষে প্রয়োজন: GitHub থেকে স্টার্ট-অ্যান্ড-গো ডিপ্লয়মেন্ট সহ একটি স্থায়ী VM। যতটা সহজ হতে পারে: আপনি আপনার কোড পুশ করেন, এবং এটি ডিপ্লয় হয়। শুধু ব্যবহারের জন্য প্রস্তুত VM এনভায়রনমেন্ট ভেরিয়েবল, SSL, লোড ব্যালেন্সার, লগ ইত্যাদি সহ। এটি "ফ্রি" নয়, কিন্তু এটি প্রস্তুত।

ফ্রি ক্রেডিট আপনাকে অতিরিক্ত-ইঞ্জিনিয়ারিং-এর দিকে ঠেলে দেয় কারণ "এটি ইতিমধ্যেই পরিশোধ করা হয়েছে।" আপনি নিজেকে বিশ্বাস করান যে আপনি টাকা বাঁচাচ্ছেন যখন আপনি আপনার সবচেয়ে মূল্যবান সম্পদ খরচ করছেন: সময়।

\

মানসিক মডেল #2 - "ন্যূনতম" <> "সহজ"

ঐতিহ্যগত KISS নীতি আমাদের বলে আমাদের সফটওয়্যার সহজ রাখতে। কিন্তু স্টার্টআপগুলিতে, এটি ভুল লক্ষ্য। আপনার উচিত নয় আপনার সফটওয়্যার সহজ রাখা; আপনার উচিত আপনার সমাধানগুলি সহজ রাখা।

প্রকৃত সরলতা মোট প্রচেষ্টা দ্বারা পরিমাপ করা উচিত, কোড জটিলতা দ্বারা নয়:

মোট প্রচেষ্টা = প্রাথমিক নির্মাণ + রক্ষণাবেক্ষণ + ডিবাগিং + ফিচার যোগ করা + সিকিউরিটি আপডেট + স্কেলিং পরিবর্তন

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

আমার OAuth উদাহরণ

আমাদের প্রতিষ্ঠাতা ইঞ্জিনিয়ার একটি "অজানা লাইব্রেরি" ব্যবহার করার পরিবর্তে শূন্য থেকে OAuth তৈরি করার সিদ্ধান্ত নিয়েছিলেন। এক সপ্তাহ পরে, তিনি একটি PR জমা দিয়েছিলেন: JWT টোকেন, রিফ্রেশ টোকেন রোটেশন, সেশন ম্যানেজমেন্ট এবং রোল-ভিত্তিক অ্যাক্সেস কন্ট্রোল সহ পরিষ্কার OAuth বাস্তবায়ন। কোন নির্ভরতা নেই, কোন বিক্রেতা লক-ইন নেই, শুধু কোড যা আমরা নিয়ন্ত্রণ করেছি।

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

তারপর, একটি ক্লায়েন্টের Microsoft OAuth এবং Google OAuth প্রয়োজন ছিল। কাস্টম বাস্তবায়ন মানে দিনের পর দিন রিফ্যাক্টরিং, রিফ্রেশ টোকেন রোটেশন, এজ কেস, RBA এবং অন্যান্য জিনিস। প্রতিটি "সহজ" সংযোজনের জন্য আমাদের কাস্টম অথের গভীর বোঝার প্রয়োজন ছিল। প্রতিটি সিকিউরিটি আপডেট ছিল আমাদের বাস্তবায়ন করার জন্য। প্রতিটি নতুন প্রয়োজনীয়তা ছিল আমাদের কোড করার জন্য।

নীতিমালা

ক্লাসিক সিনিয়র ইঞ্জিনিয়ার ভুল: ফলাফলের পরিবর্তে নিয়ন্ত্রণের জন্য অপ্টিমাইজ করা। স্টার্টআপগুলিতে, বাস্তবতা সিনিয়র ইঞ্জিনিয়াররা কীভাবে চিন্তা করে তা সম্পূর্ণরূপে উল্টে দেওয়ার প্রয়োজন:

  1. বন্ধ করুন চিন্তা করা: "এটি শুধু কয়েক দিনের কোডিং" \n শুরু করুন চিন্তা করা: "এটি কয়েক দিন আমার আসল পণ্য কোড না করা"
  2. বন্ধ করুন চিন্তা করা: "আমি এটি সহজেই তৈরি করতে পারি" \n শুরু করুন চিন্তা করা: "আমি এটি সহজেই সমাধান করতে পারি না তৈরি করে"
  3. বন্ধ করুন চিন্তা করা: "তৃতীয়-পক্ষের পরিষেবাগুলি জটিলতা যোগ করে" \n শুরু করুন চিন্তা করা: "তৃতীয়-পক্ষের পরিষেবাগুলি জটিলতা শোষণ করে"

\

\

মানসিক মডেল #3 - আরামদায়ক পছন্দ

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

ইকোসিস্টেম ফাঁদ

Angular চমৎকার এবং আমাদের ইঞ্জিনিয়ার এর সাথে যে কোনো কিছু তৈরি করতে পারতেন।

কিন্তু "যে কোনো কিছু" শুরু করতেই সময় লাগত। ডিপ্লয়মেন্ট, অথেনটিকেশন এবং বেসিক UI কম্পোনেন্ট সেট আপ করার অর্থ ছিল একটি একক ফিচার লেখার আগে অসীম কনফিগারেশন। যখন আমরা Angular Material থিম ডিবাগ করছিলাম, প্রতিযোগীরা (এবং করবে) Next.js + Vercel ব্যবহার করে ইতিমধ্যেই ব্যবহারকারীদের অনবোর্ড করছিল।

শুধু Next.js + Vercel পথের সাথে তুলনা করুন: প্রথম দিনে npx create-next-app দিয়ে একটি স্কেলেটন অ্যাপ ডিপ্লয় করুন, Clerk অথেনটিকেশন এবং shadcn/ui কম্পোনেন্ট যোগ করুন, প্রথম দিনেই আসল ফিচার শিপ করুন। একই গন্তব্য, সম্পূর্ণ আলাদা যাত্রা।

এটি কেন ঘটে?

পার্থক্যটি ফ্রেমওয়ার্কের গুণমান নয়, এটি ইকোসিস্টেম অপ্টিমাইজেশন। Next.js/React অন্য স্টার্টআপগুলির জন্য টুল তৈরি করা ভেঞ্চার-ব্যাকড স্টার্টআপগুলি দ্বারা বেষ্টিত:

  • UI: shadcn/ui - কপি, পেস্ট, শিপ
  • Auth: Clerk/Supabase - মিনিটের মধ্যে কনফিগার করুন
  • Deploy: Vercel - git push মানে প্রোডাকশন
  • অন্য সবকিছু: স্টার্টআপগুলির যদি প্রয়োজন হয়, কেউ একটি পরিষেবা তৈরি করেছে

Angular-এর ইকোসিস্টেম এন্টারপ্রাইজগুলিকে সেবা দেয়: শক্তিশালী, নমনীয়, অসীমভাবে কাস্টমাইজযোগ্য। 50 জনের দলের জন্য নিখুঁত(?) এবং 3 জনের দলের জন্য বিষ।

\

মানসিক মডেল #4 - কোর তৈরি করুন, কনটেক্সট ভাড়া নিন

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

আমরা কমপক্ষে একমাস সময় ব্যয় করেছি এমন ফিচারগুলিতে যা কারও প্রয়োজন ছিল না। কাস্টম OAuth যখন Auth0 বিদ্যমান ছিল। একটি Postgres-ভিত্তিক জব কিউ যখন Redis + Celery বিদ্যমান ছিল। প্রথম দিন থেকেই Terraform, যখন কনসোল ঠিকঠাক কাজ করছিল। প্রতিটি সিদ্ধান্ত উৎপাদনশীল মনে হয়েছিল, কিন্তু প্রতিটি ছিল আত্ম-বিনাশ যেমন গ্রাহকদের সাথে কথা বলা বা অন্যান্য গ্রাহক উন্নয়নের মতো বাস্তব চ্যালেঞ্জগুলি মোকাবেলা করার জন্য।

প্যাটার্নটি সহজ: যদি গ্রাহকরা এর জন্য আপনাকে বেছে না নেয়, তাহলে এটি তৈরি করবেন না।

আমার $50 নিয়ম

যদি একটি SaaS-এর খরচ $50/মাস-এর কম হয়, তাহলে আপনি এটি তৈরি করার সামর্থ্য রাখেন না। আপনার সময় খুব ব্যয়বহুল।

কাস্টম OAuth তৈরি করতে মোট রক্ষণাবেক্ষণে এবং বিভিন্ন OAuth প্রদানকারী যোগ করতে 1-2 সপ্তাহ সময় লাগে। স্টার্টআপ বার্ন রেটে, এটি $5,000-$15,000 ইঞ্জিনিয়ারিং সময়, বা একটি সুযোগ হারানোর সময়। Auth0 25,000 সক্রিয় ব্যবহারকারী পর্যন্ত বিনামূল্যে, তারপর $35/মাস। আপনি একবার এটি তৈরি করার খরচে 35 বছরের জন্য Auth0 এর জন্য অর্থ প্রদান করতে পারেন।

সুতরাং, এটি অর্থ সম্পর্কে নয় বরং অগ্রাধিকার এবং সুযোগ খরচ সম্পর্কে।

ব্যতিক্রম

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

আমি আসলে কী ব্যবহার করি

  • Auth: Clerk (React-native, ভাল DX) বা Auth0 (B2B-ফোকাসড, এন্টারপ্রাইজ-রেডি)
  • Email: Resend (ডেভেলপার-ফার্স্ট) বা SendGrid (ব্যাটল-টেস্টেড)
  • Analytics: PostHog (স্কেল না হওয়া পর্যন্ত ফ্রি)
  • Monitoring: Sentry (ত্রুটির জন্য অপরাজেয়)
  • Hosting: Cloudflare বা Vercel (যদি Next.js-এ সম্পূর্ণ থাকেন)

এগুলি সমর্থন নয় বরং গতির জন্য অপ্টিমাইজ করা আমার নিজের পছন্দ। আমি অনুমান করি আপনার স্ট্যাক আলাদা হবে কিন্তু এই নীতি আলাদা হবে না।

\

\

সারসংক্ষেপ

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

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

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

আপনি আরও পছন্দ করতে পারেন