Como posso descobrir se a programação é adequada para mim? [fechadas]


22

Tenho formação em TI e fiquei bastante confiante até que surgiu uma oportunidade de trabalhar em programação (C #). Nunca programei antes disso, e o software para o qual estou programando é um programa que nunca usei antes (um software de modelagem 3D).

Faz 6 meses desde então e eu sinto vontade de desistir. Não recebi muito treinamento ... cerca de 3 semanas de treinamento espalhadas nos últimos 6 meses.

Eu acho que seria bom em programação, mas essa experiência está me fazendo repensar minha decisão. Não tenho certeza se sou só eu ou se essa frustração é normal.

Como posso descobrir se a programação é adequada para mim?


11
Você é estudante em algum lugar? Apenas curioso, porque a MS tem um site chamado DreamSpark, onde você pode obter o Visual Studio, SQL e a maioria dos servidores para o seu computador doméstico. Isso pode lhe dar a oportunidade de criar seu próprio software e experimentar coisas por conta própria. Além disso, a MS possui um site de treinamento bastante interessante, chamado Channel 9, que possui alguns projetos interessantes. Só sugiro isso porque, se você gosta de programar, alguns deles devem ser divertidos, não funcionais.
IMortalitySX 28/09/12

5
Quando essa oportunidade surgiu, que motivos você teve para aproveitá-la?
AakashM 28/09/12

1
@iMortalitySX: As ferramentas disponíveis no DreamSpark são diferentes das VS Express Editions?
FrustratedWithFormsDesigner

4
@ User66414 Sua pergunta atraiu alguns votos íntimos, então eu a editei um pouco para focar na pergunta principal que você parece estar fazendo, o que eu acho que é uma boa pergunta para o site. Sinta-se livre para reverter a edição, se eu não entendi sua pergunta :)
Rachel

2
@ Rachel: Talvez seja necessário iniciar uma petição para salvar os sites StackExchange da multidão Close-All-The-Questions. :-)
Warren P

Respostas:


87

Há algumas coisas a serem observadas sobre como entrar em programação.

Primeiro, você nunca saberá tudo sobre programação. Você provavelmente nunca chegará perto de conhecer uma fração de tudo. E se você pensar que sabe alguma coisa, algo novo surgirá e o que você sabe será obsoleto.

Então, você precisa estar bem em aprender constantemente coisas novas e ensinar a si mesmo o que precisa ser feito. Se você não concorda em gastar muito tempo aprendendo, pesquisando e descobrindo coisas através de "tentativa e erro educados", não entre na programação.

Segundo, é a lógica que importa, não a sintaxe. Apenas aprender um idioma, estrutura ou tecnologia não é necessariamente um bom programador. Você realmente precisa ter o tipo de mente capaz de entender a lógica por trás do código - como as peças se encaixam, que tipo de lógica está sendo usada e como o computador interpretará seu código.

Parece que você está trabalhando com um único software e idioma, mas lembre-se de que existem muitos outros idiomas e tecnologias por aí. Não os julgue por sua experiência com um deles. Se a sintaxe o frustrar, lembre-se de que sempre há outras opções. Mas se você está tendo problemas para entender a lógica por trás do código, talvez a programação não seja a sua escolha.

E, finalmente, não escolha um emprego que você odeia. A programação certa pode ser frustrante, mas também pode ser muito gratificante. Se você consegue lidar com os momentos em que deseja bater a cabeça contra a parede com algum código, ou excluir tudo do computador com frustração e ainda aproveitar a codificação, você é bom :)


11
Eu teria postado minha própria resposta, mas eu gosto dessa. Eu queria acrescentar que a programação tem tudo a ver com realização, criando algo que funciona. Se você puder comparar como se sente entre a criação de software e a manutenção (aplicação de patches) de um servidor, você terá sua resposta. Além disso, eu sugeriria a qualquer pessoa nova que seja aluno "prático" que tente entrar em uma equipe do SCRUM, para que você trabalhe em estreita colaboração com outros desenvolvedores e aprenda rápido (mas você precisa ser capaz de acompanhar).
iMortalitySX

1
Lembre-se também de que quanto melhor você progride na programação, maior o poder de escolher trabalhos agradáveis ​​para você, em vez de um código que paga apenas as contas.
21412 Zoot

7
... programming can be frustrating, but it can also be very rewarding.É a isso que me refiro como o efeito "montanha russa" da profissão de programador. Os pontos baixos são muito baixos, podem vir muito rapidamente e podem ser difíceis de sair. Mas os altos são de tirar o fôlego, e a emoção é viciante.
Ryan Kinal

