Hi, I am the founder of www.dofactory.com and I'd like to tell you my story as a full-stack .NET developer. First of all, I was fortunate to participate in a wide variety of projects at different places, including startups, small companies, non-profits, government agencies, and multi-national enterprises. Each project is unique, but I made several observations that are true across the board.
Many projects start in a hurry because of time and budget constraints -- particularly those that hire external consultants and contractors. Initial analysis is followed quickly by development. No time is set aside for establishing the proper application structure by exploring proven architectures, practices, tools, platforms, etc.
I also found that most organizations don't share prior experiences and best practices between departments and projects; all is lost once a project completes. Each new project essentially starts from scratch requiring work that has been done before.
Projects that do not take advantage of existing experiences, patterns, best practices, templates, and proven architectures require a lot of extra work and are at far greater risk of failure. These are the problem signs: initially some early deadlines are missed due to increased complexity, but over time things get worse and worse, up to a point where the application becomes unworkable and developers are unproductive and super stressed. Not surprisingly, many of these projects end up getting cancelled or just flat out fail.
On some occasions I would be asked to come in and assess a project in trouble. Upon evaluation I found that from the very start there had been a lack of structure, architectural guidance, and direction, essentially setting the project onto a path of complexity, extra work, missed deadlines, and ultimately failure.
Many organizations don't realize this, but, with the proper planning and guidance, software development can be a fun, relaxed experience and result in amazing solutions that end-users will enjoy. The good news is that it is not rocket science to do it right.
In the early days, when I noticed these problems, I started assembling a collection of proven code, components, patterns, designs, architectures, practices, and techniques that I would carry from project to project. I called it "My Briefcase".
Half of it was code: reusable code, components, modules, and a framework -- the other half was virtual in the form of experiences, designs, and best practices, all in my head.
As my briefcase matured, it provided a solid foundation to numerous projects, all of which got off to a great start and were completed on time and often below budget (because fewer resources were required).
As a .NET architect and consultant, my clients benefitted greatly from this reusable collection of proven patterns, practices, and architectures. Many of the application that I helped build are still in production today.
To share this experience with other developers, I began to organize and document my briefcase and named it the .NET Design Pattern Framework.
Naming it -- or even explaining it -- was not easy because it is more than a collection of patterns and practices, more than a code framework, and more than just architectural guidance. Essentially, it was a package, with tools, documentation and 100% source code, that helps developers build better .NET software faster.
When first released, the .NET Design Pattern Framework was an immediate hit. This confirmed my belief that there was indeed a need for real-world pattern and architectural guidance. Today we have 20,000 customers and over 65,000 developers that use our products in their daily work.
The .NET Design Pattern Framework has evolved greatly since it was first released. To mark the next step in this evolution the .NET Design Pattern Framework was renamed to Dofactory .NET, mostly because that is how our users already referred to the package. So the new name is very much community driven.
Today it covers all modern patterns, practices, and principles including Gang of Four, Enterprise, MVC, MVP, MVVM, DI, N-Tier, Cache, Repository, Unit-of-Work, Active Record, CQRS, Data Access, and more. In addition to patterns, we also cover RAD (Rapid Application Development), Low code, and our new Ultra-Clean™ Architecture, to facilitate even better and faster development.
I am particularly proud of our latest release of Dofactory .NET which is available for .NET and .NET Core. It contains everything you need to build amazing applications with very little code.
And it does not stop there. The Dofactory .NET Pro Edition teaches you how to build comprehensive solutions in only 33 days! Our showcase CRM app (similar to Salesforce) shows what can be achieved in 33 days. And with the Pro Edition you can do the same!
Developers learn best by exploring real code in comprehensive solutions. For this reason, we include real-world reference applications with all editions of Dofactory .NET. They teach you when, where, and how to apply design patterns, practices, and other techniques in your own projects.
Today our products include Dofactory .NET, Dofactory SQL, and Dofactory JS. They are available individually or as a cost-effective, all-in-one suite, called Dofactory Bundle, which offers a great value for full-stack .NET developers.
Now is the best time to take action and boost your career. Give Dofactory .NET a try. You won't regret it!