Unveiling Mastery in Software Development: From Full Stack to Middleware Marvel

“Unlocking knowledge is like discovering the limitless horizon of the unknown.” ~ Aristotle

Embarking on the exhilarating path of software development, I plunged headfirst into the realm of full-stack wizardry, leaving no stone unturned. This journey was a symphony of exploration, where every note of coding and design was played, but only briefly savored. It’s a rite of passage I recommend to every budding developer, a whirlwind tour of the software development life cycle (SDLC) that provides a panoramic understanding of the digital landscape being woven. The full stack, a canvas where mastery of all trades is attempted; but remember, while Jack famously struggled, there are modern-day artisans – Jill, Henry, and James – who have cracked the code to full stack brilliance.

Yet, the secret to mastery lies not in casting a wide net, but in channeling focus and embracing experience. The fear of the unknown kept me from appreciating the masters of specialization – the enigmatic Database Administrators (DB Admins). As a full-stack conjurer, conjuring databases was routine magic. But the true magic lay in understanding the DB Admin’s spell, mastering the art of data security, and conducting the symphony of database performance. This revelation dawned after a rendezvous with database essentials, humbling me in the face of their expertise.

Jill, Henry, and James are our modern-day bards, weaving sagas of mastery through experience. Full stack development, an orchestra of disciplines including backend and frontend, demands an encore of experience in each. To be the maestro, you must harmonize with the principles and patterns of these distinct domains. But fear not; levers await to facilitate your mastery. Behold, the framework, an orchestra conductor guiding a symphony of tools to compose a complete application masterpiece. And as you dabble and refine, your mastery grows, your mind a Stradivarius of software craftsmanship.

Now, in roars the Ferrari of the middleware world – Apache Camel (AC). It’s not just a route; it’s the Purosangue route, where messages traverse protocols like a racecar hugging curves from FTP to HTTP, and JMS to FTP. In this realm of Middleware development, AC stands as the ultimate gearshift, a gearshift backed by Enterprise Integration Patterns, ready to conquer any integration conundrum. The canvas is infinite – a message ballet that grants you the lead role.

In the midst of this technological ballad, my tryst with AC unfolded. FTP, HTTP, JMS – three protocols choreographed in harmony with Springboot and AC. The result? An integration virtuoso, a middleware minstrel. I played AC true to its notes, abstaining from importing extraneous dependencies. This experience wasn’t just a drive; it was a transformation. AC molded me into a middleware virtuoso.

Thus, I opine with conviction – Apache Camel isn’t just a tool, it’s a chariot to middleware mastery. With a bustling community of troubadours, you’re never alone on this winding path. Every pothole is but a footnote, every hurdle a mere prelude to a solution.

So, heed the call of mastery. Let your journey traverse full-stack vistas and middleware galaxies. Channel your inner Jill, Henry, or James, and let frameworks be your guiding star. Unleash your inner AC driver and become a middleware virtuoso. The digital realm is your canvas – paint your symphony of mastery!

Re-written by AI original here

Coding Start !!!!

Simplicity the ultimate sophistication ~ LD(Leonardo Da Vinci)

There is a growing uproar of people wanting to start coding and gurus merging to offer courses. With the amount of information available and the speed with which courses are released every day, it is a daunting process for a beginner, with so much information and FOMO about each offered course and online materials, that I wish would end, but NO, even for an experienced software developer like me, who has vast experience coding enterprise applications, this is not going to end anytime soon.

LD was on to something with the quote above. We need simplicity to be looked at initially, filtering out things that do not fit into the master plan of our journey as beginners in coding/programming. My respect goes out to educational institutions for the effort they put into creating a syllabus and making it relevant in this ever-changing technological world. I started my software development journey in varsity, where I got introduced to C++ programming language, a harsh start if you know about other programming languages, but from there on I appreciated other programming languages for their simplicity, easy to learn, but then again I can attribute everything I learned from the genesis language I started with, cause in all of them I see some dialect adaptation from it, trying to simplify this post as simple as possible for someone whos looking to get to programming in any industry, a programming language is a language consisting of keywords and structure symbols to use in creating an application, aka coding, just like English you use some language to build some program.

