Beyond the code. An interview with a full-stack web app developer

Blog Post | Aug 25th, 2021

Today, we're here to talk with Brian Kerr, web app developer, entrepreneur, and founder of Guide Projects. Brian will explain what web app development is, he'll share some exciting ideas and developments happening now and in the future, and he'll tell us a little bit about how he got involved in this exciting career.

What exactly is a web app? How is it different from a native app?

I define web app as any application that runs in a web browser. You don't need to download an app to your device. Your interactions are all conducted in the browser and data is transmitted over the web. Usually, this also implies that your data is stored and processed in the cloud, on a remote reb server, or (at least temporarily) in the browser itself rather than in your device's memory.

Webmail, online banking, and online stores are examples of web apps you may have already used today!

How did you get interested in coding?

Way back in undergrad at Duquesne University I was taking an intro (100 level) course in Communications. The course introduces theory, rhetoric, persuasion, the history of print communications, and more. While I'm sure many technical people laugh at the idea of studying communications, there are really some interesting and deep concepts, ancient and modern, that just about anyone would benefit from understanding.

The Communications program was designed for students entering the journalism, advertising, and public relations fields. A musician hobbyist, I thought, "Ok, music is a form of communication. How can I make a connection?" From that point on, I've thought of rock and pop songs in a similar way that I think of billboards. They're short blasts of messaging designed to communicate a thought, feeling, or some combination of both. The musical aspect of the song is the appeal factor, kind of like the way the designer put colors, images, and text together to appeal to the viewer's visual sense. Sometimes, while standing at a concert or at the train stop with my headphones on, I actually visualize the music. How would this song look if it were a billboard?

That same year, a friend asked if I wanted to learn how to code HTML because he no longer had the time to maintain our club's website. I jumped at the opportunity and instantly put HTML together in the same group as billboards and music. A markup language, HTML is simply a medium for presenting and communicating information.

As I became more advanced, I discovered coding in Javascript and eventually in Python and other languages. I continued to make the connection, linking object-oriented programming with communication. How we interact with data is really just another way of interacting with other people. While there are plenty of applications where programmers code to link technologies and mechanical components together, so much of it is involved with the process of linking people to machines, which in turn interact with other people. If you think about it this way, coding is really not that much different than writing a blog post an email, or even a letter with pen and paper. It's just more interactive and gives you some different ways to communicate.

So you're saying that coding can be used as another way to express ideas?

Absolutely. Lately, I've been integrating mini-apps and games directly into blog posts. Everyone who blogs knows how much photos, illustrations and videos can add to their posts. "A picture is worth a thousand words," the saying goes.

But what happens when the writer switches to coding mode mid-post and whips up a quick interactive activity? It sends engagement through the roof. Not only are you explaining your concept with words and/or visual elements, but you're providing an opportunity for the reader to test out the concept right there in the post. The reader gets a hands-on experience as part of your story.

How does your unique experience help you become a more effective programmer?

I subscribe to several feeds that list out job opportunities for developers. Usually, the employer is looking for someone with knowledge and experience in a specific set of languages. Someone who can jump right in and join the team.

Sometimes, the job descriptions mention "entrepreneurial environment", which can be coded language with any of a number of meanings -- good and/or bad. My entire career has been spent in an entrepreneurial environment or at a small business. I gravitate towards the entrepreneurial mentality, but I always look at those opprotunities with a careful eye because there's always some degree of risk that the founder will suddenly close up shop and leave you stranded without a paycheck.

But I rarely see posted job descriptions that look for people who can jump in and materialize ideas from scratch with a business plan, a business model, and code. Not only materialize the founder or management's ideas, but contribute to the creative process, as well.

I think this will become a more common ask in the future, especially as more people look at coding as a normal skill that anyone with any background can and (maybe) should have. Technology is so integral to our way of life, and it always will be for the rest of time.

Shouldn't the people with the business needs and big ideas know how to put the thing together, too? And how is anyone supposed to think up the idea or even recognize that there might be a better way to solve your problem without an understanding of how it could be executed?

What are the differences between front-end, back-end, and fullstack?

Front-end is concerned directly with the human to machine interaction, the user interface and user experience. This can take the form of web pages, app screens, or any other screen imaginable. Netflix, Gmail, and the screen at the gas pump immediately come to mind.

Lately, voice interaction has been a big thing in UI/UX. Lot's of people are sitting in their home offices today designing conversations. There are also lots of people at work with natural language processing and machine learning, where machines are learning how to speak more like humans. For now, I think the way to go is probably some combination of the two. If you design conversations, you can really give your virtual assistant some genuine character. It's kind of like writing a character for a film. The character has a story, a background, a set of values, quirky traits, a unique way of communicating, and its own way of adapting based on the context and information the user provides. Can't you think of settings where you'd much rather interact with a machine like that than with some monotone voice with zero character?

Back-end development is generally about the processes that take place on a server. Back-end developers spend lots of time with database tables and programs that interact with the database. In addition to working with an app's core database, back-end developers also connect applications with outside programs and data sources. Especially in smaller companies, back-end developers may also do dev-ops stuff where they're also concerned with deployment, the cloud, hardware, and more.

Fullstack just means that you work on all levels, or in some combination of all of these levels. Basically, you know how to create an application that has both backend and frontend components. Usually, this means they know more than one coding language, like Javascript and Python, for example. Full-stack developers can put the whole system together and get it up and working.

Where do you see web apps headed in the near future? Will they continue to be a thing?

I'm a fan of the web browser. I like how you can code for the browser and then that tech can be consumed without a download from a wide range of devices. I think the keywords for now and the future are "interaction", "specific use", and "simplicity". Voice, video, voice and image recognition, and personalization will all continue to advance, and their uses will be as commonplace as a basic web page. Learning, growing, and getting what you want and need really should be simple and fun.

Tags

Topics tagged in this post


Profile picture

Written by brian kerr
"Existentialism Is a Cyborgism"
About Guide Projects || Topics || Glossary || Reddit || Github