The Rise of Full-Stack Developers | LANSA Blog
Low-Code Mobile App Development and Data Integration - LANSA Skip to content

App Development & Modernization Tools for Complex Projects

Low-Code Platform

LANSA's low-code development platform accelerates and simplifies the creation of enterprise apps while making your development team more productive. LANSA puts you back in control.

Learn more
Mobile Development

LANSA makes it easier than ever to take your apps mobile. Build mobile-first apps as easily as web apps using a single platform.

Learn more
Enterprise Integration

LANSA offers powerful integration choices for your web and mobile apps. We support a range of options to make integration fast and easy.

Learn more
IBM i Modernization

LANSA is the only low-code development platform to natively support IBM i. You can build new apps and modernize existing ones - with native web and mobile support

Learn more

Trusted by thousands of organizations worldwide

The Low-Code Platform That Benefits Every Technical Role

Visual LANSA impacts every area of the business, delivering company-wide innovation, productivity and control.
For IT Managers

LANSA lets your team create apps up to 10x faster than usual, reducing the time- to- market for new apps and helping clear your application backlog.

Learn more
For CxOs

LANSA equips your IT team to innovate and deliver new apps in the time frame the business needs. Your team becomes more productive and responsive.

Learn more
For Developers

LANSA’s low-code platform allows you to become a full-stack developer delivering web and mobile apps faster and easier than ever before.

Learn more
For ISVs/SIs

LANSA’s low-code platform helps build easy-to-maintain apps for your customers, reduces time-to-market, and makes your team more productive.

Learn more
Noun Quote

“With LANSA we can help our customers be more agile and responsive to new business requirements. That's extremely important in the transportation industry. Enhancements and customization are now simple and fast, meaning that we can respond quicker to customer requests.”

“With LANSA we can help our customers be more agile and responsive to new business requirements. That's extremely important in the transportation industry. Enhancements and customization are now simple and fast, meaning that we can respond quicker to customer requests.”

“With LANSA we can help our customers be more agile and responsive to new business requirements. That's extremely important in the transportation industry. Enhancements and customization are now simple and fast, meaning that we can respond quicker to customer requests.”

Glenn Gundermann, Application Development Manager, Nulogx

“Our ERP system happens to run on IBM i, which is often and mistakenly earmarked as a legacy platform. Using LANSA and with a renewed focus on our existing ERP system, we have proven to be more flexible and productive than a packaged ERP like SAP ever could be.”

“Our ERP system happens to run on IBM i, which is often and mistakenly earmarked as a legacy platform. Using LANSA and with a renewed focus on our existing ERP system, we have proven to be more flexible and productive than a packaged ERP like SAP ever could be.”

“Our ERP system happens to run on IBM i, which is often and mistakenly earmarked as a legacy platform. Using LANSA and with a renewed focus on our existing ERP system, we have proven to be more flexible and productive than a packaged ERP like SAP ever could be.”

Arnold Hendriks, Application Development Manager, Bidfood

“The LANSA portal is a crucial part of our digital strategy and plays an important role in remaining competitive. It offers a new way to add value to our services, above and beyond just selling a product.”

Michael Hall, Head of Digital, Elders Rural

previous arrow
next arrow
Slider
X

FREE WHITEPAPER

The Power of Coding in a Low-Code Solution

Free Virtual Event, October 2020

A full day of Low-Code sessions for Devs, CxOs & everyone in between

FREE eLearning Site

Enroll in free courses for every stage of the Low-Code journey

The Rise of Full-Stack Developers

How many full-stack developers does it take to screw in a lightbulb? Just one, if you can find one. Perhaps you should look for a unicorn instead.

There is a remarkable trend in software development that has been growing along-side the divergence of specialized software development skills: the rise of the full-stack developer. To be sure, the full-stack developer existing long ago, as earlier programming languages and form factors (long before we called them that) enabled programmers to code, compile and execute a “Hello World” program and instantly have this helpful message appear on the end user’s display. Of course, we didn’t call them “full-stack developers” back then. They were simply called computer programmers or software engineers.

What is a Full-Stack Developer (FSD)?

A FSD is a software programmer who has software development skills spanning user interface development, back-end server coding and integration to tie it all together with databases and other existing information in the enterprise data ecosystem. Sometimes the term “Web Generalist” or “Web Full-stack Developer” is used to specifically refer to the full-stack spanning just web-based applications.

