De não programador a programador freelancer “profissional” [fechado]

8

Tenho 15 anos e estou procurando comprar seu primeiro carro e achei que poderia ganhar algum dinheiro extra aprendendo a programar, já que gosto de brincar com o computador o tempo todo.

Li várias postagens aqui e criei uma lista de livros que acho que seria benéfico para mim, no entanto, não sei quais informações são mais importantes para saber primeiro ou se tenho tudo o que preciso. Aqui está o que eu estava pensando:

1: Aprenda uma linguagem de programação em profundidade. Estou quase na metade do caminho com o livro passo a passo 2. Aprenda sobre design orientado a objeto e padrões de design 3. Aprenda sobre teste de software 4. Pratique essas habilidades em sites como projecteuler, topcoder e tente fazer de maneira simples projetos em sites freelancers, como rent-a-coder.

Há mais alguma coisa que você ache que eu possa precisar ou deva procurar?

Obrigado.

Microsoft Visual C # 2010 passo a passo

Professional C # 4.0 e .NET 4 (programador Wrox para programador)

C # em profundidade

CLR via C #

Aplicando UML E Padrões

Head First Object-Oriented Analysis and Design

Padrões de Design: Elementos de Software Orientado a Objetos Reutilizáveis

Desenvolvimento orientado a testes: por exemplo

Crescimento de software orientado a objetos, guiado por testes

user13822
fonte
6
Eu acho que você vai ganhar dinheiro mais rápido, conseguindo um emprego de verão cortando a grama (se é o dinheiro que você quer). Aprender programação levará um pouco mais de tempo para ser bom o suficiente para ganhar dinheiro com isso (mesmo com o aluguel de um codificador (desenvolvedores experientes da Índia / China / Ucrânia farão uma licitação)).
Martin York
7
Continue nisso. Você terá seu carro em cerca de 5 anos.
precisa saber é o seguinte
1
Boa lista de livros. Além da teoria, você precisa praticar, semelhante a como você não pode obter uma faixa preta no karatê lendo livros. Arranje tempo para praticar, veja a resposta do GrandmasterB.
Joppe
1
@Rig FYI - usuários com menos de 10 representantes (criados quando o OP tinha 1 representante) estão restritos a 2 links em uma postagem . O hxxp deveria contornar essa restrição.
@ MichaelT Obrigado por apontar isso. Eu não fazia ideia.
Rig

Respostas:

19

Seu primeiro passo = Aprenda seu ofício

A experiência é mais importante que o aprendizado de livros:

Escolha um projeto e descubra como alcançar seus objetivos.

Sem dúvida, isso o levará ao aprendizado de livros, etc., mas permitirá que você avalie seu próprio progresso e escolha o que ler e quando. Algumas dicas:

  • Comece com algo pequeno.
  • Pegue as coisas uma de cada vez.
  • Faça as coisas da melhor maneira possível.
  • Não adicione itens ao seu código até precisar deles.
  • Não sempre adicionar o código que você não entende.
  • Não repita o mesmo código duas vezes no seu projeto.
  • Imagine sempre que outra pessoa trabalhará no seu código amanhã - tente deixar o mais claro possível para essa pessoa.

Quanto à sua escolha de livros:

Se você deseja obter a rota C #, sua lista de livros é excelente. Se você conhecer tudo isso, valerá o seu peso em ouro! Sou um programador .Net (razoavelmente bem pago) desde os primeiros dias do .Net, mas ainda não li o mais avançado desses livros (mas eles estão na minha lista de leitura). A lição que retiro disso é que o material avançado tem seu lugar, mas o domínio do básico ainda pode lhe proporcionar uma ótima carreira. Portanto, não se preocupe muito com os livros avançados até precisar deles. Há um livro que eu adicionaria à sua lista - mesmo antes dos livros avançados em C #: Code Complete 2. É provavelmente o livro mais recomendado neste site. Merecidamente, IMO.

Sua próxima etapa = criar confiança

Você mencionou ganhar um pouco de dinheiro. Para afirmar o óbvio: para ganhar dinheiro com o desenvolvimento de software, você precisa encontrar alguém disposto a pagar. Infelizmente para você, descobrir que alguém será um desafio para você.

Por quê?

  1. Por causa da sua idade .

Eu posso estar enganado sobre isso, pois é (é claro) bastante irracional. No entanto, a triste realidade é que as pessoas têm preconceitos sobre a idade. Na minha experiência, é provável que muitos empregadores em potencial o rejeitem porque consideram os jovens não confiáveis ​​e incapazes de cumprir suas promessas. O que torna isso particularmente injusto é que você não pode fazer nada sobre sua idade, exceto esperar.

