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

Fora do Desenvolvimento Web é tudo tão... solto?!

bem, faz um tempo que decidi mudar meu rumo na programação. parar de seguir a modinha que é a programação web.

mas bem que agora eu não sei o que fazer, literalmente. é tanta coisa mas ao mesmo tempo nada. eu não sei o que estudar.

tá, tenho que ter um objetivo mas eu "não tenho" um bem claro ainda, eu sei o que eu não quero por agora, programação web. desenvolver sistemas operacionais, mexer no mobile (não com apps, quero mexer no sistema do Android mesmo), talvez seja um bom passo.

algo que poderia ajudar a fazer essa jornada mais divertida, seria aprender a programar fazendo jogos, mas, sla, tá tudo tão confuso.

vim pro C, dai não sei se aprendo sobre memória, ponteiros. mas, pra quê tudo isso serve? não vem uma ideia na minha cabeça na qual me mostre no que eu posso aplicar essas coisas, porque o que eu vejo é sempre a mesma coisa: "fazer um calculadora".

venho assistindo uns vídeos do Akita, mas eles só me fazem me sentir mais burro e me deixar desanimado, mas, como eu sou teimoso, eu continuo, continuo mesmo sem saber o que fazer agora, continuo mesmo sem fazer nada.

esse deve ser o meu 4° ou 5° post buscando ajudar de estranhos na internet, com uma minúscula esperança de que alguma resposta possa ser a luz para a minha carreira como programador ou na minha vida mesmo. até agora eu não acrescentei nada para essa comunidade, seja com tutoriais, seja tirando a dúvidas de outras pessoas ou até mesmo ajudar pessoas assim como eu.

às vezes penso em parar pra descansar, mas nem eu sei do que eu tô descansando ou fugindo, mas ok, descanso e, não resolve nada.

meu objetivo é, não importa em que área de atuação seja a minha, ajudar as pessoas. mas como?

Carregando publicação patrocinada...
7

Mano, vi num comentario seu aqui, que tu tem 16 anos... Antes de ler isso, achava que voce tinha uns 25~30.

Eu acompanho o Akita tambem e tento me segurar pra nao dar conselhos mas um eu preciso te dar um. CALMA!!! Voce tem 16 anos mano!!! DEZESSEIS!!!

Voce se sente burro ao assistir os videos do Akita? Ele tem um post no linkedin, (que acho que nem vale a pena voce criar um pois vc tem 16 anos!!! - sim eu vou repetir isso bastante kkkk), falando para as pessoas nao se sentirem "burras" assistindo os videos dele pois aquilo ele sabe por ter mais 30 anos de carreira. Repito, TRINTA ANOS!! O dobro que voce tem de vida ele tem de carreira profissional!!! Esse post dele foi uma responsta a um comentario de uma pessoa que, igual voce, estava falando que se sentia burra. A diferenca entre voces e que essa pessoa disse que tinha 10 anos de carreira!!!!!!

Entao calma cara! Eu nao sei sua condicao financeira ou de vida para estar tao preocupado dessa forma mas, se voce precisa arrumar trabalho o mais rapido possivel, o caminho e o web mesmo.

Agora se arrumar trabalho o mais rapido possivel nao for a questao, vai "brincar" de programar! Aproveita a liberdade qie voce tem hoje e vai brincar. Relaxe, descanse, va fazer outras coisas e deixe a imaginacao fluir. Naturalmente vao aparecer ideias e ai voce "brinca" implementando essas ideias. Dando certo ou nao.

Por fim, se for possivel, procure um psicologo para cuidar da ansiedade. Isso me ajudou muito!!!!

De novo, calma cara, relaxaa!!

Obs: Um curso em C que recomendo e o cs50 de harvard. Gratuito, mas em ingles.harvardcs50

Obs2: Desculpe erros ortograficos e falta de acentos. Estou pelo celular

5

