PDF download Baixe em PDF PDF download Baixe em PDF

Ser um desenvolvedor de software é um lucrativo plano de carreira, e cumpri-lo requer habilidades de negócios bastante sérias. No entanto, o que fazem os desenvolvedores de software? Já que não pode vencê-los, una-se a eles. Você possui a experiência tecnológica e a familiaridade com o público-alvo para desenvolver um bom produto? Com um pouco de brainstorming — e, é claro, começando com o Passo 1 abaixo — você conseguirá!

Parte 1
Parte 1 de 3:

Aprendendo o caminho

PDF download Baixe em PDF
  1. Há dois rumos básicos no desenvolvimento de software: Desenvolvimento de Aplicativos e Desenvolvimento de Sistemas . O primeiro mantém seu foco na criação de programas que suprem a necessidade dos usuários. Eles podem variar de aplicativos para dispositivos móveis à produção avançada de videogames e a softwares de contabilidade empresarial. O segundo, por sua vez, está focado na criação e manutenção de sistemas operacionais com o desenvolvimento de ciclos de vida. O desenvolvimento de sistemas frequentemente envolve operabilidade de rede e segurança de dados. [1]
  2. Qualquer pessoa pode ter ideias, mas um desenvolvedor será capaz de transformar as suas em algo tangível. Mesmo que você somente queira trabalhar nos aspectos visuais de um software, deve ter certa familiaridade com a codificação e ser capaz de criar protótipos básicos. Há uma imensa variedade de linguagens de programação que você pode ensinar a si mesmo. Algumas das mais úteis e importantes incluem:
    • C — uma das mais antigas linguagens ainda em uso, sendo a base para a maioria das outras aqui listadas. C é usada para desenvolver programas simples, e trabalha de modo próximo ao hardware do computador.
    • C++ — é a versão orientada a objetos da C, sendo a mais popular linguagem de programação no mundo. Programas como Chrome, Firefox, Photoshop e muitos outros são todos criados com a C++. Ela é também uma linguagem muito popular na criação de videogames. Desenvolvedores C++ estão quase sempre em grande demanda.
    • Java — uma evolução da linguagem C++, sendo usada devido à sua facilidade de portabilidade. Quase qualquer sistema pode rodar uma Java Virtual Machine , permitindo nele ser executado o software Java. Ela é amplamente usada em videogames e softwares de negócios, e muitas pessoas a recomendam como uma linguagem essencial.
    • C# — linguagem baseada em Windows que faz parte do framework .NET da Microsoft. Ela está proximamente relacionada à Java e à C++, e, se você aprender Java inicialmente, é possível transferir-se rapidamente para a C#. Essa linguagem é especialmente útil para desenvolvedores trabalhando com softwares para Windows ou Windows Phone.
    • Objective-C — outra prima da linguagem C, especificamente projetada para sistemas Apple, e desfruta de imensa popularidade em aplicativos para iPhone e iPad. Ela é uma linguagem para ser aprendida como freelancer .
    • Python — linguagem incrivelmente fácil de se aprender (uma das mais fáceis). A Python se especializa no desenvolvimento para web.
    • PHP — não se trata exatamente do desenvolvimento de software, mas a PHP é essencial se tem interesse em ingressar no desenvolvimento de software. Sempre há montes de trabalho para desenvolvedores PHP, embora não se trate de algo tão lucrativo como o desenvolvimento de software.
  3. A maioria das livrarias tem seções inteiras dedicadas a livros de programação, e há incontáveis títulos na Amazon e em lojas virtuais. Um livro de programação bem-escrito será provavelmente o melhor recurso que você pode ter, e o permitirá ter referência rápida enquanto trabalha em projetos.
    • Além de livros, a internet é um infindável tesouro de guias e tutoriais. Busque por guias da linguagem de sua escolha em páginas como CodeAcademy, Code.org, Bento, Udacity, Udemy, Khan Academy, W3Schools e muitas outras.
  4. Embora não precise de um título de graduação para ingressar no mercado de desenvolvimento de software, não doerá fazer algumas classes em uma universidade ou centro de ensino. Isso dará o benefício da instrução cara-a-cara, e você será desafiado a solucionar problemas que provavelmente não encontraria se estivesse aprendendo por conta própria.
    • Aulas custam dinheiro. Por isso, assegure-se de se inscrever para aulas que o ajudarão a aprender o que você realmente deseja saber.
    • Embora muitos desenvolvedores sejam capazes de ingressar na indústria baseados puramente nos méritos de suas habilidades, você ajudará a si mesmo a se destacar se possuir um bacharelado de quatro anos em Ciências da Computação de uma universidade respeitável. Um curso superior o dará uma maior área de conhecimento e dará acesso a aulas adicionais de grande ajuda, como Matemática e Lógica.
  5. Antes de começar a tentar usar os seus conhecimentos de programação recém-adquiridos em trabalhos reais, trabalhe em alguns projetos por conta própria. Desafie a si mesmo para solucionar problemas usando a sua linguagem de programação. Não somente isso o ajudará a desenvolver as suas habilidades, como também ajudará a elaborar o seu currículo.
    • Por exemplo: em vez de usar o programa de calendário presente em seu computador para se manter organizado, tente desenvolver o seu próprio!
    • Se tem interesse no desenvolvimento de videogames, trabalhe em jogos simples que não estejam focados em gráficos ou mecânicas complexas. Ao invés disso, concentre-se em deixá-los divertidos e únicos. Uma coleção de pequenos jogos criados por você ficará ótimo em seu portfólio.
    DICA DE ESPECIALISTA

    Gene Linetsky, MS

    Fundador de Startups e Diretor de Engenharia
    Gene Linetsky é um fundador de startups e engenheiro de software em na Área da Baía de São Francisco. Trabalha na indústria da tecnologia há mais de 30 anos e é o atual Diretor de Engenharia da Poynt, uma empresa de tecnologia que constrói terminais de vendas para diferentes negócios.
    Gene Linetsky, MS
    Fundador de Startups e Diretor de Engenharia


    Experiência prática é sua melhor amiga. De acordo com Gene Linetsky, engenheiro de software e fundador de startups: "Ser um engenheiro de software não envolve tanto a habilidade de programar; envolve tudo que é necessário para transformar seu código em um produto para pessoas de carne-e-osso. Em muitos casos, seus clientes voltarão dizendo que algo no software não funciona. É nesse ciclo de fazer contínuas manutenções e atualizações de suas técnicas e produtos que um engenheiro de software aprende a trabalhar."

  6. A internet é uma forma fantástica de se conectar com outros desenvolvedores. Se você se encontrar preso em um de seus projetos, peça ajuda em páginas e fóruns. Assegure-se de perguntar de modo inteligente, provando que já de fato tentou diversas soluções possíveis.
  7. Trabalhe em seus projetos pessoais todos os dias, mesmo que seja apenas por uma hora. Isso o ajudará a se manter fresco e a aprender novas técnicas constantemente. Muitos desenvolvedores obtiveram sucesso aprendendo uma linguagem ao assegurar-se de estarem expostos a ela todos os dias. [2]
    • Defina um tempo a cada dia que possa dedicar à programação, ou defina uma data-limite na qual tudo deve estar pronto. Tente trabalhar em seus projetos diariamente durante a semana, de modo a poder relaxar no final de semana.
    Publicidade