No entanto, há algumas ações que você pode fazer para aumentar a probabilidade de encontrar emprego como desenvolvedor, apesar da sua idade:

a) Continue assim. Se você não procura clientes, porque não espera que eles o desviem, nunca encontrará aqueles que olharão além da sua idade e verão suas qualidades como desenvolvedor. Em outras palavras, não permita que os preconceitos de outras pessoas sobre a idade se tornem seus preconceitos sobre outras pessoas.

b) Consiga um advogado - alguém que ateste suas habilidades e tenha mais credibilidade aos olhos das perspectivas que você tem em si mesmo. Talvez você tenha um amigo ou parente mais velho que possa falar por você? Obviamente, você precisará de alguém que possa atestar suas qualidades pessoais; portanto, certifique-se de estar realmente preparado tecnicamente.

  1. Porque você não tem experiência no setor .

Apesar de obviamente ter talento, conhecimento e entusiasmo, você não tem 5 anos de experiência no trabalho. Este é um problema que todos os novos profissionais enfrentam, independentemente da idade. Muitas vezes, as pessoas não querem o trabalho de empregar pessoas que ainda não têm um histórico comprovado de desempenho no trabalho.

Felizmente, você pode fazer muito sobre isso:

a) Reconheça que essa é uma preocupação razoável

É difícil alguém justificar o pagamento de um serviço quando não tem provas de que receberá o que paga.

Quando estiver conversando com clientes em potencial, seja honesto sobre sua falta de experiência, mas demonstre por que isso não será um problema. Se mostrar a iniciativa nisto, você pode minar as objeções deles antes que eles as pensem adequadamente. O benefício disso não é manipular, mas mostrar que você entende as necessidades de negócios delas.

b) Construa uma reputação

Faça pacotes de trabalho pequenos e gerenciáveis ​​por uma taxa pequena o suficiente para que você corra o risco da transação para o cliente. Muitas vezes, isso significa que você faz seu primeiro trabalho de graça. Escolha esses clientes com cuidado - você precisa fazer algo que lhe dê satisfação por alguém que cante seus louvores quando você entregar. Disseram-me que muitos desenvolvedores fazem trabalhos de caridade para começar, mas a família e os amigos da família também podem oferecer algo a você.

c) Criar experiência

Para demonstrar a experiência, você precisa ... experiência. Se você não encontrar mais ninguém para trabalhar, trabalhe para si mesmo. Inicie um projeto de hobby. Escolha algo que as pessoas achem útil e que (com o tempo) esteja disposto a pagar. No entanto, não trabalhe pelo dinheiro, mas pela experiência. Considere isso um investimento a longo prazo - você pode esperar um retorno a longo prazo, não necessariamente a curto prazo.

d) Desenvolva suas habilidades não técnicas

Se a coisa da programação paga não funcionar no momento, não se preocupe. Os empregadores não pagam apenas por habilidade em uma área específica, mas por um pacote completo.

As habilidades não técnicas são tão importantes no setor de TI quanto as habilidades técnicas: os empregadores buscam profissionalismo e capacidade de programação. Essas qualidades profissionais podem incluir habilidades pessoais, experiência financeira, conhecimento comercial e qualidades pessoais como honestidade, confiabilidade etc.

Tudo isso pode ser desenvolvido independentemente de suas habilidades técnicas. Por exemplo, se você precisar do dinheiro, poderá aceitar um trabalho que não seja de programação. Como alternativa, você pode se envolver com um grupo comunitário, instituição de caridade ou porto ou qualquer outro local em que possa desenvolver suas habilidades não técnicas. Por fim, essas atividades podem muito bem levar você ao seu primeiro contrato de programação adequado, se não diretamente (você nunca sabe quais contatos fará) e indiretamente, porque você é mais completo e tem mais a oferecer do que outras pessoas.

Kramii
fonte
Muito obrigado por seus conselhos perspicazes. Muito apreciado.
usar o seguinte comando
+1, esse é o tipo de resposta que me faz adorar este site. Claro, direto ao ponto e útil.
Por que um cliente saberia sua idade? Não conheço sites freelancers que publiquem a idade de um provedor. Estou no outro extremo da escala - tenho 66 anos, e os únicos clientes que conhecem minha idade são aqueles que conheci pessoalmente. Com isso dito, devido à sua falta de experiência, seu currículo vai faltar.
tcrosley
8