Olha, é uma boa observação. Web pegou tanto que tem muita gente trabalhando para oferecer cosias mais fáceis e prontas. E isso faz ele "pegar" mais ainda. Se botassem menos de 10% desse esforço em desktop, talvez 1 ou 2%, Desktop já entregaria melhor resultado para 100% dos casos (de aplicação, não inclui websites). Falta muito pouco, mas todo mundo abandonou. Parte da culpa é até da Microsoft.

Veja quanto esforço estão fazendo, quanta tecnologia criam, uma para consertar a outra, e ainda tá ruim. Porque web nasceu ruim. Ou não, porque ela nasceu para websites, para aplicação é gambiarra. Dá até para fazer aplicação rodar no browser hoje em dia e não ser ruim, mas abandona tudo o que fazem hoje, tem que criar tecnologia nova (há uns 5 anos nem era possível fazer isso).

Acho que seu problema é tentar aprender sem algo estruturado. E também pode ser algo pessoal interno. Vejo muito as novas gerações reclamando de se sentir burro. Eu não via isso acontecendo tanto no passado. E não acho que as pessoas são necessariamente mais burras hoje. Talevz tenha um pouco disso porque a escola falha mesmo. Mas percebo as pessoas com problemas consigo mesmas. Não sei o caso individual, não faço diagnóstivos, mas um profissional competente pode fazer e ajudar. Quanto antes começa melhor pode ser o resultado. Se é resiliente (não teimoso) ajuda bem.

O Akita joga tudo espalhado e sem nivelação, é problema seu discernir como consumir aquilo. Eu farei algo começando este ano, que será assim na primeira passada, farei o que eu acho que tem que fazer. Na segunda, anos depois eu vou organizar para facilitar para as pessoas. Tem alguém que faz tudo organizadinho já? Eu desconheço, tem entregador de receita de bolo.

Em web tem, porque quem faz essas coisas, especialmente quem bende curso sabe que as pessoas não querem aprender, querem a receita de bolo, então fica mais fácil, mas torna a pessoa mais fraca profissionalmente.

Pode ser que o seu caso seja de não ter aprendido a aprender. Isso é muito comum hoje em dia. Então precisa de alguém pegar na maõ e dar tudo mastigado. QUem ssabe aprender pega qualquer conteúdo e se vira, organiza. Isso faz uma enorme diferença na evolução. Pode ser que precise ver isso. Sâo só dicas genéricas, não te conheço.

Estranhos não vão conseguir ajudar muito.

Descansar é bom. Fugir não é, precisa ter bem consciência disso, mas parece estar acima da média já :)

Depois ajude as pessoas. Agora se ajude. Eu ajudo agora, antes eu não conseguia. Eu atrapalhava.

Procure se forçar sempre. É assim que evolui. Você só é burro se desitir fácil, ou insistir em algo que não serve para você, depois disso ser uma certeza e não apenas um sentimento. Dificuldades são normais. Tem gente que é bem perto de burro e se dá bem porque a atitude é boa. Pense nisso. Eu vejo um burro fácil, quando não percebo isso se ela não for inteligente, disfarça bem. O burro não dá nem vontade de ajudar.

Observou? Faz sentido para você?

Espero ter ajudado. Em geral estou à disposição na plataforma (sem abusos :D)


Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).

1

sim, acho que isso de querer tudo mastigado seria o mal do século, eu enxergo isso, tento até ir contra mas não faço ideia de como fazer isso.

aprender a aprender, hum. isto é uma coisa que vim "aprendendo", ou melhor dizendo, vim achando que estava aprendendo, mas parece que eu só estava me enganando, que eu estava fugindo disso.

olha, no início desse ano fez 2 anos que estudo programação, e esse número é uma coisa que me envergonha demais, já que, não minha cabeça, já era para eu saber programar.

mas, o que é saber programar? tinha visto num vídeo dizendo que programar é um 'meio', certo, então saber programar seria saber usar esse 'meio', um 'meio' que resolve problemas, ou seja, eu não sei resolver problemas.

escrevendo isso, acabei de perceber que fujo dos meus problemas sempre criando outros, na verdade, eu fujo deles meio que "inconscientemente"?! já que eu penso que o problema está resolvido então eu parto pro próximo passo, só que o problema não está resolvido, então... talvez isso venha acontecido durante toda a minha jornada dev

