Why Coding is NOT Enough!

Modern software projects needs to have responsive user interface (UI) with a great user experience (UX), And other complicated features such as payment gateway, earth maps, image recognition, video streaming, realtime presence and chat, email marketing, browser notification, customer service (chatbots), blockchain, Augmented Reality (AR) or Virtual Reality (VR), Crash Analytics, logging, sign in management (session), .. etc.

Your one-developer project will not be scalable infrastructure, nor distributed, nor fast or performant, nor coded efficiently, nor powered by machine learning.

These features and functionalities are beyond the ability of one software engineer/developer. Because if you code all of your software features from scratch, it will take a really long time to code and tweak. And after all your efforts and time, your software will not be able to handle all cases especially edge cases (corner cases) and will not be sufficient and performant like the open source library that you can use for each feature in your project.

Rely on other people's libraries, packages, APIs, .. etc. Focus on bringing a great final user experience instead of focusing on tiny details which can be replaced by a professional library.

You should leverage abstraction. It is the key to our modern innovation. Instead of type machine code or assembly, we make an abstraction to code in C language, and we made another abstractions over C language such as C++ and Vala to code even easier and accomplish more. Leverage abstraction makes it easy to innovate.

You can not create video streaming service that is working good with network corner cases and scalable. Instead use other Saas (Software as a service) or Cloud API that has is service and leverage it in your app or website.

You should leverage all these tools and ready-made services and tools to innovate fast and professionally.

1. Cloud : Google Cloud, Amazon AWS, .. etc
2. Open Source Libs & Pkgs
3. Code Generators : scripts to create code
4. Machine Learning & Tuning Models
5. APIs
6. Firebase
7. other tools

The main focus of software development and engineering is solving a technical problem not just coding. I hope you get my point. see you in other blog posts here on value in brief website.