I have written about Magic here previously, but on the 5th of January we came out with a significant upgrade to the Magic wand — the ability to automatically scaffold up an entire Angular frontend. This means that you can now start out with only a database, click one button, and Magic creates your entire backend. The result is that every single database table becomes wrapped inside of CRUD HTTP REST endpoints. Click another button, and Magic gives you a ZIP file that contains an entire Angular frontend, tailored specifically to your backend. See the process in the video below, or download Magic and try it out on your own database if you wish.
According to an article I read here at DZone, a highly skilled software developer can produce roughly 750 lines of code per month. When I tested Magic on a database with 122 tables, Magic produced almost 100,000 lines of code for me automatically. That becomes the equivalent of 8.8 years of software development for a human being, and my computer created this code in less than 60 seconds. Add to that the fact that human beings will write an occasional error into their code, and a computer will never create an error — and you get the point.
Seriously, think about the implications of this. Most of our work as software developers in our day jobs, at least in the enterprise development space, is repetitive in nature, and implies copying and pasting code around — and then to apply minor modifications to it. Using Angular Material and its “mat-table” for instance, to wrap 3-5 data tables from a database through some HTTP REST endpoints, basically implies copying and pasting existing code, change the column definitions, change some of the cell containers, and implement highly similar methods to retrieve data, according to some filtering/sorting criteria.
Unless you see the problem with this approach, you haven’t done enough Angular software development in the enterprise space. Try creating a CRM system with 400 tables, then come back and explain to me how “copying and pasting code was not a problem for you.”
However, this part of our jobs so simple that we can easily create an application that creates this part of our code for us. Notice, you still want code as the application’s output because you probably want to modify it afterward for whatever custom requirements the table you’re currently working on happens to have.
However, 95% of this job, is literally copying and pasting code from other Angular components. Having a software developer, often your most expensive human resource too may I add, do this type of work manually is flat out madness!
What I propose is to have the computer do all of this boring work, so you’re left with more creative and and engaging work. I want you to do the stuff only a human being can do, such as creating beautiful web forms, allowing your app’s UX to become more efficient and more easily used. I want you to spend time on implementing beautiful and scalable microservices and architect systems with dozens of servers.