1
Belo artigo. Tão verdade. Infelizmente, nem a equipe de RH parece entender isso, que um verdadeiro praticante de software é aquele que pode ter um desempenho íntimo com MUITAS estruturas, pois prova que elas transcenderam o domínio da sintaxe apenas no core, Logic (OOP, padrões de design, etc) quando se trata de seu ofício.
precisa saber é o seguinte

2
@RyanKinal Tenho certeza de que os programadores compartilham várias características de jogadores compulsivos. Quando você fica baixo, fica muito difícil sair dele até ficar de costas. E quando você chegar a um ponto alto, geralmente, tudo que você tem em mente é chegar a outro ponto alto ..
Earlz

24

Meu amigo era passageiro frequente por muitos anos, mas sempre quis ser piloto de avião. Um dia, ele aproveitou a oportunidade para pilotar o Boeing 747. Após cerca de seis meses, sentiu vontade de desistir: pensou que seria bom em pilotar aviões, mas essa experiência nos últimos seis meses o fez repensar sua decisão.

Claro que estou brincando: não tenho um amigo assim. E isso é por uma boa razão: qualquer companhia aérea ficaria louca em deixar alguém assumir o controle de um 747 antes de passar alguns anos pilotando um Cessna, seguido por alguns anos pilotando aviões multimotores, seguidos por alguns anos de jatos voadores , seguido por alguns meses de treinamento extensivo no 747.

O argumento da minha história inventada é que mesmo o pacote de modelagem 3D mais simples seria o equivalente do desenvolvedor de um vôo de um 747. Muitos programadores ficariam intimidados por ele, mesmo depois de uma década ou duas na indústria. Não é de surpreender que você se sinta frustrado: você assumiu uma tarefa errada para o seu nível de habilidade atual!

O que você deveria fazer? Primeiro, eu saía da loja de modelagem 3D, fazia um curso on-line ou real de programação e criava um projeto de estimação no qual você pode trabalhar no seu tempo livre. Depois de concluir o curso, tente obter uma posição de nível inicial em uma loja que produz aplicativos de negócios, aplicativos para dispositivos móveis ou sites sofisticados. Aprenda o máximo que puder no trabalho e pratique em casa para melhorar ainda mais suas habilidades. Em alguns anos, você poderá voltar à sua empresa de modelagem 3D e trabalhar lá sem um pouco de frustração.


9
Isso é bom, mas eu não necessariamente desisti. Se seu trabalho for difícil, mas seu chefe concordar com a necessidade de tempo para acelerar, pode ser uma ótima oportunidade. Além disso, os aplicativos de negócios podem não ajudar muito na modelagem 3D. Eu tenho feito principalmente aplicativos de negócios e ficaria completamente perdido se tentasse escrever um programa de modelagem 3D.
Restabeleça Monica

22

Você pode não ter escolhido o melhor caminho para aprender programação :)

Sério, a modelagem 3D é um domínio muito complexo, mesmo para um programador experiente, portanto, ter isso como seu primeiro projeto será difícil. Eu sugeriria obter alguns bons livros e trabalhar em projetos simples por conta própria. Se você gosta de trabalhar nisso, continue ligando e você chegará lá. Se você não gostar disso, talvez seja hora de reduzir suas perdas.

Não vou iniciar nenhum argumento sobre os melhores livros de programação, mas acho que você encontrará inúmeras perguntas no SE sobre referências de programação.

FWIW, eu tenho programado no MS Windows desde a versão 2.x, e se eu pulasse em um projeto de modelagem 3D existente, acho que ficaria frustrado por um tempo também :)


Concordo. A programação em 3D não é exatamente uma caminhada no parque. Os aplicativos de negócios nas áreas financeira, médica ou de tecnologia são um lugar melhor para iniciar sua carreira em C #.
ROFLwTIME

+1 para apontar a modelagem 3D não é um bom ponto de partida, é muita matemática também IMO. Eu acho que essa é a principal coisa aqui, sempre começar com as coisas fáceis, quando você tenta correr muito rápido você acaba tendo mais tempo (estranho não é?)
fiftyeight

8

Como desenvolvedor de software bastante novato (2 anos de trabalho em período parcial), o que me faz continuar é a perspectiva de longo prazo .

A cada novo projeto que inicio, tenho uma melhor compreensão de como lidar com isso sem problemas. Cada novo idioma se torna menos difícil. Minhas soluções começam a parecer mais completas.