In order to be a successful FSD one must possess other computer skills too:

  • Server architecture, data networking, virtual servers, scaling methods, hosting environments, DevOps practices, multi-threading, multi-tenancy, memory usage, local and remote storage, user and data security
  • Data structures, data formatting, data transformation, parsing, keys, modeling, normalization, databases, non-relational, relational and big data
  • Integration, secure data transport, APIs, digital certificates
  • UX/UI for web, mobile and desktop app experiences; not to mention specific coding languages: visual design and layout, understanding human interaction, information design, workflow steps, simplifying user steps and clicks and understanding what job the user is
  • Frameworks aplenty, open source projects, etc. This may be the single hardest part of the FSD challenge as it’s an area of constant change and updates that one must remain current on

And, oh yeah: business rules and logic. FSDs should be able to learn and understand the business rules and logic, understand the larger ecosystem of the business data and how it’s used by others up and downstream from the applications being built. Can you master all of the above and still have a reasoned conversation with non-technical people in the business about the requirements of an upcoming project? You could be a FSD.

To be sure, a FSD doesn’t need to know all programming languages. Let’s be reasonable., There are over 800 different programming languages. The good news is that a FSD probably only needs to master about a dozen languages and scripting syntaxes to claim FSD status. But that’s a lot. Of course, it’s not just any random dozen of the combinations from the neighboring alphabet soup, but whatever dozen the FSD has, you can be assured that lucky number 13 will rear its ugly head about halfway through the next project.

You might as well throw in the contemporary resurgence of topics like AI and data analytics as well as newer computing phenomenon such as augmented reality and conversational UX just to seal the deal that a FSD is as rare as a unicorn.

The controversy over the very notion of a FSD is that the list above is a LOT of stuff. And it’s one thing to have worked on a project at some point with a hand in crafting some of the design and syntax of each of the underlying technologies. It’s quite another to claim expertise (or even proficiency) in all of the above. Just the notion of a full-stack “web” developer is rather intense: HTML 5, CSS 3, Angular, JavaScript, Asp.NET, PHP, Ruby on Rails, Node.JS and a database.

But let’s stay on this vision: FSD’s are the fearless “go-to people” in your software team who can make projects happen and troubleshoot and fix any problem.

Why Are FSDs in High Demand?

One word: SPEED.  Without a FSD you need more people to work on all the separate parts of the project. Adding more people to a software project slows it down. It’s a well-known phenomenon, documented by computer science scholars in the mid-1970’s (see, No Silver Bullet). However, just to be sure, project teams everywhere frequently run unwitting experiments to reconfirm the axiom.

Smaller and more agile teams can run circles around larger unwieldy ones. Software methods attempt to mitigate the issue by breaking complex software down into pieces to be solved separately by smaller teams over time. That’s fine until you need something big and complex done quickly. “Seriously, we don’t have time for sticky notes and iteration planning this time, the business needs this now. Put away your crayons and start coding.” More seriously, agile methods run much more efficiently when more universal developer resources are assignable to the next open task.

Here’s a scenario that might sound too familiar: With only one open headcount and a lot of ambition, you have to make it really count (and cover all bases including known and unknown). So instead of another specialized software developer, you shoot for the moon. The coveted FSD. And politically speaking, if the recruiting team can’t deliver a FSD, then it’s their fault the team failed, right?

According to Wirth’s Law (also attributed as Page’s Law, Gate’s Law and May’s Law) software efficiency halves every 18 months, thereby compensating for Moore’s Law.  [Reference: https://en.wikipedia.org/wiki/Wirth%27s_law]  Software has become so complex because it’s doing more stuff. It’s securely managing and enabling thousands of concurrent users accessing data on databases with terabytes of storage from remote and wirelessly connected diverse multi-lingual user interfaces while predicting the future, flagging fraud and generating hyper-cryptic error messages while supported by an elastic array of cloud and hybrid servers. The increased complexities of modern software have created the need for software developer skills specialization. The FSD concept pretends to simplify it.

You have three options to build a FSD team.

  1. Find them: recruiting and selection.
  2. Train them: on-going certification.
  3. Equip them: provide your developers with FSD capability.

In my next two blog posts, I’ll discuss the merits of these options.

[sc name=”full-stack-developer-team-white-paper”]

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.