On the latest .NET Rocks! podcast (yeah, I’m a Windows user too!), the topic was about the “newish” Visual Studio tool Lightswitch. Lightswitch allows a user to quickly create a business application with a rich set of design tools. A user can create their own database schema as well as import data from existing databases. They can create screens, screen flow, and then push it out to end users. Basically, Lightswitch allows you to create a solution to a problem with very little code (often times no code at all).
“No, coding! Well, some developer you are. To be a developer you have to code.”
Well, not so much. I think that it is more important to solve problems quickly then it is to code.
Programming for the sake of programming
During my day job I work on Windows and do a lot of development work in C# using Visual Studio. I feel that the C# language, .NET, and Visual Studio are highly polished and help me be productive when it comes to creating applications. But there is something that can come up with the best frameworks and languages out there; too much code. Developers and engineers get into “solve this problem” mode and then come up with a solution that is highly engineered and as close to perfect as possible.
But, really, the customer or end user of the solution that these engineers are creating just want one simple thing; an answer to their problem. Something else that they want about 99% of the time is that answer to be here today. As a technologist, we need to deliver answers to problems, not code.
Enter abstraction
A few months ago I got really excited about the new FileMaker suite for Mac and Windows. You could quickly create highly polished and usable, multi-user applications for the desktop and then push them out to an iPhone or iPad. This was an eye opener for me. It showed me that I didn’t have to code something to solve a problem; that I could spend 80% of my time implementing a solution and the other 20% tweaking it and supporting it. That was huge.
The idea of abstracting out technical backend code and flow of an application to software that can handle it is nothing short of a miracle for technologists. It allows us to think technically and solve problems rather than battle with code and oddities of languages. It allows us to concentrate more on how to solve the problem than the technology itself which helps us get more done. It allows us to deliver a product and answer faster and more accurately. All of this makes happy end users and customers.
You don’t have to code
Just because you can program in C, doesn’t mean you have to. If you want to be able to get more done and solve real problems for people, then coding more isn’t your answer. Using technology tools that enable you to solve problems faster is.
Now, don’t get me wrong, coding is great and I love to do it. But, as technologists we should never be reinventing the wheel. We should know how the wheel works and how to use it. Then we can use it to create and solve something else. So, rather than spin your wheels on a problem that has already been solved, use technology to solve something new.


