What do you see when you look at a watch? You see time, a fictional concept us humans use because explaining things with the relativity of speed and distance would be a tat too complicated.
What you don’t see when looking at the face of a watch is the complex mechanism of gears that is powering the entire thing to show every second passing by.
The same can be said about websites and apps. We use HTML, CSS, and JS to tell the story of your brand, we create a pretty, welcoming face for it but the real magic happens way back, behind the curtains, in the magnificent realm of servers and databases no user should ever stumble upon.
Many believe that there is a debate between what is more important to your business and to your end users just because the two are so different. But, just like in a well-polished Swiss watch, the two walk together hand in hand like day and night.
Ok, maybe I am overblowing the whole thing with the metaphors but you get the concept, don’t you? So let’s cut straight to the chaise and talk about what makes or breaks a solid back end of an app in 2018.
The muscle behind the hustle
Your team of developers is the first thing that’s worth your attention. You are building the backbone for your application right now so the people doing the coding matter.
Decent coding skills and awareness with basic technologies (or even beyond them) have to be complimented with soft skills. Architecture of the application, data storage processes, server-side apps and basic functionality are all negotiable. Remember how I said that front and back end go hand in hand? Well, designers as well as UX experts are to have as much a say in choosing the required functionality that is to be implemented as the back end guys who will be coding it.
It hurts me to say it, but a developer with 10 years of back end coding behind back will not understand a UX professional with the same experience. Their minds work in polar opposite directions.
Both guys will need to talk, they will need to convince each other in the importance and prioritization of certain features over others.
Bottom line? Soft skills matter!
The tech stack
Let’s continue assembling our profile of the perfect back end developer. What are the tools, languages, services and frameworks he or she should be skilled with?
Back in the day software developers preferred the monolith architecture in which the entire software application functioned as one whole piece. There is an obvious downside to this approach – a single crack in the right place can take the whole thing down.
We prefer the Modular Architecture in TrendLine. We develop applications that consist of dozens of even hundreds of separate applications that are responsible for a single feature or element of the end product. Debugging, maintenance and updates are simpler and smoother this way, plus the scalability skyrockets. You can update the system with new functionality without even putting it offline and not a single code input will be affecting the piece as a whole.
Docker, an open source platform provides the mechanisms for both developers and QA engineers that develop modular apps. It’s ecosystem and the vide array of tools like the Docker Swarm speed up development process significantly.
Python seems to be all the rage right now for all the right reasons. It is a simple to learn yet insanely powerful programming language that emphasizes speed and control over large volumes of data.
RoR AKA Ruby on Rails is a Ruby-based open source framework that is a great fit for dynamic development of web sites and web apps. The efficiency of the language + framework combo has made RoR a top pick for young startups in need of quick results.
PHP and Larvel, despite their age, still hold their own particularly well on the market. There are those who believe that PHP is outshined by newer, younger competitors but that is entirely false. It’s flexibility and the availability of tools developed over more than 23 years are the living, breathing proof of the fact that PHP shows no intention of leaving the fighting ring. Elegant, simple and reliable, Larvel is a great fit fro projects of all shapes and sizes.
The last but not the least, Node.JS is the go-to choice for development of cross-platform server-side applications. The build-in library allows for great functionality with minimal effort.
Every product, especially in our data-driven day and age, requires a solid solution for storing and management of information.
MySQL with its LAMP stack, PostgreSQL and its object-relational format are both great solutions in certain cases but the absolute leader for database management is MongoDB.
Why is MongoDB so good? Because of the volumes of data, I have mentioned above. Mongo saves it in the JSON format that’s much-much lighter if compared to other solutions. Data literally flies between the client and the server at Mach 5 or higher.
The last but not the least, web server tech is an integral element of back end development. Our teams at TrendLine prefer Apache Web Services. It is used by more than 45%n of all websites on the internet for a reason, you know.
The benefits of using Apache include, but are not limited to:
– A proven track record of performance
– Mass adoption (a lot of documentation, tools and solutions available)
– Cross-platform compatibility
– A vast pool of features available
– A dedicated community that keeps the open-source tech maintained and up-to-date
This sums up our little introduction into the world of back end development for now, but we will still be covering more ground shortly. From tips on setting up an environment to development tricks and security lifehacks, more and more and more content on the matter will be covered in blog posts later on. For now, please share the topic you are most interested in via the comment section and we’ll get to answering your questions right away.