School got it right by having a concise syllabus, outlining each topic, so students can drill it down and improve their understanding. From there one develops an appetite for further knowledge. Learning outside educational institutions has no boundaries, there is a lot of things to go through and syllabus set out, with no assurance of getting your self-taught credentials getting recognized by a potential employer, its a challenging process to go through learning on your own, it needs discipline, patience and strength, overall the ultimate goals beginners want is validation from potential employers to be hired and they can say they have really achieved being a self-taught programmer, another approach I have seen trend is freelancing after being self taught, which is an ideal path for beginners who currently are not employed and looking into the tech industry.

How to start then ?, with trying to follow the doctrine in varsity, I have composed my own syllabus I would advise someone who wants to start coding. Through all courses I have seen online, a lot of specialties exist among courses and as a beginner, I feel that’s not a route one needs to take right away, hence my focus is a fruit salad approach, touching every aspect of software development and being integrated into an ongoing software project. I want to partner with you after going through my syllabus. This approach opens you to a world of open-source contribution, where you help contribute code to existing software applications that are open to use around the world.

Below are links to courses I have evaluated and are free to learn, after doing the below you can contact me to showcase what you have absorbed:

1 – 2 Months

Hala for an extensive self-made boot camp syllabus version.

SSD Life: Toshiba Leading Innovations C660, Love Story?

Your old laptop is not dead if it’s still running on SATA, Long live old laptops

When I was in varsity I was met with my first laptop, A Compaq laptop, the year was 2012, when HDD where still a thing and applications did not require fast read/write speeds. The heaviest programs I was running at the time were NetBeans IDE, Eclpise For Android, and MatLab, those programs ran like a dream, it was better than using the IT lab computers in the cold airconditioned Lab.

Fast forward a few months of usage windows started becoming very slow, as the Mr fix it I was recommended CCleaner by a friend, a software that would show some promise to gain back speed from my laptop, after a few cleanup sessions with CCleaner, my computer went back to almost normal speed usage. I continued using CCleaner and recommending it to other friends, but before that, I used to install the OS fresh. On few months went, then another iceberg was encountered where CCleaner was not able to irradicate, the programs I use started being slow on Windows, and the laptop would be fine, but the minute I open my programs performance would deteriorate, sage way to Linux.

The lab computers I used back on campus used to use Linux, which was very light and fast, so the next thing I did was install Linux alongside Windows(Dual boot) and use it for my school work, which turned to a 10-fold increase in performance, programs in Linux were running fast, no need for F5, although I kept windows it was for other programs that I could not find for Linux at the time.

Later in the year, I got a Toshiba laptop C660, and my life was changed, I got the Intel i3 CPU, windows was fast again and I could do interesting stuff and play some games, a great run I had with the laptop, they don’t make them like that anymore and it was a gift from my uncle who moved to an AMD laptop, at the time I didn’t understand the AMD CPU+ GPU ecosystem that was booming, he knew a lot than me, but what I don’t know, wouldn’t hurt me.

Welcome to the world of Windows 10, as Microsoft announced Windows 10, it looked desirable with all the changes and a claim of better memory management than Windows 7, I got it on my Toshiba, let’s just say I lost some and won some, the Bluetooth stopped working, but the visuals were amazing, an upgrade from windows 7, but it didn’t last long as some of my programs did not work so I had to go back to 7.

Passed on my Toshiba C660 to my little brother, went on with a powerful laptop from work after varsity, then got introduced to more programs which caused my laptop to be slow, a problem I thought I will never see in an expensive laptop, but there I was with an i7 CPU and windows 10, but still facing sluggish performance, always visiting the IT guys who just clean temps files and defragment my hard.

USB can be your hard drive, I had a friend who installed Linux on a USB stick an interesting trick that had optimal performance when I dug more into the idea that’s when I got introduced to Solid States Drives(SSD), what a treasure find I stumbled on, SSD saved me 2~4 minutes windows wake up screen from shut down, with this new knowledge I stumbled on I quipped my personal laptop(ASUS FX503VD) with the latest of SSD the NVme, astronomic performance, with very fast load speed for programs.

Passing on the knowledge and discovery I hooked my sister with an SSD for her birthday for an old laptop (ASUS VIVOBOOK) she wanted to throw away because of speed issues, e-waste neutralized. On the love story part, my wife was using the same Toshiba laptop I had in varsity, obviously I also hooked her up with an SSD, but because Windows 10 not been fully supported she moved to a Mac M1, that’s a story for another day, that laptop is in a line of its own with no fans.

