惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 聂微东
Engineering at Meta
Engineering at Meta
N
Netflix TechBlog - Medium
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
Vercel News
Vercel News
D
DataBreaches.Net
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
WordPress大学
WordPress大学
L
LangChain Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
F
Fortinet All Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
J
Java Code Geeks
Recent Announcements
Recent Announcements
Jina AI
Jina AI
G
Google Developers Blog
腾讯CDC
博客园_首页
博客园 - 【当耐特】

DEV Community

Authentication Security Deep Dive: From Brute Force to Salted Hashing (With Java Examples) Why AI Systems Don’t Fail — They Drift Spilling beans for how i learn for exam😁"Reinforcement Learning Cheat Sheet" I Replaced Chrome with Safari for AI Browser Automation. Here's What Broke (and What Finally Worked) How Python Borrows Other People's Work The $40 Architecture: Processing 1 Billion API Requests with 99.99% Uptime Vibe Coding: A Workflow Guide (From Zero to SaaS) Most webhook security guides protect the wrong side. The scary part is delivery. Headless CMS for TanStack Start: Build a Blog with Cosmic EU Age Verification App "Hacked in 2 Minutes" — What Actually Happened Comfy Cloud’s delete function does not actually remove files Running AI Models on GPU Cloud Servers: A Beginner Guide Event-driven media intelligence with AWS Step Functions and Bedrock I scored 500 AI prompts across 8 quality dimensions — here's what broke How to Call Google Gemini API from Next.js (Free Tier, No Backend Needed) The Portal Protocol: Reclaiming Human Connection in the Age of AI How to Fix Your Team's Scattered Knowledge Problem With a Self-Hosted Forum Intro to tc Cloud Functors: A Graph-First Mental Model for the Modern Cloud Designing Multi-Tenant Backends With Both Ownership and Team Access I Built a Neumorphic CSS Library with 77+ Components — Here's What I Learned PostgreSQL Performance Optimization: Why Connection Pooling Is Critical at Scale Cómo construí un SaaS multi-rubro para gestionar expensas en Argentina con FastAPI + Vue 3 🚀 I Built an Ethical Hacking Scanner Tool – Open Source Project I Replaced /usage and /context in Claude Code With a Single Statusline A Pythonic Way to Handle Emails (IMAP/SMTP) with Auto-Discovery and AI-Ready Design I Collected 8.9 Million Polymarket Price Points — Here's What I Found About How Markets Really Move EcoTrack AI — Carbon Footprint Tracker & Dashboard Everyone's Using AI. No One Agrees How. 5 self-hosted ebook managers worth trying in 2026 Building Your First AI Agent with LangChain: From Chatbot to Autonomous Assistant
Shock After Joining a New Company as a Developer
Angga Jiyan · 2026-05-16 · via DEV Community

A while ago, I joined a new IT company.

Technically, it wasn’t too difficult to adapt. It was still backend, frontend, databases, APIs — things I was already familiar with.

But there was one thing that genuinely surprised me:
the coding culture was completely different from the company I worked at before.

At my previous company, coding standards were taken very seriously.
Folder structures were clean.
Naming conventions were consistent.
Old comments were removed.
Even small details during code review mattered.

I got used to working in an environment where “clean code” was a big deal.

Then I joined the new company.

And suddenly I started seeing:

  • old commented-out code everywhere,
  • functions that were hundreds of lines long,
  • mixed business logic,
  • inconsistent naming,
  • and pieces of legacy code that looked like they had survived for years untouched.

Honestly, at first, it stressed me out a little.

My immediate reaction was:

“Why doesn’t anyone clean this up?”

But after spending more time there, I slowly realized something important:

Real-world software development is much messier than the clean coding principles we often see online.

Every Company Has Its Own Way of Surviving

At my previous company, workloads were more manageable.
There was time for refactoring, architecture discussions, and improving code quality.

At the new company, things moved much faster.

Most of the time, the priorities were:

  • shipping features quickly,
  • fixing urgent bugs,
  • responding to client requests,
  • and keeping the system running.

That doesn’t mean the developers there were bad.

In fact, many of them were highly capable.

But their priorities were different.

And honestly, that makes sense.

Because in the real world, developers are not just writing code in isolation. There are deadlines, business pressure, clients, unexpected changes, and production issues happening all the time.

Sometimes idealism has to meet reality.

I Realized I Was Carrying Technical Ego Too

When I first joined, I felt like many things were “wrong.”

I wanted to:

  • reorganize folders,
  • remove old comments,
  • split large functions,
  • enforce consistent naming,
  • and refactor a lot of things immediately.

But then I realized something:

Joining a new team and instantly saying:

“Your codebase is messy”

isn’t a great way to build trust.

Every codebase has its own history.

Some strange-looking code exists because:

  • someone was rushing to meet a deadline,
  • a hotfix was needed,
  • client requirements suddenly changed,
  • or multiple developers made compromises over time.

Sometimes we only see the final result without understanding the story behind it.

Clean Code Matters — But It’s Not Always the Top Priority

This was probably the biggest lesson for me.

I used to think:

good code = perfectly clean code.

Now I see it differently.

Sometimes “good code” simply means:

  • the team can still understand it,
  • bugs can still be fixed,
  • and the business can continue operating without major problems.

Is it ideal? Maybe not.
Is it realistic? Very often, yes.

So I Started Adapting Slowly

Now, instead of trying to “fix everything,” I take a smaller approach.

Whenever I touch a file, I try to:

  • clean up a little,
  • remove truly unnecessary comments,
  • improve naming where it helps,
  • or simplify logic if it becomes too difficult to read.

Small improvements over time.

Because changing engineering culture doesn’t happen overnight.

And honestly, I’ve started realizing that being a professional developer is not only about writing beautiful architecture.

It’s also about:

  • working with different kinds of teams,
  • understanding business realities,
  • and knowing when to be idealistic and when to be pragmatic.
  • Final Thoughts

If you recently joined a new company and felt shocked by the codebase or coding culture, you’re not alone.

I’ve been there too.

Sometimes we come in expecting:

“Every company follows best practices.”

But reality is different.

Every company has different pressures, priorities, and trade-offs.

And maybe one of the hardest parts of being a software developer isn’t learning a new framework.

Maybe it’s learning that not every codebase will match your ideal version of software engineering.