Aprendendo C # e preso em um barranco [fechado]

12

Eu tenho aprendido C # / .NET 4.0 por cerca de 2/3 meses, é minha primeira linguagem de programação séria (já olhei PHP, HTML, CSS, JavaScript e VBA antes, mas nunca em profundidade) e estou começando a ficar um pouco preso:

  • Eu atingi o teto com meu aprendizado devido à falta de um grande projeto ...
  • A falta de trabalho em projetos complexos está me dando dúvidas em minhas habilidades ...

Há duas semanas, tive uma entrevista para um emprego de Programador Júnior e consegui responder à maioria das perguntas que me foram respondidas, mas ainda não o consegui devido à falta de experiência prática, não tenho certeza do que fazer. Faz!

Como eu disse antes, não gostaria de contribuir para um projeto de código aberto, mas não sei por onde começar, presumo que os grandes projetos só querem bons codificadores :(

Existe alguma forma de teste de programação on-line que me mostre o quão 'bom' (ou 'ruim') eu sou no momento? :)

Obrigado por qualquer ajuda.

JuniorDeveloper1208
fonte

Respostas:

8

Gostaria de perguntar em que você está interessado (hobbies, etc.) e depois ver quais projetos maiores você pode criar que estão relacionados a isso. Além disso, você pode conferir o Project Euler se estiver apenas procurando exercícios, mas acho que os projetos nos quais você está pessoalmente interessado são melhores.

FrustratedWithFormsDesigner
fonte
Esse é o problema, acho que não tenho muita certeza de onde minha área preferida está na codificação. Geralmente, eu gosto de carros / motos e programas de TV / filmes, mas muitos dos projetos que giram em torno deles já foram realizados. Estou com medo de tentar algo extremamente complexo também. A coisa mais complicada que fiz foi uma coisa de Humano / Monstro no XNA, onde os humanos fogem e os monstros correm, mas é isso!
JuniorDeveloper1208
4
Quem se importa se já foi feito? Quando você está aprendendo, não há problema em reinventar a roda. Tenho construído lentamente um programa de galeria de fotos com banco de dados para armazenar tags e todos os tipos de outros metadados sobre as fotos. Claro que já foi feito, mas eu queria aprimorar meu C # e soou como um projeto divertido. Não está pronto (talvez nunca esteja) e agora estou pensando em reconstruir a interface do usuário para ensinar a mim mesmo o WPF. É puramente um projeto de aprendizado e se eu terminar e lançar algo, ficarei surpreso! Mas eu aprendi muito !!
FrustratedWithFormsDesigner
1
@toleero: O humano / monstro no XNA parece divertido. Próxima coisa, adicionar armas? Exigirá grandes retrabalhos, mas valerá a pena. Ou talvez comece com diferentes tipos de monstros, como rápido / lento, fraco / forte, grande / pequeno ...
FrustratedWithFormsDesigner
1
@toleero: É realmente um projeto de partida muito bom, há muitas, muitas direções que você pode ir em;).
FrustratedWithFormsDesigner
1
@Frustrated, @toleero: Exatamente. Tenho alguns projetos que estou sempre pensando em novos recursos a serem adicionados. O que acontece é: você adiciona um pequeno recurso e pensa em mais 5. À medida que você os adiciona, suas idéias melhoram, porque suas habilidades em implementá-las melhoram e você está pensando além de como implementá-las. Em um ou dois anos, você olhará para trás e pensará como seus primeiros projetos foram simples! Lembre-se de que você só pode ver até onde chegou quando chegou lá.
Michael K
2

O ponto principal do código-fonte aberto é que ele é aberto e você é livre para fazer quase tudo o que quiser, além de reivindicar o seu, e distribuí-lo sem o código-fonte.

Encontre um projeto que você goste e use, mas acha que pode haver algumas melhorias nele.

Obtenha o último ramo estável, faça o download.

Faça as alterações que você acha que seriam boas para o projeto.

Mostre a algumas pessoas da comunidade seu progresso e suas melhorias.

Se eles gostarem, podem incluí-lo no ramo principal.

