6.14.2024

SOFTWARE Where ? Without software ! Hmmm

What does a well-implemented SOFTWARE represent for your life and your company??? Think !  Software today is part of the SAME business. Any company, in any sector, depends to a greater or lesser extent on its software to work. A BANK without software does nothing, a GENERAL SERVICES company without SOFTWARE is NOTHING ! But, there are shadows hanging over the companies. It is the so-called technical debt, a software development concept that emerged around the early 1990s. The term comes from a metaphor inspired by the concept of existing debt in the area of finance and business, applied to the software field. Outdated software incurs future costs, such as credit cards: interest, to be refunded in the form of additional maintenance time and increasingly frequent bug fixes. The technical debt must be paid quickly to avoid the accumulation of interest, hence the analogy with the concept of financial debt, exists for TECHNOLOGY.

Hence, many companies look with anxiety and optimism at using generative AI such as Copilot, AI Frameworks and chatGPT and others to mitigate the problem. And of course, the super optimists believe that in up to ten years we will no longer need developers. Well, to me, affirmations in that sense have no scientific basis. Generative AI is not miraculous, but it can be a tool kit to increase productivity, not replace developers.

There is much more to software engineering than just generating code, such as getting user requirements up to debugging and testing. One of the most fundamental programming Skills remains the domain of humans : problem solving. Analyzing a problem and finding an elegant solution to it is still a programming experience that is still far from being done by current algorithms. 

The creative aspect the skills of addressing a problem are more important than the language or tools. Don’t fall into the trap of comparing yourself to AI, which is a statistical output of a great model. This would underestimate the human capacity of the software creation activity. There are big differences between what a human developer does and what a probabilistic model generates: being a developer is more than just writing arbitrary lines of code. The root of the problem: we have a tendency to anthropomorphize AI and so we call an AI tool a co-worker. This is equating their production to human labor. The concept that the metrics of an AI tool are directly compared to those of human workers is at best inadequate.

Therefore, software engineering is much more than winning programming contests. Good software engineering practices are proving even more valuable than before. These practices include planning system design and software architecture, which serves as a good context for AI-based tools to be used to more effectively predict what code you need to generate. Therefore, the generation of code by these tools is only a complement to the human activity of software engineering.

Programming and software engineering, defines society its vital importance and the training of programmers who seek to know and understand and not just memorize frameworks.





6.13.2024

Uma empresa sem SOFTWARE ?

O que representa um SOFTWARE bem implementado para sua vida e sua empresa??? Pense !  Software hoje é parte do negócio MESMO. Qualquer empresa, de qualquer setor, depende em maior ou menor grau dos seus softwares para funcionar. Um BANCO sem software não faz nada, uma empresa de SERVIÇOS GERAIS sem SOFTWARE não é NADA ! Mas, existem sombras pairando sobre as empresas. É a chamada dívida técnica, um conceito de desenvolvimento de software que surgiu por volta do início dos anos 90. O termo vem de uma metáfora inspirada no conceito de dívida existente na área de finanças e negócios, aplicada ao campo de software. Um software desatualizado incorre em custos futuros, como em cartões de crédito: juros, a serem reembolsados na forma de tempo adicional de manutenção e correção de bugs cada vez mais frequentes. A dívida técnica deve ser paga rapidamente para evitar o acúmulo de juros, daí a analogia com o conceito de dívida financeira, existe para TECNOLOGIA a divida TECNOLOGICA.


Daí que muitas empresas olham com ansiedade e otimismo o uso da IA generativa como o Copilot e o chatGPT e outros, para mitigar o problema. E claro, os superotimistas acreditam que em até dez anos não precisaremos mais de desenvolvedores. Bem, para mim afirmativas nesse sentido não tem base científica. A IA generativa não é milagrosa, mas pode ser sim, um tool kit para aumentar a produtividade, não substituir os desenvolvedores.

Há muito mais na engenharia de software do que apenas gerar código, como obter requisitos do usuário até depuração e teste. Um dos skills de programação mais fundamentais continua sendo domínio dos humanos : resolução de problemas. Analisar um problema e encontrar uma solução elegante para ele ainda é uma experiência de programação que está ainda muito longe de ser feita pelos algoritmos atuais. 

O aspecto criativo as habilidades de abordar um problema são mais importantes do que a linguagem ou as ferramentas. Não caia na armadilha de se comparar à IA, que é uma saída estatística de um grande modelo. Isso seria subestimar a capacidade humana da atividade de criação de software. Existem grandes diferenças entre o que um desenvolvedor humano faz e o que um modelo probabilístico gera: ser um desenvolvedor é mais do que apenas escrever linhas arbitrárias de código. A raiz do problema: temos a tendência de antropomorfizar a IA e por isso chamamos uma ferramenta de IA de colega de trabalho. Isso é equiparar sua produção ao trabalho humano. O conceito de que as métricas de uma ferramenta de IA sejam diretamente comparadas às dos trabalhadores humanos é, na melhor das hipóteses, inadequada.

Portanto, a engenharia de software é muito mais do que vencer concursos de programação. Boas práticas de engenharia de software estão se mostrando ainda mais valiosas do que antes. Essas práticas incluem o planejamento do design do sistema e da arquitetura do software, que serve como um bom contexto para que ferramentas baseadas em IA sejam usadas para prever com mais eficiência qual código você precisa gerar. Portanto, a geração de código por essas ferramentas é apenas um complemento da atividade humana da engenharia de software.