Você pode estar melhor concentrando-se agora nas áreas 'mais suaves' de desenvolvimento - por exemplo, criando sites e aprendendo a instalar e configurar sistemas de gerenciamento de conteúdo e outros aplicativos de código aberto.

Não vejo um garoto de 15 anos realmente sendo capaz de trabalhar como programador como freelancer - a menos que eles sejam realmente excepcionais na programação. Eu acho que você provavelmente conseguirá contratos pequenos para configurar sites para empresas locais e depois progredir para projetos maiores a partir daí.

GrandmasterB
fonte
2
Faça isso - e enquanto isso, continue aprendendo coisas mais complexas. Você tem amigos com uma banda e ainda um site estático? Implemente um CMS para o site deles. Você obterá experiência real de produção e alguma prova de sua capacidade para clientes em potencial.
Cbrandolino
E sem que alguém assine contratos para eles, como na maioria dos países, um adolescente de 15 anos não pode assinar um contrato vinculativo.
Rig
4

Eu acho incrível o que você está olhando para fazer. Esse tipo de coisa deve ser encorajado! Dito isto, como você só tem o verão para trabalhar em projetos de pagamento, convém escolher uma pilha de tecnologia mais rápida que o C # e o .NET completos. Há muitos contratos curtos para coisas como aplicativos PHP, aplicativos RoR, desenvolvimento para iOS e Android, personalizações de CMS etc. Esses tipos de funções também têm menos probabilidade de prejudicar sua idade (um fato triste, mas verdadeiro, de que você irá executar através).

Boa sorte e não desista - a programação é uma das coisas mais criativas, divertidas e gratificantes que você pode fazer, ponto final.

Martijn Verburg
fonte
Obrigado por seu incentivo, bem como por outras áreas que podem ser benéficas para mim.
user13822
3

Minha recomendação seria o que eu pessoalmente fiz. Vá trabalhar para MacDonald ou qualquer outra coisa para ganhar dinheiro. Não espere nenhuma receita proveniente de TI antes de se formar em uma universidade.

Não quero decepcioná-lo, mas nos próximos anos acho que você será principalmente consumidor e não fornecedor de tecnologia. Isso significa que você gastará mais dinheiro em TI que poderia gerar :-)

UML_GURU
fonte
Há muito trabalho freelance disponível para estudantes universitários antes da formatura.
Norman Ramsey
Talvez não seja a formatura, mas, até os 18 anos, será difícil para alguém concordar em fazer negócios com você. Ser adulto e ser capaz de assinar contratos é uma parte importante dos negócios.
9788 Sean McSomething #
3

Eu recomendo que você pegue alguns empregos de verão em vez de tentar ganhar dinheiro através da programação. É preciso muito tempo e esforço antes de você se tornar eficiente o suficiente (em média) para que as pessoas paguem para você escrever um software para elas. Programar não é algo que pode ser aprendido durante o verão. Portanto, a menos que você planeje fazer isso a longo prazo, não acho que o desenvolvimento de software trará o retorno do investimento (em termos de tempo e esforço) que você está procurando.

Além disso, se você realmente gosta de programar, sugiro uma maneira um pouco mais fácil do que C # e .Net - configurar sites (sem ofensa a ninguém). Comece com sites estáticos primeiro e aprenda a configurar um site completo com CMS. Embora se você seguir esse caminho, recomendo aprender o básico do design e web design em geral (não é necessário, mas realmente ajuda, especialmente se o seu cliente deseja sites personalizados em vez de usar temas pré-criados).

Boa sorte no seu carro e espero que você possa gostar de programar em vez de vê-lo apenas como uma fonte de renda. :)

jon2512chua
fonte
1

Eu sempre achei necessário ter um problema para resolver ou um jogo que gostaria de escrever. Dessa forma, você está sempre procurando maneiras de resolver esse problema e isso o levará a ler livros e pesquisar online. Nunca consegui ler um livro e depois conhecer um assunto.

Depois de decidir sobre um "problema" a ser resolvido, sua escolha de livros pode se tornar mais óbvia.

Paulo
fonte
0

Id sugerir para adicionar alguns livros asp.net, Webforms ou MVC. Muitos trabalhos freelancers são sobre desenvolvimento Web. Além disso, o Asp.Net não é muito popular nesse campo.

Talvez Ruby / Rails ou Python / Django sejam mais adequados para freelancers. Além disso, o PHP tem uma grande parcela de trabalhos freelancers.

Você pode verificar sites independentes e analisar as tecnologias mais procuradas.

Alexey Anufriyev
fonte