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.
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 an healthy team and we should encourage more these behaviours.
Here’s a list of developer people skills:
As anything in life, you will have to work to get results. First you can participate in communities of your area , you can listen to podcasts on topic you want to learn about or event read about emergent architectures (ex: CQRS => Greg Young Blog post). Try to become a better team player, ask yourself what you can do to be more efficient in your context.