To conclude and get to the point, your old laptop is not dead and can quickly be revitalized by adding an SSD or NVme, a lot of programs/applications are moving to browser-based implementation and we all know google chrome eats a lot of ram, but with better hard drive performance you will be able to use your laptop for years to come, update it 1st with a SSD/NVme drive before you upgrade, as you might not need to upgrade.

Excuse For fresh location-based apps : OEM

Whether it’s right location, wrong time, right time, wrong location, location is very common. Location-based apps are a pain, thanks to OEM’s(original equipment manufacturers), now I understand why Apple make their own equipment… 😏

On the backlog, Geo-reminder, an app I dreamed of doing and started a Flutter project for it, as with all apps, visual components are the easiest to do, but hard to do well, with all Human Interaction science behind it, this is my story still pending success on how location-based app are NP-hard while it’s ubiquitous for apps to collect one’s location.

My use case was simple and not unique, you in a train you want to take a nap as I envisioned it, you would open the app, and be greeted with a map of your location, you just put a pin on the location where you want to be reminded of, like the train stop you get off or sweet home where you need to remember to pick up something, then boom when you near the area you’ll get a notification, if you in the train vibration wakes you up, if you at home, remember to pick up the shoes you left…

Simple right guys?, on man I went straight to the code, no requirements gathering needed, Flutter was hot that was my swift knife for the app, on I journeyed on building the application, firing Android studio, it was not winter, suddenly my Asus laptop fan started making noise and heat, yeah we know how that goes windows people haha.

For testing, I was using a Huwaei P20 pro with an outdated Android version, and thank God Google services was still on it because working with Android location it’s needed to receive location from the device. The second device I used was my wife’s Samsung Note 10 lite, shout out to Samsung with the new Android Skin, aka One UI, love you guys you give Android phones life after the contract is finished and can’t afford an upgrade

With all the setup ready and the app running boom, android kills your service of collecting location and you have to register through their service and subscribe to get the location event in near real-time, that’s fine and fair, should be no biggy, gateway mentality Android, now that’s sort fire away again, boom the OEM with its battery-saving service is not unified, on my Huwaei the app didn’t last long, while on my wife’s Samsung it lasted a bit longer running as a background service, man OEM killed my desire for this app, with battery saving techniques that hinder android Unified ways of doing things and handling services.

Things might change in the future, maybe I don’t know how to do the location service properly, but I stand by my argument that OEM’s implementation of Battery saving and other things hinder app developers from making apps for the people, Android stands for unifying things and OEM’s should stick to supporting the vision, so it enables us to make more application that give us same behaviors in different devices.

Cloud keeping us all night, while it’s automated – Am apart – sfi

Humanity-centric

As humanity, we been through a lot of eras and events happening in our generation. Humanity is the core foundation of everything happening on this earth today, from giant corporations profit through humanity to small shop owners in a community striving through support from the community. All things flourish through the support of humanity.

Humanity has played a major rule in establishing growth and sustainability through support and participation in a lot of provided services targeted at a subgroup within humanity. Companies have strived themself in been customer-centric and client-centric in implementing their solutions or products. This has lead to plenty of profits for companies and satisfaction to the customers/clients. While the goal and intention have been good in helping our subgroups of humanity it has overshadowed the humanitarian foundation in providing for challenges that are faced by the humanity supertype.

The humanity super type houses a group of individuals who’s challenges are not attractive to large organizations as they usually don’t possess the capital to attain the solution that is presented to them, even if they have they struggle with the patience to see the presented solution fruitfulness manifestation. Humanity is the core foundation of the two human-focused consumption groups of solutions, customers, and clients, but the humanity gap can exist in either one of them in any form. For a complicated example, a company might be providing medical solutions to a client company, but due to the client’s drive to process the solution for profit, the intended people might not be reached because the client’s target is the market is for profit.

I urge developers to import an element of Humanity in their applications and draw originality from local issues they faced of have 3rd information experience with, then implement a global solution locally applicable to their issue, thus forming a reduction process filter to pinpoint accuracy in issue resolution.

git pull up

This post was written to coin the Human-centric term as a focus in business approaches and system design for aiding humanity as the eccentric beneficiaries.

Be in the lookout for applications created under the Human-centric focus, have a bunch lined up( https://gammer4live.co.za/dev/#section-why-us )…watch the space