eu realmente não sei o que eu quero com programação, que caminho seguir, ou se o caminho da programação é pra mim. isto tudo já passou, passa pela minha cabeça. isto é uma coisa que tinha, e tenho, grande medo de assumir, assumir que talvez eu esteja fazendo um esforço, não para mim, mas para mostrar para as outras pessoas de que eu não sou um fracasso?!

eu realmente não sei. como o senhor mesmo disse: "Dificuldades são normais", e eu fico na esperança de que isto tudo que estou passando seja uma, ou até várias, dificuldade, e que realmente esteja só passando e deixe um aprendizado.

como o senhor disse: "não te conheço", mas talvez eu não escrevi esse comentário tentando fazer com que o senhor me conheça, mas talvez pra que eu me conheça, tirar as ideias, tirar as coisas que tanto me incomodam e que estão na minha cabeça.

obrigado pela resposta, Sr.@maniero .

4

olha, no início desse ano fez 2 anos que estudo programação, e esse número é uma coisa que me envergonha demais, já que, não minha cabeça, já era para eu saber programar.

Curso de Engenharia: 5 anos + estágio e a pessoa não sai construindo prédios

Curso de medicina: 6 anos + 2 anos de residencia + especialização pro médico ser um clínico, não sai fazendo cirurgia.

Nas outras áreas as pessoas passam mais de uma década aprendendo, e mesmo assim não chegaram no auge da carreira e você querendo chegar lá em 2 anos?

O que é saber programar?

Você considera isso como resolver um problema simples de programação ou está se comparando com senior de 12 anos de experiência?

Programação é uma área difícil, precisa de anos e anos estudando. Em menos de 4 ou 5 anos acho difícil aprender todos os conceitos básicos.

E não, você não vai virar um sênior em 6 meses, em 2 ou 5 anos. Você precisa de MUITA experiência e tempo de mercado pra chegar num cargo desses.

2

Confesso que no momento nao penso em dicas melhores que o pessoal ja deu aqui, principalmente o @maniero. Aceite que voce nunca vai comecar as coisas de modo perfeito ou da maneira mais eficiente, a gente comeca burro, em tudo. Basta aceitar isso e se manter resiliente e nao desistir.

Independente do "segmento" que voce escolher, aceite que voce nao vai comecar programando ou desenvolvendo a coisa mais foda ou a coisa que mais se assemelhe com o que voce busca. exemplo, o colega aqui em cima mencionou sistemas embarcados, setor automotivo, bordo etc. Definitivamente seus primeiros anos nao serao aprendendo coisas completamente direcionadas a estes temas, mas sim o basico.

2

Compreendo sua perspectiva sobre o desenvolvimento web e concordo que explorar outras áreas, como a programação de sistemas embarcados em C, pode ser fascinante. Além dos tópicos que mencionou, aqui estão algumas sugestões adicionais para expandir os conhecimentos em C: programação concorrente e paralela, segurança em C, embarcados, otimização de código. recomendo dar uma olhando sobre otimização usando instruções vetoriais e um assunto muito interessante para que gosta de programação de baixo nível, um professor meu tem alguns artigos publicados na área de doutorado dele que é criptografia em que ele faz implementação eficiente de algoritmos criptográfico para arquitetura x86 usando instruções vetoriais. Acho válido destacar que assuntos como embarcados e programação de baixo nivel são BEM COMPLICADOS a princípio, principalmente quando se trata de otimização e você tem que entender muito bem sobre tópico como arquitetura de computados e sistemas operacionais, é difícil, tanto aprender quanto achar vagas, mas não é impossível e eu mesmo quero ir para o mercado de trabalho nesse rumo. Se for iniciante recomendo começar implementando estruturas de dados usando C, coisas como Listas Ligadas, Hash Tables(vou deixar uma implementacão minha de hash table para tipos de dados genéricos feita em C nos links), Árvores B e B+ para entender como as estruturas funcionam e como outras linguagens implementam as estruturas delas e como linguagens como python por exemplo usam ponteiros para fazer arrays que aceitam diversos tipos por exemplo. vou deixar alguns links que você pode se interessar.