A programação e a engenharia de software, define a sociedade sua vital importância e a formação de programadores que buscam conhecer e entender e não decorar somente frameworks.



4.09.2024

Node.js?

 Node.js?

It is JS or Javascript yes, it is the basis.  Yes the old Javascript that today has a strong front and back end stack, the same since Netscape, which nobody comments, after all it is the generation that does not pay attention to what resulted, the facts, only now it seems that Javascript was born in 2017 and was not ...

The technology was first introduced back in 2009 by Ryan Dahl at the annual European JSConf and was immediately recognized as “the most exciting single piece of software in the current JavaScript universe”.


Node.js is an open-source runtime environment, based on Chrome’s V8 JavaScript engine and written in JavaScript and C/C++. It’s used for server-side operations, bringing JavaScript programming to the backend to run applications on Linux, Windows, and OS X.

Rebirth JAVASCRIPT !

As an open-source project, Node.js was sponsored by Joyent, a cloud computing and hosting solutions provider. The company invested in a number of other technologies, such as Ruby on Rails framework, and provided hosting services to Twitter and LinkedIn. The latter also became one of the first companies to use Node.js for its mobile application backend. 

The technology was later adopted by a number of technology leaders, such as Uber, eBay, Walmart, and Netflix, to name a few.

However, it wasn’t until recently that the wide adoption of server-side JavaScript with Node.js started. The interest in this technology peaked in 2017 and remains high.

Is Node.js a framework? -- No, it’s a JavaScript runtime

Node.js is a runtime environment, a software infrastructure that executes code and communicates with an operating system. 

Node.js is based on the V8 engine designed to execute code in Chrome.

 Node.js runs JavaScript code on the server side using just-in-time compilation. While some call Node.js a framework, it’s not accurate. 

The purpose of a framework is to provide a programmer with a set of reusable tools to speed up development.

Yet a Node.js programmer can use a number of dedicated frameworks such as Express, Meteor, Sails, and many more. A never-ending supply of JavaScript frameworks is a thing with backend JS as well.

Node.js server architecture

The philosophy behind Node.js is to let the application do its work and perform operations even when the previous operation hasn’t been completed because of input/output bottlenecks. The approach is called non-blocking input/output operations.




7.08.2023

LinuX road Specialist


Phase 1 – Start Using it

Phase 2 –  Read the best books on Linux

Phase 3 – Try different distros

Phase 4 –  Follow essential Linux websites.

Phase 5 – Learn Linux Shell Scripting

Phase 6 – Join the Linux forums

( with good professionals and real orientation ) 

Phase 7 – Google errors by yourself 🧶

Phase 8 – Try out Arch Linux

Phase 9 – Don't stop there, keep on learning 🔁


12.06.2022

Em 1992 ..1996..sobrevivência

 Em 1960...1992...1993... um ou  o tempo que dá base para hoje, quem não entende, desculpe,

Em 1996, faz uns 26 anos, li um livro fantástico e que marcou muito, chamado “Only the Paranoid 

Survive”, do então CEO da Intel, Andrew Grove. 

No livro, que considero um clássico em gestão e skills de liderança, ele mostra que as empresas devem estar constantemente alertas para mudanças inesperadas, e tem que, muito rapidamente, se adaptar ou simplesmente irão desaparecer. 

Ele fala em Ponto de Inflexão Estratégico, que pode ser desencadeado por qualquer coisa, seja uma mudança na regulação ou uma inovação tecnológica, à primeira vista, distante do seu atual “core business”. Quando um Ponto de Inflexão Estratégico é alcançado, as regras comuns dos negócios, o “business as usual” perdem a validade. No entanto, se gerenciado corretamente, um Ponto de Inflexão Estratégico pode ser uma oportunidade de vencer no mercado e emergir mais forte do que nunca. Essa lição continua mais válida que nunca nos dias de hoje, com as mudanças aceleradas e impulsionadas pela evolução da tecnologia digital, batendo às portas. As regras do jogo de negócios estão sendo reescritas e muitas das atuais irão desaparecer mais cedo ou mais tarde.

Os CEOs devem estar preparados para reconsiderar como sua empresa opera hoje e em qual contexto estará operando em poucos anos. Com as empresas se transformando em empresas fortemente escoradas em tecnologia, pela inclusão da digitalização nos serviços e produtos, as competências digitais se tornarão cada vez mais importantes. As organizações do século 21 serão empresas de tecnologia com foco em alguns serviços específicos.

A jornada de transformação digital impõe mudanças significativas, como a revolução industrial ocasionou anteriormente. A industrial nos deixou a eletrificação da sociedade, as atuais estruturas organizacionais, as especializações e os atuais setores de indústria. A digital vai nos deixar a digitalização da sociedade, setores desaparecem e outros se aglutinando, novos negócios surgindo. As empresas têm que se preparar para essa mudança, que já está acontecendo. As atuais defesas não serão barreiras intransponíveis.

O que fazer?

Obtenha capacitação digital, e mapeie seus talentos para que a digitalização seja inserida no DNA da empresa. Seja um líder visionário, convença a empresa da urgência da digitalização, monitore paranoicamente potenciais invasores e ameaças, crie suas próprias competências digitais e faça você mesmo o desmanche das fronteiras.


 

SOFTWARE Where ? Without software ! Hmmm

What does a well-implemented SOFTWARE represent for your life and your company??? Think !  Software today is part of the SAME business. Any ...