aOSE
is a personal project, which I want to expand this vision to other interested parties, so that they can contribute to it! 😄
The concept of this project was conceived after a time of analysis and engagement on may part, Vitor Costa, about my own studies in the area of Software Engineering ⚙️ during my training. Of course, when I started, there was a strong incentive in the "programming" niche during and after the COVID-19 pandemic ☣️ -- an effect that sill persists, even if slightly, today. So, I myself studied with bias that the programmer's diffrential is: knowing several technologies, writing good code and... it ended there. 🤔 But over time, while this phenomenon lost strength, I began to reevaluate the concepts I was taking to define a programmer and, better, open my eyes to stages in software development that I was blind to 👨🦯➡️: such as business modeling and analysis 🧑💼, system design 📋, software architecture 📐 and so on (among other disciplines that are in SWEBOK). 🤯
Of course, I don't leave out other computing content that isn't so "traditional" in this programming bubble, concpets that are fundamental, but treated in a marginal way, such as: algorithm design and analysis 🧮, graph theory 🕸️, computer architecture 🖥️ and so on. Overall, we see that what is presented in a generic way about computing is DSA (data structures and algorithms), but there is a much broader ocean of knowledge ⛵.
When you have contact with the Halting Problem, you view of computing changes radically. 🔥
Resuming... so, what would be the purpose of aOSE
? And by the way, what does aOSE
mean? 🤔
Starting with the last question: let's digress a little about the brand; from what has already been said,
'Software Engineering'
has already become clear about what I mean: it refers to the discipline of Computing that
applies engineering principles to software development, okay ⚙️. But I think it may be curious to use 'Ordinary'
and,
in my view, the use of the indefinite article 'An'
is even more so. What do I mean by that? In essence, it is to
convey the symbolic idea that simple and well-done work overcomes, par excellence, the complex workload 🧠.
It's 'Ordinary'
because it's within the reach of every analyst, developer, designer, or architect: the principles
are known, you just have to evaluate how to apply them and how pertinent they are to a given project or even a
decision to be made. It is doing the work with will, with surrender of oneself, without laziness...
And it is 'An'
, for many others have already done more than -- and I lean on their efforts
(as Newton would say, "stand on the shoulders of giants") --, as well as all those who
will come after me. Software Engineering and Computing will continue to evolve constantly (and I hope so),
but what we do are way to do so? let`s continue to evaluate the consistency of our processes, of our modeling.
Finally, the first question: the purpose of aOSE
is more than talking about software or writing code 📝. Our
intention is to involve the entire cycle of a project, about the life cycle of a software and the reasons for its death.
We'll talk about how a processor works or how low-level threads are created... That is, everything that makes us think,
in fact, about why we write code! 🧐