Why your development practices are wrong.
Most people have "best practices" that have been proven, tried and true methods. When I wrote BASIC on my Commodore 64, I thought I was writing amazing code and only had 64k of memory (actually less than that for my application). I then progressed to pascal, then to C, then to C++, then to C#, then to... it doesn't really matter. There are some foundational concepts that we can all agree to, keep it simple, singularity of purpose, SOLID as a basis. But that is where it should stop. I am going to use a queue, a stack, an MVC pattern, etc...
If we keep doing what we have always done, then we are not innovating, we are simply copying.
We need to be more creative than that as developers. We do code reviews and then analyze based on what we have always done and those creative developers are pushed into conforming to the "traditions". What if I want to create an object that passes a dynamic object around and then modifies it as it gets passed. It was a crazy idea a while ago, then we had function pointers, then delegates, and who knows what is next. Object Oriented Development is NOT a new concept. But the question is what is next?
What are you doing to create NEW practices that you can defend?
Creating brilliant ideas that can't be defended are just crazy. Creating brilliant ideas that are logical, produce innovation.
As developers, we are always trying to improve on what exists. Yes there are 20+ frameworks out there for JavaScript, and the next one is the best one... or is it? What makes angular better than ember? What makes jQuery better than straight JavaScript? We leverage frameworks to improve our development, but the further we get away for the actual code, the more we rely on frameworks. We aren't creating things, we are simply dragging and dropping boxes around that are called modules, that make us a developer? C'mon really?
I used to write code (if you can call it that) using SqlWindows, eventually became CenturaSoft... that was drag and drop database development in its prime. I didn't know what was really going on, but I knew the framework pretty well.
We can say the same about the .Net framework... or jQuery... or Ruby on Rails... or? I love when people say they are really good at C#, which infers they are really good at the .Net Framework. Syntax does not make a difference to me. The question is what do you know about the framework? Do you know about multi-cast delegates, generics, the system namespace, the mvc magic that happens, attributes on methods, what about webapi, webgl, etc... It is a lot to say you are "really good" at something. I learned that over years.
So are you development practices really innovative or are you just copying the same thing someone else did and you claim to be your own.
Are there any new ideas or just improvements on really bad ones?
Luckily for me, there are some really bad developers out there. I love those people, because eventually, they will call someone to fix what they did. Hopefully, I am that person they call.
I was a really bad developer, but after years of mistakes, I became a really good developer (yes, I said it, I'm a really good developer). It doesn't take studying to improve your practices, or reading blogs, or even working. It takes an innate passion that comes from within to hold yourself to a higher standard. You can work at a job and continually write bad code, but it is acceptable, because you are the best they have.
You need to write code to be a better developer. You need to write code and show it to other developers and ask them, what could I do better? If you work in a silo, you will think you are brilliant. When you open yourself up to criticism, you get better. You find out what you don't know. You find out what you need to practice. I say practice, not read about, not talk about, but practice!
If I read about how to deploy to a server, that is easy. But when I actually do it and run into acl issues, missing a dll, not setting up the application correctly in IIS, forgetting the pass-through authentication account, setting up the application pool correctly... etc... there is a plethora of errors that you MAY encounter, but until you do it, you won't know.
Don't repeat the game... CHANGE IT. Challenge the "best practices"...
If you ever hear, "that's how we always have done it"... ask WHY!? I think there is a better way. You can contribute to the best practices of the future, not just follow the ones of the past.
Here is my challenge for you - What "best practice" are you doing that you know could be better?
Thanks for stopping by.