“Most architectures are accidental, not intensional” — Grady Booch
Software architecture is often looked at as a work of art, and, frankly, just like other disciplines in the field, it embraces creativity, science, and style.
Is it similar to buildings architecture? Let’s see.
Imagine designing a skyscraper; I assume you would want a design that comprises a fancy entrance, a friendly lobby, safe and habitable spaces. Plus, the building must support its weight and resist wind and earthquakes.
Likewise, you would want intuitive interfaces, clean and robust code components when designing software. The design should also be feasible, modular, and safe with no chances for crashes or leaks, and ultimately, resist regressions when editing one of its components. …
“Believe in yourself, and the rest will fall into place. Have faith in your own abilities, work hard, and there is nothing you cannot accomplish.”
— Brad Henry
I have been fortunate enough to volunteer as a Mentor in a Mentoring program where mentees receive guidance on career planning, interpersonal communication skills, networking, CV-drafting, job-interview preparation, and leads to open hi-tech positions.
A couple of weeks ago, My mentee and I wrote an impressive resume, and I have passed it to a few friends of mine in the industry; fortunately, it led to two invitations to interviews from two top-notch companies; how cool is that?! …
“It is easy to shoot your foot off with git, but also easy to revert to a previous foot and merge it with your current leg.”
— Jack William Bell
By far, Git is the most popular modern version control system(VCS) worldwide. Not to mention, Git has features that really make it stand apart from nearly every other VCS; Merging and Branching is one of them.
Whether your company/team has chosen to work with the Centralized Workflow, or the Feature Branch Workflow, or even the Gitflow Workflow — In order to master a workflow, first, you will need to craft the art of Merging and Branching. …
“I’m a great believer in luck, and I find the harder I work the more I have of it.” ― Thomas Jefferson
I have been fortunate enough to volunteer as a Mentor in a Mentoring program where mentees receive guidance on career planning, interpersonal communication skills, networking, CV-drafting, job-interview preparation, and leads to open hi-tech positions.
In fact, one of the first barriers any student will face is writing an impressive resume(including myself when I was a student), and here’s why…
To be honest, writing a great resume is not an easy task; As a student, the hard parts tend to be knowing your strengths and knowing in advance what employers are looking for in your resume. On the other hand, the more you are experienced, the more likely you will struggle during the process of shining the spotlights directly on your top qualities. …
“Necessity is the mother of invention.”
― Plato
As an experienced software engineer, I often find myself addressing intriguing and challenging problems such as enhancing performance by identifying opportunities for improvement.
One glance at the growth of demand for high-performing software systems is enough to see that strong analytical skills with an ability to visualize processes and outcomes is a must-have quality for software engineers.
As a matter of fact, the quality of your skill-set as a software engineer is honed by the countless and distinct work items you work on. One by one, each task will contribute to the diversity of your skill-set, and of course, more and more tools are being added to the toolbox that each software engineer must maintain. …
“Simplicity is the soul of efficiency.” — Austin Freeman
Python shines as a scripting or glue language, not to mention Python is simple, easy to learn, and that the Zen design philosophy adds to its awesomeness and readability.
Whereas C#, is often popular for its versatility, robustness, and safety, coupled with the fact that it is counted among the most evolving languages nowadays.
C# 9.0 was officially released on the 10-Nov-2020; thanks to its Top-level statements feature, it is now a much more scripting friendly language.
Both Python and C# are High-Level, Object-Oriented, and General-Purpose languages.
Given these points, what are the major differences between both languages? …
About