https://github.com/hscHeric/hsc_hash_separate-chaining

https://www.ime.usp.br/~pf/algoritmos/

https://agner.org/optimize/

https://nullprogram.com/

https://www.ic.unicamp.br/~rdahab/cursos/mo850/Welcome.html

https://www.intel.com/content/www/us/en/docs/intrinsics-guide/index.html#ig_expand=6,483

2

Embora a maioria das oportunidades envolva a web, o software está em toda parte. Mas como você é jovem, recomendo que ainda não se preocupe em focar em uma área ou tecnologia específica. Apenas continue aprendendo coisas novas.

Bons programadores são bons em decompor problemas, tem clareza de pensamento, e tem capacidade de se aprofundar em conceitos complexos. Essas características são mais importantes do que o conhecimento de uma área específica. Aprender coisas novas proporcionará oportunidades para desenvolver essas habilidades.

1

Bom dia,

Entendo tua frustração, acho que todo mundo passa por um sentimento como esse em algum momento da carreira...

Não sei qual é o teu nível atual, ou a quanto tempo estás na área, mas no geral, em inicio de carreira as coisas serão assim mesmo, o popular feijão com arroz. Infelizmente a vida do dev não é como nos filmes, que dia sim dia não você salva o mundo de um ataque cibernético que poderia acabar com Wall Street...

Atualmente, no meu ponto de vista, a maior necessidade de devs é justamente para a área web, e no geral não haverá nada de muito estraordinário nisso.

Se queres uma dica de uma área que poderá ter um impacto maior na vida das pessoas, além do hype de IA atual, eu diria para focar na parte de sistemas embarcados, visando o setor automotivo, desenvolvendo os sistemas de bordo, segurança e prevenção de acidentes, ou também a área de industria, para automatização, ou de saúde, para os equipamentos de imagem e robotica. Porém, esse último, acredito que seja bastante nichado e difícil de entrar (não conheço ninguém que tenha conhecido, ao contrario dos setores de automoveis e industria)

Entretanto, considero que, caso esteja no inicio de carreira, foque na base, e então procure ter um conhecimento maior na área de negócios, de forma que você consiga participar e influenciar nas tomadas de decisão, com o tempo irá se identificar mais com uma área ou outra, e poderá tentar fazer uma migração para o que for de teu agrado, com significativa facilidade caso tenha uma boa base...

1

Por enquanto, esquece o "ajudar as pessoas". Como pretendes salvar alguém que está se afogando se não sabes nadar?

Podes começar pela calculadora. Vai aprendendo e talvez surjam novas ideia no caminho. O que interessas é se movimentar e não ficar deprimido em um canto.

Certamente o Akita tem mais experiência que tu. O objetivo não é se sentir burro mas chegar lá. Um professor meu dizia que os burros tendem a se cercar de pessoas tão ou mais burras para se sentirem inteligentes. Os inteligentes procuram sempre pessoas mais inteligentes para se espelhar.

Finalmente, vais aprendendo alfo e podes postar aqui o que aprendeu.

Não tenho mais ideias do que escrever. :D

1

Sobre aprendizado, o que aprender, muitos tem respostas melhores que a minha, mas gostaria de falar um pouco mais sobre C, ja que eu a alguns meses tive a mesma confusão.

Sim, ponteiros e alocamento de memoria é importante para não desperdiçar memoria, exemplo besta: Ao inves de passar uma variavel como argumento em uma funçao você pode passar apenas a referencia.

Alocação de memoria, trabalhando com strings ou arrays dinamicos(arrays que aumentam de tamanho conforme a execução), voce VAI usar alocação de memoria, realocar quando precisar mais.

Estive muito confuso igual a você sobre o que fazer com C, ja que todos os tutoriais online praticamente so apresentam a sintax, para procurar coisas mais afundas em C você precisa procurar topicos especificos, por exemplo, faça seu mini shell usando esse tutorial.

