What makes a Great Rapid App Developer?

Header image credit: Photo by Marcos Luiz Photograph

What makes a Great Rapid App Developer?

I get this question a lot. You would think it comes up in pre-sales activities alone, right? New potential clients determining if Rapid App Development (RAD) is for them? Well, you’re right, but you will be surprised to learn my answer, developed over years of delivering and leading Makers and projects, to what makes a great RAD maker (aka Developer, Coder, Citizen Developer, Business Engineer, Designer Dev, Hacker, Software Engineer…).

What is a RAD Maker?

For the uninitiated, Rapid App Development in the most reductive definition abstracts complexity of traditional app development. Traditionally, you need a team of experts in specialized roles to bring an app to life: DBA’s for the database development, workflow developers in a run-time language like .NET or Java, UI Developers, Sys Administrators, Network Engineers, and so on. Each has a unique talent to creatively take an idea and with keystrokes make their section of the application come to life.

With RAD tools such as Mendix, OutSystems, and to varying degrees PowerApps and Force.com, these low-code platforms make it possible for a single person to bring an idea to your web browser or mobile device all in a single platform. There are no-code platforms that put much tighter restrictions on the Maker to generate all the code. I believe there is a market to be served there, but I and other experts in the industry (Gartner/Forrester) treat them differently from the Rapid App Developer, Low-Code profile that I’m addressing. RAD is full-stack development in one “environment” with all the flexibility that comes with that definition.

Using the kinds of platforms that assist with managing the full lifecycle of app development, from prototype to production to legacy, a RAD maker can create the pages the user will interact with and customize the experience. They can develop the workflow logic that executes when the user presses a button or selects a drop-down. They can integrate fully with service layers that allow a user to pull information from other apps and sources and push their transformations of data back. They can secure the data and design the tables and relationships between them. They can transport their code to cloud or on-premise nodes. And they can invite others to participate in the process at any stage of the process.

While building my team, I put together a rubric that together with my leadership team accounted for over 70 skills to track related to being an Expert RAD Maker (note I did not say ‘great’). Over 70. When I started logging those skills, I never dreamed the list would grow to such lengths and as we learn and get exposed to more and more, that list grows. Let me give you a small sample of what a RAD Maker must understand on the front end alone:

  • Design Concepts

  • CSS/SASS

  • JSX

  • UX flow

  • JavaScript

  • Understanding of DOM

  • HTML

  • Specificity

  • ADA (or equivalent) guidelines

  • Local Storage/Cache

  • React Native

  • Cookies

  • Browser differences (Chrome, Firefox, Safari, Edge, IE, Opera) and versions

  • iOS vs Android device type differences and scaling

…Okay, enough. That’s a sample of what we need to know to be successful and that only deals with some of the front-end concepts. There’s still run-time logic, databases, security, re-usability, best practices, transports, debugging, version control, analysis, business and vertical expertise, integration layers, high concepts such as monolith designs vs micro-services or normalization forms of data management. Overwhelmed yet? I was.

How can anyone be asked to do all of this?

It seems impossible to cram all of this knowledge and expertise into a single person, right? I’m here to tell you it isn’t impossible as that is how we (consultants) train, but it’s not for everyone. Think of that as aspirational. See, RAD Makers also don’t have to do everything. The platforms help translate process-maps into code that behaves according to normal language (or similar) rules. They also bring the entire stack into one IDE to work with. While it’s possible to become an Expert RAD maker by doing all of these things, it isn’t a requirement to being a great maker.

I built my first app in a day. Was I thinking of all these concepts at the time? Absolutely not. My first newborn had just arrived. I went through some online training to get a feel for how this worked after spending over a decade in Business Intelligence and Analytics. The training recommended I make something, so I found a problem in my personal life: managing our newborn’s schedule. I don’t mean the feedings, bathings, naps (ha), and the like, I mean the appointments. I hadn’t had that many demands on my time since my days in the Marine Corps! We needed a way to track all of the doctor/photographer/family visits/and various appointments in the care of our newborn plus the information that would be relevant for that appointment. Photographer wants three outfits? Check. Doctor wants to know how many oz of bottle or frequency of feedings? Check. Nana and Papa are coming from out of town? Check. My sleep-deprived brain thought why not make an app I can just get to on my phone that is custom to my needs, with directions to the appointment and phone numbers, etc. I built that first app, and it was…terrible, by today’s standards. Being from BI, I wanted to write SQL to communicate with the database and what was this Xpath stuff in my way? But I built it, I used it briefly, I tweaked it, and then realized (woke up?) I could just use Google Calendar and I moved on.

RAD is as much about the process as it is the tooling. Tools help you accelerate your time-to-delivery by letting the developers focus on the process needs rather than on placements of semi-colons or missing library dependencies. But if you don’t know where you’re going, you’re just going to get lost quicker. We typically use forms of Agile principled project management such as Scrum, Kanban, etc. We define complete lifecycle sprints in 2-4 week increments so that we can adjust as the needs evolve. On a typical project team, you might find one or two RAD Makers, a Scrum Master, a Product Owner, and a few Subject Matter Experts (SME’s). Those SME’s might be from the business, but they also come from IT. After all, governance still applies (more than ever!) The RAD Makers that build lots of apps will start to find specialized interests in that rubric to gravitate towards and grow their expertise breadth and depth.

I think I understand. “Great” RAD Makers do it all…that’s not encouraging…

Nope, sorry. Skilled Experts can do it all, but that doesn’t mean they are the best at every topic, and it certainly doesn’t make them “great”. The maker movement is all about taking initiative and creating something. RAD Makers are just like any creative person, be it a traditional developer, a musician, an artist, or author; they endeavor from a place of passion.

A great Rapid App Developer is passionate about solving a problem and does something about it.

Photo by Nicole Wolf on Unsplash

Photo by Nicole Wolf on Unsplash

You don’t need to have 70+ skills. You don’t have to understand the difference between Inmon and Kimball. You don’t need a CS or MIS degree. You need passion, determination, and creativity. Start small like sketching out a wireframe of the idea on a napkin and then learn how to do the same in the RAD platforms. Or begin by putting data into a spreadsheet and think about how they need to be updated, then learn how these tools allow you to import that spreadsheet as the foundation of your app development. Being great at Rapid App Development isn’t about the skills you currently possess; it’s about taking that first scary step into the unknown because an idea is nagging you in the back of your mind. The idea of “this shouldn’t be this hard”, or “why can’t I do this on the go from my mobile device?” If that’s you and you’re ready to do something about it, become a maker like I did. It’s pretty “great”!