DEV Community

Steven Stuart
Steven Stuart

Posted on • Originally published at stevenstuartm.com

Know What You Are, Regardless of Your Title

Every company seems to use different titles for the same work. One place calls you a "software engineer" when you're writing code someone else designed. Another calls you a "developer" when you're making architectural decisions that affect the entire system. The industry won't standardize these terms because they've become seniority markers and HR categories rather than meaningful distinctions about how people work.

But the distinctions still matter. Not for your business card, but for understanding how you approach problems and where you want to grow.

Three Ways of Working

These categories describe how people think about their work, not what their employer calls them.

Coders translate requirements into working code. They excel at implementation, focusing on programming craft and technique. Give them a clear specification and they'll build it well. The work requires real skill: clean code, efficient algorithms, maintainable structure. But the problem-solving happens upstream, and someone else defines what "done" means.

Developers solve problems through software. They participate in defining solutions, not just implementing them. When someone describes a business need, developers think about what to build and how it should work before writing any code. They still write plenty of code, but they're also figuring out what the code should accomplish.

Engineers bring systematic approaches and quality practices to building software. They think about reliability, maintainability, and how systems behave under real-world conditions. Testing strategies, deployment pipelines, monitoring, performance characteristics; these concerns shape their work from the start. They build systems meant to run in production for years, not just pass acceptance criteria today.

Each level is valuable, and organizations need all three. They also represent a natural progression of responsibility and skill breadth. As you take on more ownership, you naturally move toward the concerns of the next level. You build on previous skills while expecting more from yourself, not because you're abandoning what you knew, but because broader responsibility demands broader thinking.

When Your Title Doesn't Match Your Work

Your professional identity often differs from what your employer calls you. You might think like an engineer, considering reliability, monitoring, and long-term maintainability, while working somewhere that compartmentalizes roles for valid reasons: risk management, regulatory compliance, or maintaining consistency across large teams. The policies make sense from the organization's perspective, but they still constrain you to writing code from detailed specifications. Or you might prefer focused implementation work but carry a "senior engineer" title that comes with expectations about system design and architectural decisions you'd rather avoid.

These mismatches create tension. You're either constrained by a role that's narrower than your capabilities, or carrying a title that implies responsibilities you don't actually want.

Two things matter more than your official title:

Self-awareness about your strengths and interests. What energizes you? Is it solving problems, refining implementation craft, or ensuring system reliability? What drains you? This clarity helps you evaluate opportunities. When interviewing, you can ask specific questions about what the role actually involves, not just accept the title at face value. "You call this a senior engineer role; does that mean I'll be making architectural decisions, or implementing designs others create?"

Continuous growth regardless of your current constraints. Your employer's policies don't determine what you can learn. If you're stuck writing predetermined code but want to think more broadly, study system design on your own time. Read about how experienced developers approach problem decomposition. If your company doesn't emphasize quality practices, learn them anyway. Practice writing tests, even if they're not required. Build small projects where you control the entire system and can experiment with reliability techniques.

This isn't about working extra hours for your employer's benefit. It's about developing capabilities that serve your career, not just your current job.

Context Shapes Expectations

These distinctions play out differently depending on where you work. Startups often expect everyone to operate at multiple levels by necessity; there's no one else to handle the work you're not officially responsible for. Larger enterprises may strictly compartmentalize roles, with separate teams for requirements definition, implementation, and operations.

Neither approach is inherently better, but understanding your natural fit helps you choose environments where you'll thrive rather than constantly fight against structure or chaos.

What This Means Practically

Your growth happens through what you learn and practice, not through what others call you. Job titles are currency in the hiring market and political tokens inside organizations. They matter for compensation and access, but they're unreliable indicators of actual capability or working style.

Know what kind of work energizes you. Develop skills aligned with that direction. When your title and your work diverge, decide whether to find a better match or focus on learning despite the constraints. Let your capabilities and how you approach problems speak louder than whatever label appears on your business card.

Top comments (0)