Where is going software development maturity?

August 4, 2011

In a domain where many keep their kid heart, what can we say about the industry maturity? Even if software development is a young discipline, we have seen a lot of practice changes and improvements in the last 10 years. One of the big steps in my opinion is that we now acknowledged that change is part of our daily job. It has made the industry search for better managing and processing ways. Other discipline paradigms have been observed, duplicated and adapted to our context. That has made our body of knowledge growth and new ways of doing things emerge.

I personally think that we are a people business, our industry require motivated people willing to work as a team to get results. That’s the reason why it’s more and more important to consider the human aspects more than the technical aspects. It’s also a society tendency: people desire more human jobs. Team that will succeed will be those who understand that fact and act in this way by caring about employee, team synergy and ensuring it’s an applied value by everyone.

What are the software development hot topics?

Agile Architecture - conference resume

Agile Architecture - conference resume

What I liked about that conference is that it presented a good summary of the hole DevTeach event, by presenting a little of every main concerns and ideas raised in the other conferences. You can follow Mario on his talk show (French).

In your opinion, what are the other emerging concerns and ideas in software engineering?


Improve your developer skills today!

April 12, 2011

Being able to develop software today is more applying best-practices than being knowledgeable in a specific technology. Why? Maybe because technology evolve so fast that it’s better to understand principles than technicality. Obviously a minimum of technical skills and experiences are required to perform best.

This makes university degree workers and autodidact people more interesting employees, since they are open to change and apply best practices. Many call it Software Development Maturity or Software Engineering Culture which is link to a way of thinking and a continuous desire to improve and be aware of new ideas in the industry.

Here’s a list of what I consider be essential knowledge for today’s developers.

6 Fundamental Knowledges

  1. SOLID (Code magazine articleWikipedia)
  2. Object Oriented Programming (OO)
  3. Design Patterns (Do Factory)
  4. Domain Driven Design (DDD)
  5. Agile / Scrum (Agile ManifestoScrum orgAgile Scout)
  6. Test Driven Development (TDD ) (Arrange Act AssertEric Mignot, TDD trainer)

Is software maturity enough?

We are all humans… Yes we are! As such we have needs and abilities we should respect. Software development was often considered as a nebulous science where people are resources that can be interchanged. Well we learned, sometime the hard way, which it’s not the case, some people achieve better with specific “people skills” that support and healthy team and we should encourage more these behaviours.

Here’s a list of  developer people skills:

  • Business Awareness – Understand expected behaviors and value
  • ROI thinking – Consider efforts VS added value
  • Tolerence to changes – It will occurs, be ready for it and embrace it
  • Recognize – Take time to acknowledge other’s accomplishment
  • Team spirit – Ability to be efficient in a team
  • Communication – Active listening and clear explications, don’t hesitate to interact!
  • Open minded – Accept comments and try to improve overtime
  • Organisation – Work on top priority first

How could I improve?

As anything in life, you will have to work to get results. First you can participate in communities of your area (ex: Communauté .NET MontréalAgile Montréal), you can listen to podcasts (ex: Visual Studio Talk ShowVox Agile) or event read about emergent architectures (ex: CQRS => Greg Young Blog postAnother Greg Young Blog postJulien Letrouit’s Blog). Try to become a better team player, ask yourself what you can do to be more efficient in your context.

Questions

  • Any other ideas to  improve that article?
  • What do you think is the most difficult to achieve?