Refletindo sobre resolução de problemas

Hoje vamos falar um pouco sobre problemas que podemos nos deparar no nosso dia-a-dia.

Olá, pessoal hoje vamos falar sobre resolução de problemas em Hardware e Software.

Sobre Hardware

A máquina que eu utilizo para programar é bem velhinha, deve chegar a ter alguns 10 anos de uso, o processador é de 2007. Durante muito tempo acabei me limitando de programar em ReactJS e ReactNative por pensar que a máquina não aguentaria.

Eu apenas pensava, nunca realmente tentei, o medo da máquina nunca mais voltar a vida era maior. Esse medo era gerado pois eu utilizava Windows (nada contra), que demorava cerca de 4 minutos para ligar, então a minha mente se limitava: “Se demora 4 minutos para iniciar, imagina em um projeto ReactNative”.

Participei da oitava semana OmniStack da Rocketseat, consegui desenvolver o projeto em ReactJS, mas decidi nem tentar o projeto em Nativo.

O tempo foi se passando até que fui conhecendo mais sobre computação e descobri nosso querido Linux, percebi que eram leves e que salvavam máquinas antigas, decidi testar o Linux Mint (o qual utilizo até hoje), isso me auxiliou a perder o medo de meu computador não conseguir rodar certos Software's.

Então na próxima Omnistack, decidi fazer o projeto em Native, e consegui, demorei? Sim, mas consegui, utilizando Expo. Tentei instalar alguns emuladores e eles realmente não rodavam, não conseguia nem instalar e por mais alguns meses fiquei com medo de sair do Expo, me limitei a utilizar apenas ele e nada mais.

Participando do Bootcamp Gostack (um curso da Rocketseat), fui “obrigado” a utilizar ReactNative (sem o Expo), então fiquei horas tentando instalar o AndroidSDK (entraremos com mais detalhes no próximo tópico), mesmo com a demora de algumas horas eu consegui realmente rodar o aplicativo no meu celular sem utilizar Expo e sim depurando através de um USB.

Sobre Software

Voltando a falar sobre o AndroidSDK, fiquei algumas horas frustantes tentando instalar, mas sem sucesso o aplicativo não funcionava em meu celular e retornava diversos erros. Depois de desinstalar e instalar diversas vezes, percebi que o erro era em mim, na forma que eu instalava, estava fazendo da forma errada.

Com isso tive alguns aprendizados, que demoraram a se consolidar, mas eles chegaram:

A culpa não é do Hardware

Quando temos problemas instalando aplicativos que funcionam na máquina de outras pessoas, colocamos a culpa em nossa máquina “Meu computador é muito fraco, provavelmente não roda”.

Mas na verdade a culpa é de nós, por não conseguir instalar da forma correta, as vezes seguindo tutoriais e não percebendo que de máquina pra máquina as configurações ou comandos podem modificar a forma de instalar e podem existir incompatibilidades. Isso não é culpa da máquina, mas de nós mesmos por não lermos direito.

Geralmente, não precisamos mudar de Hardware

Por muito tempo, limitei meus conhecimentos e estudos com programação, colocando a culpa no Hardware, dizendo que certos programas não rodam ou que ”a máquina não aguenta”, e isso é uma limitação da nossa mente que deve ser vencida.

Eu decidi vencer essa limitação e tirar água das rochas, percebi que não preciso modificar o hardware, na verdade preciso tirar o melhor proveito do hardware mais fraco para poder conseguir utilizar de uma melhor forma um bom hardware.

Nós programadores precisamos fazer programas o mais leve possível, com a minha máquina sendo bem fraca e travando dependendo do que utilizo, preciso otimizar o máximo possível, não para que vá de uma melhor forma pra produção mas que ao menos rode no meu ambiente de trabalho.

Recentemente, ouvi uma frase de nosso saudoso Akita: “Ninguém consegue pilotar uma Ferrari se não consegue nem trocar marcha em um Gol”.

Talvez se eu tivesse começado com uma máquina mais potente, não me importaria tanto com o peso do aplicativo que estou desenvolvendo, ou se ele rodará na minha máquina, afinal teria em minhas mãos uma máquina potente, pra que me preocupar com memória?

Geralmente, a culpa não é do Software

Quando vamos instalar algum aplicativo e acaba dando errado (aconteceram diversas vezes comigo ao tentar instalar Linux), dizemos que é culpa do Software, mas novamente é nossa culpa, por não ler direito ou acabar seguindo script’s de como instalar o Linux e não percebemos que conforme o tempos se passou o comando modificou ou que devemos fazer de uma forma diferente.

O que precisamos fazer mais, é ler, e entender o que está sendo passado pelo próprio app, quais passos devemos seguir, etc.


Conclusão

Esses foram alguns aprendizados que demorei a ter, algumas coisas você só aprende conforme o tempo vai se passando, não adianta apenas ler sobre isso.

Por essa semana é isso pessoal. Até a próxima.

Por FelipeSuri 🐧 com 💜.