Back to Basics

Recently, I have seen many developers considering switching to technologies like NoSQL, Scala, and so on due to problems like performance, maintenance and availability. New technologies like Scala or NoSQL databases for instance are a very good think! However, in many applications I’ve seen, the real problem is not technology limitation but poor application design or simply bad coding. When that happens, switch to the last shiny framework, database, pattern or else won’t solve the main problem, and the same errors and misconceptions will probably reappear with the new version of the application.

Code reviews, pair-programming and continuous refactoring are strongly recommended before considering rewriting your technical stack to, let’s say, “pay the debt”. In this case, the more one masters Software basics (programming, testing, design patterns, algorithms, etc.) more close he/she will be from building great software. To be more effective a change of mindset is sometimes essential and Agile development, TDD and Software Craftsmanship could bring inspiring ideas 😉


About Diego Lemos

Trainer, coach and polyglot programmer. Agile and software craftsmanship enthusiast.
This entry was posted in Agile, Refactoring and tagged , . Bookmark the permalink.

2 Responses to Back to Basics

  1. Great post! Good to see you posting, Dr. Lemos.
    I think the most important tool to make a good code is test.
    With continuous integration and TDD, you enter an almost perfect land for refactoring: regression tests and safety.
    One thing that’s very bad for good code base is over-engineering. So many people get so worry about design patterns so early,
    and make good too complex and difficult to understand. Evolutionary design/architecture is the good way.
    Keep posting my friend!

  2. dlresende says:

    I edited this post suppressing the list of Java posts. Since they will not be published neither in the order suggested nor with the same titles, this will avoid confusion.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s