Parte 2
Parte 2 de 3:

Desenvolvendo um programa

PDF download Baixe em PDF
  1. Um bom programa executará uma tarefa que facilita a vida do usuário. Busque pelo software atualmente disponível para a tarefa que você deseja realizar, e veja se há formas em que o processo poderá ser mais fácil ou mais fluído. Um programa de sucesso é aquele que os usuários considerarão os mais úteis possíveis.
    • Examine as suas tarefas diárias no computador. Há algum modo de automatizar uma porção dessas tarefas com um programa?
    • Escreva todas as ideias. Mesmo que algo pareça bobo ou estranho, pode se tornar em algo útil ou até mesmo brilhante.
    • Examine outros programas. O que fazem? Como poderiam fazê-lo melhor? O que falta? Responder a essas questões pode ajudá-lo a ter ideias próprias para abordar o problema.
  2. Esse documento esboçará as características principais e o que você intenta atingir com o projeto. Referir-se ao documento de projeto durante o processo de desenvolvimento o ajudará a manter o projeto em dia e em foco. Veja Escrevendo_o_Documento_de_Design esse guia para detalhes relativos à escrita do documento.
  3. Esse é um programa básico que exibe a funcionalidade que você deseja atingir. Um protótipo é um programa rápido, e deve ser iterado até que você encontre o design que funcione. Por exemplo, se você está criando um programa de calendário, o seu protótipo será um calendário básico (com datas corretas!) e uma forma de agregar eventos a ele.
    • O protótipo será alterado com frequência durante o ciclo de desenvolvimento, à medida que você idealiza novas formas de enfrentar problemas ou pensa em ideias tardias que você deseja incorporar.
    • O protótipo não precisa ser bonito. Na verdade, arte e design devem ser as últimas coisas nas quais manter o foco. Usando novamente o exemplo do calendário, o seu protótipo deve mais provavelmente estar em forma unicamente de texto.
  4. Bugs e falhas são o pesadelo de todo desenvolvedor. Erros no código e em usos inesperados podem causar todos os tipos de problema em um produto final. À medida que você continua a trabalhar em seu projeto, teste-o tanto quanto possível. Faça tudo o que você puder para quebra-lo, e então tente evitar essas quebras no futuro. Peça a amigos e familiares que testem o seu programa e relatem os resultados. Qualquer modo de ter feedback o ajudará no processo de desenvolvimento.
    • Tente inserir datas estranhas se o programa lida com datas. Períodos incrivelmente antigos ou no futuro distante podem causar reações estranhas no programa.
    • Insira o tipo errado de variáveis. Por exemplo: Se você tem um formulário que pede a idade do usuário, insira uma palavra ao invés de números, e veja o que acontece com o programa.
    • Se o programa tem uma interface gráfica, clique em tudo. O que acontece quando você volta para uma tela anterior, ou se clica nos botões em uma ordem errada?
  5. Embora não haja problema em ter um projeto bruto na fase de protótipo e desenvolvimento, se você deseja que outros o utilizem, precisará investir algum tempo no polimento. Isso significa ter a certeza de que os menus fluam logicamente, a interface do usuário (UI) esteja limpa e fácil de usar, não haja latentes e notáveis bugs e de que tudo esteja envolto por uma bela finalização.
    • O design e funcionalidade da UI pode ser muito difícil e complexa. Muitas pessoas fazem carreira simplesmente no design e projeção de UIs. Apenas assegure-se de manter o seu projeto pessoal fácil de usar e leve aos olhos. Uma UI profissional pode não ser possível sem um time e orçamento.
    • Se tem o dinheiro, há vários designers gráficos freelance que poderiam potencialmente projetar para você uma UI por contrato. Se você tem um projeto sólido que espera ser a próxima grande novidade, encontre um bom designer de UIs e torne-o parte de seu time.
  6. GitHub é uma comunidade open-source que permite compartilhar o seu código com outras pessoas. Isso possibilitará receber comentários a respeito de seu próprio código, bem como beneficiar a outros que buscam por soluções que você porventura venha a ter. GitHub é um excelente recurso de aprendizado, bem como uma ótima maneira de construir o seu portfólio.
  7. Uma vez que você tenha um produto final, poderá escolher se deseja distribuí-lo ou não. Há diversas formas de fazê-lo hoje em dia, dependendo do tipo de software criado.
    • Uma das formas mais comuns de pequenos times ou desenvolvedores independentes distribuírem seus softwares é através de uma página pessoal. Assegure-se de que todas as características estejam bem documentadas, e inclua screenshots e tutoriais. Se você está vendendo o seu software, lembre-se de ter um bom sistema de pagamento digital e um servidor a partir do qual distribuir o software.
    • Se está desenvolvendo software para um dispositivo ou sistema operacional em específico, há múltiplas lojas digitais que podem ser utilizadas. Por exemplo: Se você está desenvolvendo um software para dispositivos Android, é possível vendê-lo através da Google Play Store, da Amazon App Store ou de sua página pessoal.
    Publicidade
