DEV Community

Kelvin Wangonya
Kelvin Wangonya

Posted on

What is your opinion on the difference between excellent and mediocre software development?

I recently got asked this question in an interview. It'd be interesting to hear the community's take on it.

Top comments (2)

Collapse
 
somedood profile image
Basti Ortiz • Edited

Even though I am yet to engage in software development in the real world (I'm still doing my studies), from what I've heard, I believe that a great team with cooperative and respectful people is excellent in software development in terms of teamwork. Otherwise, it is more likely to be an unsuccessful team.

In terms of best practices, I think excellent software development is making the code as readable and maintainable as possible. Performance and optimization can be an afterthought. Extra steps in making the code more performant will only be taken when absolutely necessary. The best code is easiest to pick up and start working on. In the long term, easier code leads to getting more stuff done.

Anyway, that's my say on it. Just take it with a grain of salt because I have never really been exposed to the "real world" of software development yet. My opinion was formed based on what I hear and learn from others.

Collapse
 
ben profile image
Ben Halpern

I believe that a great team with cooperative and respectful people is excellent in software development in terms of teamwork.

As individuals, it's important to evolve our own skills in this ability. Teamwork in software development can be frustrating, honestly. It's great when it's working, but misalignment and miscommunication can be brutal. Individual excellence is important, but nothing happens without cohesion.

That doesn't mean communicating on every issue. In fact, great teams probably need to sync less and communicate using expressive code, exhaustive READMEs and appropriate levels of documentation.

Asynchronous communication is not always intuitive.

And when in doubt, give the benefit of doubt to others involved.