DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Because the DevOps movement has redefined engineering responsibilities, SREs now have to become stewards of observability strategy.

Apache Cassandra combines the benefits of major NoSQL databases to support data management needs not covered by traditional RDBMS vendors.

The software you build is only as secure as the code that powers it. Learn how malicious code creeps into your software supply chain.

Generative AI has transformed nearly every industry. How can you leverage GenAI to improve your productivity and efficiency?

Related

  • 7 Effective Conflict Resolution Strategies for Software Development Teams
  • Build Your Tech Startup: 4 Key Traps and Ways to Tackle Them
  • Decoding the Role of a Delivery Manager: Ensuring Smooth Operations Across the Software Development Lifecycle
  • Creating a Web Project: Four Questions to Ask Before You Start

Trending

  • Proactive Security in Distributed Systems: A Developer’s Approach
  • How to Format Articles for DZone
  • Building a Real-Time Change Data Capture Pipeline With Debezium, Kafka, and PostgreSQL
  • Using Python Libraries in Java
  1. DZone
  2. Culture and Methodologies
  3. Team Management
  4. Should Programmers Solve Business Problems?

Should Programmers Solve Business Problems?

A web developer's perspective on why programmers should engage in business problem-solving and how this engagement impacts project success and team dynamics.

By 
Lev Nemirovskii user avatar
Lev Nemirovskii
·
Jan. 10, 25 · Opinion
Likes (1)
Comment
Save
Tweet
Share
2.9K Views

Join the DZone community and get the full member experience.

Join For Free

I recently came across an article arguing that programmers shouldn't be involved in solving business problems, claiming it's a harmful myth perpetuated by the industry. The author believes that focusing on business needs corrupts the pure technical nature of programming. I strongly disagree with this perspective, and here's my response based on my experience as a web developer.

Developer Levels

Let's start with developer levels. Unfortunately, the three well-known grades (Junior, Middle, and Senior) lack clear definitions. Every person and company defines requirements individually, with blurred boundaries that sometimes take unexpected turns. So, first, let me explain how I understand these concepts.

  • Junior: This is the least controversial definition: a beginner programmer who has just learned theory and maybe completed a few pet projects or recently graduated from university.
  • Middle: An experienced programmer who not only knows but truly understands the technology stack they use daily.
  • Senior: An experienced programmer with diverse experience across multiple projects, has "production" work experience with several technology stacks, and possesses broad industry awareness. They should have experience in related fields (for example, I consider it normal when a Senior Web Developer has system administration skills) and can switch between frameworks or even programming languages without significant performance drops.

Like It or Not

Whether you want it or not, programmers solve business problems. Always, with rare exceptions. We need to understand that employment or self-employment always involves monetary relationships. Business needs to make profits, which includes paying employee salaries. Consequently, to generate profit, problems need to be solved (or, you could say, business tasks need to be addressed). Programmers need to make a living, preferably a good one. It's also important to understand that you can bring "value" to a business (or solve its problems) in different ways — both indirectly and directly.

How It Works

Let's examine a classic case and see how business problem-solving happens. A task arrives: We need to build a new website; it's nothing special. Simplified, the task flows like this: Company Head -> First-level managers -> Project Manager -> Team Lead and Designer (usually two different departments, so the task is assigned in parallel) -> Senior and/or all implementers. There are two possible approaches:

  • Case 1: Just do what you're told, "just code" — everyone works within their direct responsibilities: Team Lead discusses with business and creates Jira tickets, Senior designs architecture and handles the most complex parts, Junior does markup, and Middle handles regular tasks, possibly complex things alongside Senior (for simplicity, all Full Stack).
  • Case 2: Before starting work, several meetings are organized where the Senior Team Lead, designers, and management discuss the business problem in detail. They discuss not just how to solve it but how to solve it effectively for everyone — businesses, developers, and designers. They find a golden middle ground that works for everyone, and only then does development begin.

The Results

In the first scenario, when everyone "just codes," the business problem gets solved inefficiently. You get 100% deadline misses, hacky solutions, and responsibility shifting, followed by lengthy fixes and adding "new client wishes." This happens because people just did what business asked for. Nobody said it shouldn't be done this way — everyone worked like "cogs" within their competencies and didn't get involved in solving the business problem. There was no team here. After such projects, developers typically aren't viewed favorably. Business cares about results. Smart managers then hire Seniors who are willing to solve business problems.

In the second scenario, most potential issues, which always occur, are resolved through team interaction. Not to mention that developers can radically change project implementation because businesses might misunderstand what's needed. Can problems still occur? Of course, much depends on competencies, but there will be incomparably fewer issues. Here, the business problem is also solved, but effectively.

Infrastructure Projects

Some suggest moving to infrastructure projects where you can "just code." This is deceptive. Developers still solve business problems, just internal ones. These are the same monetary relationships. And the problems are the same as when working on a company's external product. The difference is that infrastructure projects are usually handled according to the first case. Hence the result. But even here, business problems are being solved, and the programmer participates in solutions.

Team

The main difference between the first and second cases isn't in implementation but in teamwork. And by team, I mean not just a couple of coders implementing the project but the entire company. The first case shows the absence of a team; the second shows its presence — everyone works together to achieve a good result. Of course, there are many assumptions, but the world isn't perfect.

Solving Business Problems ≠ Sales

I don't know why, but people often associate problem-solving with sales. Yes, many tasks are related to sales, but this is just one factor and often not the most important.

A programmer shouldn't think about HOW things will be sold, but they should think about WHAT will be sold. The quality of the final product depends on purely architectural decisions (which Senior often designs), response time, working logic, design (yes, programmers NEED to participate in interface design before development), etc. Even an infrastructure project is sold but within the company. The company's efficiency and consequently personal benefits (not just material ones) depend on the final product's quality.

Exceptions

At the beginning of the article, I mentioned that programmers solve business problems whether they want to or not, but there are exceptions. In my opinion, the only exception is pet projects - things you do for yourself. Open source projects might qualify with some stretch, but often, your commit ends up solving a business problem, just not your own.

Conclusion

Should a programmer solve business problems? Yes, they should. At the level of their competencies, position, and experience. Should a programmer SELL? Of course not, although it's a useful skill, especially in higher positions. Can you just code? Of course, you can. Can a Senior just code? No, for just coding, you can hire a middle developer.

Web developer Programmer (hardware) Team Management

Published at DZone with permission of Lev Nemirovskii. See the original article here.

Opinions expressed by DZone contributors are their own.

Related

  • 7 Effective Conflict Resolution Strategies for Software Development Teams
  • Build Your Tech Startup: 4 Key Traps and Ways to Tackle Them
  • Decoding the Role of a Delivery Manager: Ensuring Smooth Operations Across the Software Development Lifecycle
  • Creating a Web Project: Four Questions to Ask Before You Start

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!