[INICIANTE] Como eu sei meu nível / como saber se estou pronto para trabalhar?

Como eu sei meu real nível? Digo, eu resolvo vários algoritmos, e estudo POO por exemplo, mas são coisas que eu não sei, mas eu não consigo ver isso em um projeto de software(apesar de eu nunca ter visto nem um, digo, como isso aqui é útil no processo de desenvolvimento? criar uma calculdora, sério?) e isso me deixa um tanto frustrado, por que, eu não quero pular etapas e ter uma formação capenga, mas eu também quero ter uma noção, eu não quero me sentir no escuro, quero saber o que me espera, quero ter certa noção de que, OK, agora eu estou apto a começar estagiar/entrar como junior, ou algo assim. Desculpa se ficou confuso.

Tive essas mesmas dúvidas quando estava na faculdade.

Quando você começa a aprender a programar, tudo o que você faz já é sim um projeto de software. Você não está vendo isso pq tudo que você implementa está separado em vários pedaços.
Caso você una tudo isso, verá que você já construiu um sistema com várias features diferentes, apesar de não ser exatamente aquilo que você estará desenvolvendo no mercado.

Uma sugestão minha, continue estudando esses pequenos programas, estude estruturas de dados, isso sim você vai usar muito no mercado. E por fora, em casa na hora livre, procure estudar Java EE, Python Django ou até mesmo Ruby on rails. São plataformas que são muito usadas no mercado para desenvolvimento de sistemas grandes, e até mesmo as duas ultimas estão sendo preferências em startups. Ah, quase me esqueci, também tem o velho amigo php e também o c#.net.

Sei que escolher uma linguagem e plataforma certa as vezes pode ser dificil, mas procure pelas vagas, olhe o que o mercado está pedindo, e então, escolha algo que você acredita que pode ser aquilo que você quer fazer. Ultimamente tenho visto muita vaga procurando por Java, C# e ruby developers.

Agora é com você. Escolha uma e caia de cabeça, inicie fazendo três paginas web, uma de cadastro, outra de listagem e outra de visualização/edição de dados. Isso é o que chamamos de CRUDE. E cá entre nós, apesar de quase ninguém admitir, sistemas são exatamente isso, paginas de cadastro, listagem e edição.
Uma vez que você conseguir implementar isso, já está apto para dizer: - Eu sei o necessário para trabalhar.

Mas não ache que isso é o sulficiente. Uma vez que você conseguir fazer o seu sistema CRUDE procure estudar mensageria, e até apis de integração para ensinar o seu sistema a se comunicar com outros sistemas.

Aqui eu apenas tentei de tar uma luz, algo que teria sido bem menos arduo para mim quando estava na faculdade. Existe muitas coisas para se apender. Mas você que está começando, esse seria um ótimo caminho, sem deixar de estudar o que é o básico.

Bom coding aí pra você õ/

2 curtidas

De acordo com o que você disse, acredito que quando você conseguir montar uma aplicação sozinho, por mais simples que seja, como por exemplo: Agendador de tarefas, Gerenciador de O.S. e etc. Você já pode começar a trabalhar tranquilamente, não que isso te impeça de ingressar antes, mas com isso, você já terá uma boa noção para iniciar a trabalhar como desenvolvedor.
E você sempre vai estar aprendendo novas coisas conforme for trabalhando, quando eu comecei a trabalhar eu achava que por eu conseguir desenvolver pequenas aplicações sozinho eu já era bom o suficiente, mas depois, conforme foram se passando os dias, eu vi que o código que eu fazia antes comparado ao que eu faço hoje, cara, é uma diferença gritante, e a cada dia que passa, isso vai melhorando e aprimorando cada vez mais, sem contar no conhecimento adquirido, que no meu ponto de vista foi algo como +200%.
Eu ingressei em uma empresa como estagiário, mesmo recebendo um valor pequeno monetariamente, em troca eu recebo todo o conhecimento, prática e tudo mais que é necessário para um profissional da área, esse tipo de conhecimento você aprenderá somente na vida real do mercado, pois o que é passado na faculdade não chega nem aos pés, a faculdade ajuda muito, muito mesmo, porém é uma fatia muito pequena comparada a tudo de você aprende e aprimora atuando na área.

3 curtidas

Obrigado galera, Valli quanto a sua resposta, é mais ou menos isso que eu tava pensando em fazer, eu to meio que pesquisando o que é estruturas de dados, tentando ter uma base pra não sair perdendo a cabeça, as respostas foram ótimas e me ajudaram bastante, muito obrigado, bom saber que existem pessoas ai fora que usam o tempo para ajudar os outros. Obrigado você também Jonathan!

1 curtida

Tranquilo @James_G_Ramos =)

Não esqueça que nossa área é bem colaborativa. Isso significa que se nós de tecnologia não nos ajudamos quem irá nos ajudar?

  • Não é o chapolin colorado. Disso eu tenho certeza hehehehe.
1 curtida

Desculpa retornar, mas eu tenho algumas outras dúvidas quanto aos seguintes tópicos:

-> Como eu sei que meu código é bom ou ruim? É “boas práticas”? Como eu sei disso? leio convenções, documentações?
-> Como eu ajudo projetos open sources? Digo, como eu vou conseguir ir lá e achar algo? Eu procurei até no github, também por que eu queria dar uma olhada no código, mas não entendi nada.

Lê esses 2 livros que teu gosto por código bem feito vai ficar MUITO maior. Vai ficar com um olhar bem mais crítico e vai detectar os famosos “code smells” ao bater o olho em código mal feito. Talvez sua habilidade não acompanhe seu gosto, mas isso pode se tornar um estímulo para estudar mais e equiparar os dois (foi o que aconteceu comigo):

Se você quiser continuar a leitura, é só fazer uma espécie de “crawler” e ler as referências citadas pelo uncle Bob nesses livros. Depois, as referências das referências, e assim vai.

Não caia nessa lorota de contribuir por contribuir. É uma desinformação que muita gente espalha por aí. Não é tão fácil fazer uma contribuição significativa para um projeto assim do nada.

Minha dica é: esqueça isso por enquanto. Vá estudando os fundamentos e aprendendo a utilizar ferramentas diferentes. Vai chegar o momento onde você vai ver uma falha ou vai pensar em uma funcionalidade a mais para adicionar em uma das suas ferramentas favoritas, e é nesse momento onde você vai fazer a contribuição. É fundamental entender a fundo o projeto com o qual você está contribuindo. Do contrário, vai parecer aqueles Zé Manés que ficam dando pull request no kernel do linux com correção de gramática nos comentários, só pra dizer que ajudou hahahaha

1 curtida

Obrigado pela resposta @lvbarbosa, vou dar uma olhada nos livros que tu indicou!