Aqui está minha lista do que você deve continuar como programador:

  • Você deve gostar e ser capaz de aprender por conta própria. (ou seja, trabalhe com livros, fóruns, documentações, ...)
  • Você gostaria de manter seus pensamentos organizados - a programação é uma maneira de trazer processos de pensamento para o papel ( para o computador ).
  • Você deve ter uma resiliência suficiente, ao lidar constantemente com uma lista aparentemente interminável de pequenos problemas, que primeiro precisam ser identificados antes que possam ser resolvidos.

Fora isso, acho que há muitas razões para gostar de programação, e quanto mais você faz, mais experimentará a alegria de trabalhar em um campo tão criativo e não repetitivo.

Edit: Se você está tendo problemas com alguma coisa, tente apontar exatamente qual é o problema e leve-o para um dos sites do Stack-Exchange. Se a sua pergunta ainda não tiver sido respondida, você poderá obter um boa resposta A longo prazo, também será bom você ler alguns livros estruturados sobre paradigmas de programação, engenharia de software e algoritmos. A maioria das importações, porém, continua escrevendo código - e, como a maioria das respostas sugeridas aqui, encontre tempo para trabalhar em programas não relacionados ao que você já está fazendo, mesmo que isso signifique que você crie seus próprios projetos para trabalhar em casa.


4

É simples: você gosta de fazer isso? Se você não estivesse sendo pago para fazê-lo, faria isso no seu tempo livre, por diversão? Se a resposta for não, então a programação provavelmente não é adequada para você.

Isso não quer dizer que você não possa aprender a fazê-lo bem o suficiente para ser empregado de maneira lucrativa. Mas se você não o ama, nunca será ótimo nisso. E, se você não gosta, qual é o objetivo?

Comecei a programar quando tinha 12 anos e fiz isso porque queria. Eu tinha 20 anos (e no meio da faculdade) antes de me ocorrer que talvez eu pudesse fazer isso como meio de vida. Foi apenas uma coisa que fiz porque adorei.

Acredito que a maioria das pessoas que são ótimas em alguma coisa (qualquer coisa) não o são porque possuem alguma habilidade inata, mas porque têm uma obsessão doentia por isso.


1
Não sei por que alguém rebaixou isso. Eu não poderia concordar mais.
endy

Por exemplo, eu poderia gostar do trabalho do OP se aprendesse algo realmente interessante sobre matemática 3D e gosto de aprender sistemas 3D e a matemática relacionada. Ah, e detalhes de OpenGL ou DirectX e placas de vídeo.
Warren P

2

Meu conselho é que você gaste algum tempo sozinho com C # e programação em geral.

Faça um pequeno jogo. Faça uma ferramenta simples para organizar suas fotos. Faça algo realmente.

Se você gasta seu tempo individual, pode achar que gosta de programar. Caso contrário, a programação não é a carreira para você. De qualquer maneira, continue trabalhando nisso.

Um recurso que pode ser útil para aprender alguns conceitos:

http://msdn.microsoft.com/en-us/library/618ayhy6.aspx (referência de C #)


2

Onde estava seu histórico se você nunca programou antes disso? A maioria das funções de TI teria alguma oportunidade de programar alguma coisa, mesmo que apenas uma macro ou script para automatizar uma pequena parte do quebra-cabeça.

Você tem direito às suas emoções. No entanto, a melhor pergunta é o que você está fazendo sobre essa frustração? Você está entendendo as coisas e seguindo em frente? Que tipo de feedback você está recebendo sobre o trabalho que está realizando? Se você está recebendo feedback de que é ótimo, pode ter expectativas irreais sobre si mesmo. Por outro lado, se você está recebendo pouco ou nenhum feedback, então eu poderia entender ter alguns medos.


2

Lembro-me de começar com o assembler em um Commodore VIC20. No começo, eu apenas segui as instruções de hacks publicadas em revistas de jogos para me dar uma vida infinita no Jet Set Willy ou o que quer que eu estivesse tentando trapacear. Eu tinha uma curiosidade e um desejo que me levaram a querer criar meus próprios hacks e entender como e por que eles funcionavam. Por sua vez, isso me levou a escrever meus primeiros programas.

O ponto é que fiquei totalmente confuso por um longo tempo (não tanto quanto 6 meses, mas eu concordo que provavelmente é uma função de começar com a modelagem 3D), mas então, o centavo caiu repentinamente. Comecei a entender como o código que eu escrevia se traduzia em instruções de CPU e referências de memória e, em breve, eu poderia escrever um montador bastante competente. Claro, você está trabalhando 20 níveis acima da CPU agora, mas tenho certeza de que, se você tiver a aptidão, esse momento da lâmpada acontecerá.

Acho que estou reiterando os pontos ressaltados, aprendendo e ficando bêbados quando você cria algo realmente sinérgico.