Você pode ter interesse por compiladores por causa do video Linguagem Compilada vs Interpretada | Qual é melhor? então procure tutoriais sobre como fazer um analisador lexico em C como por exemplo Lexical Analyser in C

Ou você leu o livro So por prazer, Linux(meu deus isso esta 150 reais a mais do que eu paguei 4 meses atras) e então resolveu procurar sobre e encontrou o OSDev Wiki e o subreddit r/osdev e encontrou conteudo sobre como fazer "hello world" em sistemas operacionais usando C e um pouco de assembly.

Caso não tenha ficado claro, isso foi basicamente minha historia com C nos ultimos meses, se bem que o livro eu tinha lido a mais tempo, mas só consegui encontrar bom conteudo agora.

Emfim, pense no C como uma ferramenta para desenvolver esse tipo de coisa, com uma otima performance, se estiver interessado em falar mais comigo sobre, pode responder esse comentario ou vir falar comigo no privado do discord, meu nome de usuario é "kalanguin", me mande uma mensagem no privado, eu tive duvidas muito parecidas que as suas e eu adoraria responde-las se tiver mais.

1

minha confusão com C pode se dar pelo fato de que eu não tenho um objetivo bem claro na minha mente. na verdade isso não é só com o C, é em bastante coisa em minha vida, mas, relevemos.

já pensei em criar sistemas operacionais com C, mexer no Android com C (ou com qualquer lang que possa "modificar" o Android), mexer na web com C (sou meio doido mesmo, rlx), criar softwares com C, ou seja, fazer tudo com C, mas o problema aqui é: como?

eu sou um adolescente (tenho 16 anos), então tô naquele processo de estar me conhecendo ainda, e posso adiantar que: eu sou bem ruim em aprender as coisas. mesmo que na escola, eu sempre fui o "nerd" da sala, o que tira notas boas, o que gosta de matemática, mas o sistema educacional nosso é tão ruim que isso é só na escola.

porque, querendo ou não, foi o que disseram em alguma resposta para esse meu post: "os burros tendem a se cercar de pessoas tão ou mais burras para se sentirem inteligentes", e tô percebendo que isso é a pura verdade e que, na perspectiva da frase, eu meio que sou um burro de forma inconsciente.

te envie pedido de amizade, mas disse que você não está recebendo pedidos de amizade. então, meu username: rick.369

1

Eu atualmente sou estudante de Engenharia da Computação e estou passando por um processo similar ao seu, porém não tanto perdido como você está se sentindo agora. Eu poderia falar várias coisas aqui eu podem lhe dar algum norte, mas vendo o quão perdido você está, eu acho que não bastaria apenas citar tópicos e sem discorrer o porquê da necessidade de olhar eles, pois ao fazê-lo, provavelmente só iria gerar mais confusão.

Eu vi em outro comentário que você só tem 16 anos e genuninamente fico feliz que, mesmo tão novo, esteja procurando algo na computação, já há 2 anos, com tanto afinco. Se serve de alguma coisa, eu diria para procurar aprender estruturas de dados e algoritmos profundamente, pois é algo que não vi você falando que já domina nos outros comentários e nem no post em si, e só aí partir para essas áreas. Digo isso pois, ao contrário de web que existem 1 milhão de abstrações para usar, precisando saber o mínimo que está acontecendo por baixo do panos (já que tudo "simplesmente funciona"), o mundo fora disso exige que você domine muito mais com o que está lidando, além de, dependendo do que você quiser, ter que entender de várias coisas além de computação em si, o que torna a barreira de entrada extremamente maior.

Por fim, eu vou deixar aqui meu Discord e você pode me adicionar lá se quiser: frangomolhado. Se você não gostar de lá, não tem conta ou algum outro motivo, manda um email para mim em [email protected]. Meu intuito é que a gente possa fazer uma call para eu entender melhor a situção, e discuti-la sem o incoveniente de uma comunicação assíncrona escrita.

-2
2

