Executando verificação de segurança...
4

Visão computacional

Muitas pessoas querem começar a programar já escolhendo alguma linguagem demandada pelo mercado, mas é fundamentalmente importante e producente que os novos programadores foquem um tempo no desenvolvimento do seu ráciocinio lógico, haja visto que esse ajudará na produção de bons algoritmo. Note que quanto melhor você entender aquilo que está se propondo a codificar, melhor, mais rápido, e com menas dor de cabeça você chegará em resultados. E talvez seja esse um dos problemas atuais da baixa produtividade dos desenvolvedores.
O processo de construção de um algoritmo é independe de uma linguagem de programação e passa por etapas que alguns transformaram em conceitos como o Clean Code, eu diria que três etapas são o suficiênte (mas posso estar errado) sendo elas: Estudar o problema, algoritimizar o problema (entenda algoritmizar como um processo de transformar um problema real em uma sequência lógica de passos), e depois codificiar. E talvez pessoas estejam codificando muita coisa sem entender o problema ao qual estão ataca, resultado assim em códigos sujos e cheio de bombas relógio.
Estudos indicam que a maioria dos programadores gastam mais tempo concertando bugs doque realmente codificiando novas funções, e talvez esses gargalos ocorram por uma falta de uniformidade da equipe sobre como eles irão atacar o problema, ou seja, cada um quer algoritmizar o problema a partir de um ponto de vísta (ex: existe várias formas de se fazer café) e essa falta de úniformidade pode levar a conflitos de sentenças que são chamados popularmente de Bugs. É aquase como aquela ideia de uma pessoa estar dirigindo sem saber para onde ir, e várias outras no carro dizendo qual direção tomar, sendo que o destino deveria ser o mesmo. Sendo assim, seria mais inteligente se todos entendesse e concordasse democraticamente com uma solução.
Para os que querem começar a programar eu os aconselharia a transformar em estruturas lógicas (algoritmo) tarefas do dia a dia como por exemplo ir ao mercado, de depois aprender estrutura-los como à exemplo dos algoritmos de lista. E para as equipes eu diria para eles buscar uniformizar o tipo de solução, e isso não é só padronizar o projeto, mas realmente todos compartilhar da mesma ideia de solução, ou seja, todos seguirem a mesma rota (sendo todos abertos a críticas). Lembremos que isso são conselhos, não métodos ou certezas.
Espero ter ajudado com algo.

Carregando publicação patrocinada...
1

Ser organizado é uma das qualidades de muitos programadores, antes de programar alguma coisa eu crio um mapa na minha mente e determino por qual caminho sigo, mas quando é algo "maior" é interessante colocar no papel, desenhar, etc, assim não ficamos "presos" em determinada linha.
Muito legal sua publicação AndreLuizChaves!

1

Acredita mesmo na baixa produtividade atual dos desenvolvedores?
Acredito num mercado inflacionado, mas não em baixa produtividade, pelo contrário, a gente tem mais devs do que nunca, e mais ferramentas do que nunca, tem muita gente sendo paga pra fazer coisas que empresas não precisam, e ai que ta, elas estão fazendo, estão produzindo, pelo menos, produzindo o que lhe é cobrado. Não acho que haja uma baixa produtividade, pelo menos falando numa visão geral, só ver que o mercado está numa bolha, o que significa que tem muita gente contratando, e muitos softwares sendo entregues.
Talvez qualidade ou motivo pro trabalho dessas pessoas seja uma questão, mas produtividade em si, acho que não.

Concordo com a definição sobre processo de construção de um algoritmo, só lembrando que a parte de algoritimizar, pode ter muita coisa dentro, acho que até por isso, existem as abstrações de passos que vc citou, algoritmizar um problema, pode ter vários passos e complexidades dentro.

Sobre o passar mais tempo corrigindo bugs, não sei até que ponto isso é fato, eu não vi os estudos, mas faria sentido, se levar em contra que uma boa parcela do mercado é de migração e outra ainda maior desenvolvimento pra cliente (ambos abrem brecha pra muito refactor e correção de bugs), e sim, time concordar numa solução é ótimo, mas não sei até que ponto isso diminuiria os bugs, vist oque os bugs estão mais relacionados (minha opinião) a entendimento do problema e suas variaveis e a codificação disso.

De resto concordo com a grande maioria, e textos mais reais são muito importantes principalmente pra quem quer entrar na area

1

Cara eu passei por isso, de querer cair logo em uma linguagem de programação pq eu via meus amigos q fazem curso técnico comigo bem mais avançados que eu, e eu queria me "nivelar" ali. Mas toda vez que eu tentava "forçar" eu perdia o interesse, até que eu percebi que o problema é que eu não tava focando na minha própria base que é o raciocínio lógico que você citou, e depois de um tempo focando nisso e também depois que aprendi a parar de me comparar com a galera do meu curso técnico e apenas "absorver" o que eles sabiam a mais que eu, eu me encontrei de verdade.

Parabéns pela publicação!