Parte 3
Parte 3 de 3:

Conseguindo trabalho

PDF download Baixe em PDF
  1. Embora não paguem tão bem e sejam menos confiáveis do que o emprego de tempo integral, você pode aumentar significativamente o seu portfólio ao tomar para si diversos trabalhos contratuais. Confira páginas como eLance e oDesk para encontrar trabalho. Embora seja difícil ser considerado para um contrato, assim que você conseguir o primeiro, as coisas ficam mais fáceis.
    • Hacker News é um grande recurso para trabalhos contratuais e freelance . Confira a seção " Ask ".
    • Embora possa ser tentador colocar preços baixos para garantir um trabalho, não se venda por pouco. Não somente você acabará trabalhando mais por menos do que merece, como também deixará irado outros em sua área, levando a menos relações profissionais.
    • O bom serviço em um trabalho contratual pode às vezes levar a posições de tempo integral. Sempre dê o seu melhor em tudo o que fizer!
  2. . Vá para tantas convenções e eventos na área quanto for possível. Não somente isso o exporá a mais programação e problemas para solucionar, como também o ajudará a conhecer outras pessoas na indústria. Apesar do que você possa pensar a respeito de programadores trabalhando sozinhos em seus porões, a maioria dos desenvolvedores de tempo integral é parte de um time, e o networking é tão importante quanto em qualquer outro campo.
  3. Uma vez que você tenha alguns trabalhos contratuais na manga, poderá começar a enviar currículos e portfólios para organizações maiores, buscando um emprego de tempo integral. Além da Catho, Monster e Indeed, á diversas páginas de empregos que podem ser usadas, incluindo GitHub Jobs, StackOverflowe Job Board, AngelList, CrunchBoard, Hirelite e Hacker News. [3]
  4. Um bom desenvolvedor de software é geralmente proficiente em mais do que uma linguagem. Embora muito do que você aprende estará no trabalho, use um pouco de seu tempo livre para expandir o conhecimento e aprender o básico de outra linguagem (ou até mesmo duas!). Isso tornará a transição para novos projetos muito mais fácil, e o transformará em um candidato ao emprego ainda mais desejável.
  5. Nem todo trabalho inicial no desenvolvimento de software o oferecerá um salário de seis dígitos. Na verdade, nenhum o fará. No entanto, o bom no desenvolvimento de software é que o mercado de trabalho é incrivelmente forte. Se você sente que não tem ganhado o suficiente onde está, é relativamente fácil mudar-se para uma nova posição em uma nova companhia (se você tem a habilidade para fazê-lo). Trate os seus primeiros poucos empregos como experiências necessárias, ao invés de simplesmente concentrar-se em seu plano de aposentadoria.
    Publicidade

Sobre este guia wikiHow

Esta página foi acessada 145 376 vezes.

Este artigo foi útil?

Publicidade