Dica muito fraca, pode-se ver no post que o cara esta justamente perdido como aprender C, como eu disse no meu comentario, mas mesmo assim uma boa dica, apenas deveria ter desenvolvido mais.

1
2

Com certeza, concordo 100%, minha critica foi a falta de aprofundamento no comentario como por exemplo linkar conteudos ou dar detalhes sobre como aprender de verdade Unix e C no comentario anterior.

Mas agora que linkou obrigado pelos links, nao tinha ideia que existia um livro explicando o kernel do linux, muito menos BSD, estou muito empolgado aprendendo sobre sistemas operacionais e esses livros parecem ouro pra mim, muito obrigado!

5

Realmente, fui um preguisoço anteriormente, mas fico feliz que a discussão tenha despertado seu interesse e agradeço pela crítica. Então vamos lá, sem preguiça.

Aprenda C e Unix de verdade:

Antes de mergulhar nas implementações, recomendo fortemente começar pelo entendimento da interface, por meio do APUE. Após estudar esse livro a fundo, você terá uma base sólida para compreender como ferramentas essenciais como Postgres, Nginx (e muitas outras) funcionam. Eles dependem fundamentalmente do que o Unix oferece para essas aplicações.

Entender a interface Unix é essencial, não só teoria. Isso permite otimizar suas aplicações, aproveitando os recursos do sistema operacional de maneiras que muitos desconhecem. Lembro-me de ler um paper em 2014 ou 15, que detalhava como, graças a um conhecimento profundo de como o epoll funciona, foi possível manter um servidor nginx funcional mesmo sob um intenso ataque DDoS. Da mesma forma, já observei casos onde o Unix/Postgres foi utilizado para que certas conexões tivessem suas threads escalonadas em tempo real. Esse tipo de configuração garantia que operações específicas fossem executadas mesmo sob condições de estresse extremo no banco de dados. Isso é aprender Unix verdade.

Este é o tipo de conhecimento que permite soluções muitos mais robustas e eficientes, e sobre restrições severas as únicas possiveis. Ambos os casos exigem mais do que um entendimento profundo das APIs do Unix; é necessário modificar e recompilar o código-fonte de cada aplicação para atender a essas demandas especificas.

Quanto ao seu interesse no desenvolvimento de BSD e Linux, é um ótimo caminho. Esses sistemas são obras de alguns dos programadores mais experientes em C do mundo. Os livros que recomendei (existem muitos outros na verdade, estes são os melhores, hehe) oferecem um vislumbre de decisões e implementações notáveis. Por exemplo, a forma como a lista encadeada do kernel do Linux, calcula o endereço do proximo elemento, é uma verdadeira joia da programação C. Assim como maneira que o BSD realiza manipulações de bits para aplicar e combinar filtros e flags no kqueue, que não apenas é eficiente, mas também surpreendentemente clara e legível. Isso é aprender C de verdade.

Um abraço e bons estudos!

2

primeiramente, obrigado @oCarlos por ter feito o @clacerda escrever uma resposta mais detalhada, kssk.

assim, muito obrigado pelo conteúdo que você mandou, principalmente pelos links, já que, se você não compartilhasse esses links, eu provavelmente não iria conseguir achar, por preguiça ou porque eu não sei pesquisar nada mesmo.

eu sou um grande curioso nessa parte de Unix, mesmo não sabendo muito, eu mexo mais no Linux, que não deixa de ser um Unix (eu acho). inclusive já baixei o Arch Linux algumas boas vezes (não sei se isso é grande coisa, mas eu achei o processo divertido).

eu já tive a ideia de tentar contribuir em algo no sistema linux, ou tentar fazer alguma modificação direta no Arch Linux, mas eu não faço ideia de como fazer isso, e isso tudo se dá por preguiça da minha parte.

como eu disse mais a cima, eu não sei pesquisar (vou até anotar esse ponto para eu aprender), e tudo isso é por conta da, preguiça.

bem, novamente eu agradeço por ter compartilhado esses links, com certeza vou utiliza-los para estudos.

até uma próxima!