Se puder pode dar um conselho, é "perseverar e aprender o básico da programação orientada a objetos". Boa sorte.


2

Você basicamente não teve treinamento e foi lançado em um projeto difícil. Normalmente, as pessoas passam pelo menos três anos aprendendo coisas antes mesmo de começarem projetos não triviais. Não há constrangimento, nem significa que a programação não é para você, se você está achando muito difícil.

Até eu lutei na minha quarta semana de programação: P


Levei alguns anos para que eu pudesse criar programas não triviais que não apresentavam muitos bugs. Quando cheguei a um ponto crítico, minha taxa de melhora aumentou, e isso aconteceu algumas vezes. Lembro-me de quando comecei a inovar e pude conceituar idéias de uma maneira que não conseguia anteriormente. Foi tudo ladeira abaixo de lá.
Jett

2

Sua frustração é completamente normal; é provável que três semanas de treinamento sejam profundamente insuficientes. Você não pode saber se a programação é adequada para você, sendo lançado de frente em um projeto de programação difícil com o seu salário em jogo.

Se você realmente deseja saber se a programação é "ideal para você", aprenda uma nova linguagem de programação durante seu tempo livre e faça alguns projetos de programação de hobby. Se você gosta dessa experiência (a experiência de programação sem prazos e pressões de trabalho pairando sobre sua cabeça), a programação é ideal para você.

Agora ... se esse trabalho de programação específico é adequado para você ... eu pessoalmente me inclinaria para um não . Converse com seu gerente sobre sua frustração e considere conseguir um emprego que seja mais adequado às suas habilidades atuais ou que prometa um programa de treinamento melhor. Não sei os detalhes de sua situação específica, mas parece-me que foi um desserviço para você e a empresa contratá-lo para essa posição sem fornecer tempo de treinamento adequado; se eles não estavam planejando oferecer um treinamento melhor, não deveriam ter contratado você. Ainda assim, a escola das batidas fortes é uma escola tão boa quanto qualquer outra; novamente, o melhor curso de ação aqui é conversar com seu gerente e ver como ele avalia seu desempenho atual e responde à sua frustração.


2

Sou eu ou estou certo em ficar frustrado?

A pergunta que você realmente precisa se perguntar é:

a) Você gosta de programar? b) Você se sente a pessoa mais feliz do mundo depois que seu aplicativo está funcionando? - Se sua resposta for SIM , pare de se preocupar, continue aprendendo e melhorando suas habilidades em programação.

De um modo geral, modelagem 3D - é uma área totalmente diferente no mundo da programação, como uma programação de jogos. Isso pode assustá-lo ou não direcionar seu interesse. Não se assuste , apenas mantenha sua motivação aprendendo coisas que você não conhece. Defina suas metas de curto e longo prazo sobre o que você precisa para acompanhar e aprender.

Editar: O "software de modelagem 3D" não é uma área principal de programação de fluxo. Assim, você poderá aprender conhecimentos / técnicas muito específicos que não são aplicados em outras áreas (CRM, contabilidade, assistência médica, etc.) Se você achar "modelagem 3D" NÃO interessante, basta procurar por diferentes áreas de negócios da programação. isso direciona seu interesse.


2

A programação de gráficos 3D é um nicho no qual até os desenvolvedores de software mais bem estabelecidos preferem não entrar. Eu trabalho muito com o OpenGL e conheço isso em primeira mão. Felizmente, todo o seu trabalho envolve trabalhar com gráficos de cenários em um nível superior, mas se você estiver no fundo, como eu. Para um novo programador, é como um bebê correndo ... em uma corrida de 100 metros ... com gente como Usain Bolt ... com a pressão adicional de pessoas que realmente têm expectativas realistas de que o bebê vencerá a corrida.

No entanto, milagres acontecem e toda a esperança não se perde.

Eu acredito que você já está fazendo isso, mas não apenas precisa fazer tutoriais sobre programação (esse é de longe o menor desafio), mas também ler coisas sobre fundamentos 3D e sistemas de coordenadas. Entenda a matemática envolvida no desenho de polígonos, tradução, rotação (Deus o ajude se Quarternion), matrizes, etc.

Mas, falando sério, você tem certeza de que deseja continuar com isso? O que é mais importante para você? este trabalho ou um conjunto completo de cabelos?


1

Acabei de jogar um livro sobre C # recentemente - pois ele não tem valor para mim.

Mas posso confirmar, frustração e erros são considerados "normais".

Embora não seja um prazo estabelecido na parte de trás do seu pescoço - não se preocupe.

Por outro lado - uma vez que funciona como um encanto, pode ser realmente divertido.