Se eles não gostam, mas você acha que é realmente bom. Bifurque o projeto, configure sua própria página com sua fonte, leia a licença deles para que você obtenha tudo correto.

AttackingHobo
fonte
1

O único teste que vale a pena é enviar um software útil, utilizável e robusto. Qualquer outra coisa é trivial.

Eu sugiro que você visite o CodePlex para ver muitos projetos de código aberto que usam C # e .NET. Alguma coisa lá chamará a sua atenção como um programa ou biblioteca que você realmente usaria. Experimente e observe as coisas que você mudaria para torná-lo melhor.

Na verdade, você não precisa se preocupar em ser aceito pela equipe de desenvolvimento, pois basta puxar a base de código e fazer suas próprias alterações. Se você acha que criou algo realmente valioso, entre em contato com a equipe de desenvolvimento.

Adam Crossland
fonte
Meu PM argumentaria que um prazo substitui a utilidade / durabilidade em qualquer dia da semana, heh.
Brad Christie
@ Brad - eu ouço a mesma coisa toda terça-feira às 14:00
Adam Crossland
1

Existe alguma forma de teste de programação on-line que me mostre o quão 'bom' (ou 'ruim') eu sou no momento?

Que os resultados de tais testes são em grande parte irrelevantes. O que importa é que você pode realizar as coisas no idioma em questão. O que você obviamente ainda não pode.

Aqui está a minha sugestão. Você definitivamente está lendo um livro em C #. A maioria dos bons livros tem um exemplo prático que você faz no livro, elaborando-o e tornando-o mais complexo com o avanço do capítulo. Entenda esse exemplo e programe uma pequena coisa simples prestando atenção às melhores práticas sugeridas. Depois disso, você obtém um pouco de confiança em suas habilidades e também terá algo para mostrar.

Comece a fazer as coisas.


fonte
Obrigado, eu fiz algumas coisas (alguns aplicativos WinForms, um jogo de sandbox XNA e estou escrevendo um Google Stock Tracker no WPF), mas acho difícil manter um projeto ...
JuniorDeveloper1208
1

Existe alguma forma de teste de programação on-line que me mostre o quão 'bom' (ou 'ruim') eu sou no momento? :)

Nenhum teste será capaz de mostrar isso (mesmo se houver gerentes / pessoal de RH acreditando firmemente no contrário ;-). Ele só aparece na vida real, trabalhando em projetos reais, por um período mais longo.

Como eu disse antes, não gostaria de contribuir para um projeto de código aberto, mas não sei por onde começar, presumo que os grandes projetos só querem bons codificadores :(

Eu acredito que você pode começar a fazer pequenas contribuições para muitos projetos de código aberto. Pelo menos eu acredito que testar, reportar bugs, contribuir com a documentação com certeza é bem-vindo, já que muitos desenvolvedores não gostam disso :-) E dessa forma, gradualmente, você pode criar reputação e começar a contribuir com código: primeiras correções de bugs e mudanças maiores.

Há duas semanas, tive uma entrevista para um emprego de Programador Júnior e consegui responder à maioria das perguntas que me foram respondidas, mas ainda não o consegui devido à falta de experiência prática.

Não desista, isso já aconteceu com a maioria de nós em algum momento. Continue aprendendo, praticando e se candidatando a empregos juniores e, mais cedo ou mais tarde, conseguirá um. Uma coisa que você pode e o IMHO devem fazer após as entrevistas é coletar feedback. Se você fez uma prova escrita, não basta pedir sua pontuação, mas também pedir a folha de resultados real para ver os erros que você cometeu e aprender com eles. Analise também o processo de entrevista e descubra onde você deu respostas abaixo do ideal, perdeu uma batida, etc. Da próxima vez, poderá melhorar com uma preparação adicional.

Péter Török
fonte
Obrigado, vou dar uma olhada, estou achando muito difícil encontrar um projeto com o qual se comprometer!
JuniorDeveloper1208
0

Nunca tenha medo da programação, os melhores programadores são aqueles que cometeram os maiores erros. Erros estúpidos, bugs complexos, todos eles contribuem para torná-lo um codificador melhor.

Boa sorte !!

Chipre
fonte