Ao fornecer resultados extraordinários - eles podem chamá-lo de "senhor" :)

Em relação à sua pergunta, se é o trabalho certo para você - isso depende, se você quiser aprender coisas novas todos os dias - se deve ou não. Além disso, se você tiver paciência e coragem para lidar com os problemas.

Eu aplico constantemente a metodologia TDD - mas isso leva vários anos para aprender. Ter um curso rápido de três semanas pode não levar a lugar algum, é tudo sobre cometer erros e aprender com eles.

Todo mundo odeia bugs e mau funcionamento - mas é possível crescer com eles. O que quero dizer é que cometer (ou mesmo provocar) erros não é necessariamente uma coisa ruim.

Provavelmente, a melhor dica que posso dar é dividir as coisas em marcos menores.

Porque se as metas que você definiu estão completamente fora de alcance - é isso que causa frustração.

Aprendi a depurar em um Nintendo SNES - eu estava trapaceando como uma enxada e recebi dinheiro de uma revista de console por fornecer dicas novas. Mais tarde, adquiri um Atari ST e aprendi a codificar o Omikron Basic ... e ainda estou aqui, atualmente autônomo como assistente de JS :)

Sua situação, como descrita, é bastante "aprendendo da maneira mais difícil" ... eu também sugeriria aprendê-la com aplicativos muito mais básicos do que isso. Uma boa referência de idioma é tudo o que precisamos, e talvez bons exemplos.


1

A programação requer muita unidade e dedicação para chegar ao ponto em que você sabe o que está fazendo e é excepcional em fazer o que sabe.

Para você realmente ter sucesso, a programação precisa se tornar um modo de vida; ao invés de uma profissão desejada. Ele precisa se transformar em uma obsessão que começa no resistor e se estende a toda a rede que compreende a internet.

Pessoalmente, eu recomendo que você fique com ele, porque eu também lutei muito. Eu não era capaz de realmente começar a pensar como programador até cerca de um ano e alguns meses depois que comecei a estudar ciência da computação em tempo integral (geralmente mais de 12 horas por dia).

Passei o tempo todo estudando tudo o que podia compreender na internet relacionado a computadores. Eu usei a complexidade da programação para me tornar ainda mais teimosa e motivada toda vez que estava sobrecarregada. Passei muito tempo apenas lendo o código de outras pessoas e digitando-o manualmente. Sempre que encontrava algo que não entendia, procurava. Todos os dias, mergulhando cada vez mais fundo na minha fascinação e obsessão forçada. (Eu até comecei a ter sonhos de programação em que estava me comunicando com programas via binário, muito profundo! Lmao)

Nem sempre foi fácil. Definitivamente, eu senti que não estava preparado para isso o tempo todo, mas um dia eu era capaz de me conectar e começar a codificar como louca. Isso começou a fazer mais e mais sentido para mim, com todas as frases que eu imaginava. Tudo começou a se reunir até o ponto em que eu poderia voltar e reescrever meu código de maneira mais otimizada e eficiente apenas algumas horas depois.

Depois disso, nunca duvidei se era capaz de me tornar um programador. Você tem que realmente querer isso. Não há muitas pessoas que tenham a dedicação necessária para superar a tempestade necessária para evoluir para um cientista da computação.

No entanto, quando você chega ao ponto em que pode criar sistemas de software complicados que nasceram de sua criatividade e engenhosidade, a recompensa pela realização que você sente excede em muito a luta que teve que enfrentar para alcançar o sucesso.


1

Eu acho que a coisa mais definitiva a se perguntar é "você gosta de aprender".

Com esta simples pergunta, você saberá se a programação é adequada para você com uma probabilidade decente. Se você não gosta de aprender, então não, provavelmente não gostará de programação. A programação é de 5% sobre como escrever código, 10% sobre como projetar seu código deve funcionar e 85% sobre como aprender a escrever código e criar designs melhores. (e isso não muda! Estou programando há mais de 8 anos e ainda estou aprendendo constantemente!)

Agora, é claro, você pode gostar de aprender e não gostar de programação, mas como gosta de aprender, tente criar alguns programas! No entanto, você não pode desistir da curva de aprendizado inicial, especialmente com tantos idiomas fáceis agora. Então vá lá e escreva algum código!


0

A programação é sobre a resolução de problemas primeiro. O idioma é secundário. Assim que você tiver a tarefa de escrever seu primeiro programa (a propósito, você não escreverá o código sozinho pela primeira vez - porque tudo foi escrito) e descobrirá o quebra-cabeça ... faça a conexão, você saberá ali mesmo, se você quiser ser um programador.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.