Baixe em PDF Baixe em PDF

Este artigo vai ensinar você a começar a desenvolver e manter softwares gratuitos e de código aberto em uma comunidade de programação. Embora o profissional que se dedica a essa atividade costuma ser referido como "hacker de softwares", a posição em si é mais voltada à criação e ajustes de software, em vez de invasão. Se estiver interessado em se tornar o tipo de hacker que procura por falhas e vulnerabilidades em softwares e sistemas operacionais, consulte este artigo .

  1. Ser um hacker de software significa que você vai passar muito tempo construindo, ajustando e atualizando softwares gratuitos para satisfazer seus usuários e manter o programa relevante. Para tanto, são precisos alguns pré-requisitos:
    • Ter um conhecimento sólido em linguagem de sistema (como C++) e linguagem de programação (como Python).
    • Saber quais plataformas com as quais você quer trabalhar (como Windows, Android, etc.).
    • Estar disposto a passar bastante tempo aprendendo mais sobre as linguagens, plataformas e gênero de software selecionados.
  2. Diferentemente do que muitos acreditam, ter uma excelente compreensão em matemática, conhecimento prévio em codificação e/ou diploma universitário em Ciências da Computação (ou algo parecido) não são pré-requisitos para trabalhar nessa área. [1]
    • Contanto que esteja interessado de verdade em aprender a desenvolver softwares e a aceitar as críticas apropriadas, não há motivos para pensar que você não pode se tornar um hacker de software livre.
  3. Desenvolvimento de software pode ser usado desde um passatempo até uma carreira integral; ter o conhecimento de onde você quer chegar antes de começar a aprender linguagens de programação ou selecionar uma plataforma vai ajudá-lo a manter o foco nessa sua jornada.
    • Embora não seja estritamente necessário, um diploma em Ciências da Computação ou desenvolvimento de software vai ajudá-lo a conseguir um emprego caso seu objetivo seja seguir carreira na área de desenvolvimento de software.
    • Se o seu objetivo é apenas criar um aplicativo ou programa que vai ajudá-lo a realizar uma tarefa difícil ou impossível existente, verifique se já não existe um software para essa finalidade.
  4. Cada uma das plataformas principais (Windows, macOS, iOS, Android e Linux) tem sua própria comunidade, linguagens de programação preferíveis e necessidades individuais. É crucial saber em qual plataforma seu software será aplicado antes de mergulhar no universo de desenvolvimento de software.
    • É melhor trabalhar na mesma plataforma para a qual você está desenvolvendo. Por exemplo, se você está desenvolvendo um aplicativo Android, usar um sistema baseado em Unix, como o Mac ou Linux, é melhor do que usar o Windows.
    • O Linux é uma solução bastante utilizada (e gratuita) por muitos desenvolvedores de software.
  5. Existem dois tipos de linguagem de codificação; aprenda ao menos um deles antes de partir para o desenvolvimento, mas eventualmente você vai precisar conhecer diversas linguagens:
    • Linguagens de sistema : uma linguagem de computador usada para fazer interface direta com o sistema. Alguns exemplos comuns são o C, C++ e Java.
    • Linguagens de programação : usada para desenvolver a interface (aparência) do software e suas funções. Alguns exemplos comuns são o Python, Ruby e Perl.
  6. Cada sistema operacional tem um aplicativo de linha de comando, como o "Prompt de comando" (Windows) e "Terminal" (Mac, Linux, etc.). Você pode usar essa ferramenta para se comunicar com o computador, permitindo a execução de comandos detalhados conforme necessário.
    • Embora você não vá realizar desenvolvimento de software em massa via linha de comando, ela é necessária para executar certos programas ou comandos de integração de software com o computador.
  7. Baixe e use o Notepad++ . O Notepad++ é um recurso de programação valiosíssimo, pois ele facilita a o acompanhamento do código por meio de recursos visuais e serve como uma ferramenta educacional.
    • Embora seja provável que você deva usar diferentes editor de texto e programas com base em linha de comando para escrever linhas e mais linhas de códigos, o Notepad++ é uma ferramenta de aprendizado fenomenal (e gratuita) para quem está começando.
  8. É provável que suas linguagens de programação e plataformas possuam softwares de desenvolvimento que permitem salvar e testar seus projetos a partir do seu computador; esse tipo de software é conhecido por "ambiente de desenvolvimento". Se possível, encontre e instale um ambiente de desenvolvimento para a linguagem selecionada antes de começar a aprender a programar.
    • Por exemplo, se você estiver desenvolvendo um aplicativo para Android, baixe e instale o kit de desenvolvimento Android Studio.
    • Os usuários do Java geralmente usam um ambiente de desenvolvimento como o Eclipse.
  9. . Após decidir qual linguagem você quer usar, é hora de aprender a usá-la. Existem inúmeros tutoriais online - gratuitos e pagos - que você pode usar, e a maioria das bibliotecas contém livros específicos para linguagens de programação (como por exemplo: C++ para leigos ), que permitem o aprendizado de uma linguagem inteira sem custo algum.
    • Existem também recursos de programação em excesso na internet, então use-os a seu favor antes de pagar por um curso ou bootcamp .
  10. Projetos de código aberto, como os do SourceForge ou GitHub, possuem seguidor ávidos; caso você encontre um projeto que use a mesma linguagem de programação e/ou tenha um objetivo semelhante ao do seu próprio projeto, entre na comunidade para adicionar sugestões e acompanhar o processo de desenvolvimento.
    • Assim como qualquer habilidade, envolver-se no projeto de criação (mesmo apenas observando) é a melhor forma de ganhar experiência prática.
  11. Você pode fazer de tudo, desde publicar nos fóruns até iniciar seu próprio projeto de código aberto, mas o objetivo principal é compartilhar suas ideias e obstáculos na comunidade e ouvir o feedback dos membros.
    • Se você iniciar seu próprio projeto de código aberto, esteja preparado para se comprometer com a comunidade em termos de qual direção o projeto seguirá.
  12. Como de costume no universo de desenvolvimento de software, sua ideia principal ou projeto já pode estar em desenvolvimento por uma comunidade com mais experiência do que você. Neste caso, considere pedir para ingressar no projeto. Essa é uma forma de melhorar sua compreensão de como um projeto de software funciona e de ajudar dar vida ao seu projeto, porém em um grupo.
    • Projetos de código aberto podem não ser seu objetivo final, mas eles são uma ótima forma de ver diferentes perspectivas entrarem em um consenso e formar um produto orientado ao usuário.
  13. Ao progredir na área de desenvolvimento de software e compartilhar seu trabalho, você estará sujeito a críticas. Ouvir o feedback da comunidade vai ajudá-lo a estruturar seu desenvolvimento futuro, além de ensiná-lo atalhos valiosos e métodos de abordagem de problemas parecidos nos seus próximos projetos.
    • Nem todos os feedbacks serão construtivos. Ao receber algum que seja rude ou injustificado, seja educado caso opte por respondê-lo.
  14. Você vai se deparar com desafios, bootcamps , palestras, aulas e competições definitivas nos fóruns da sua comunidade, como em alguns sites ou faculdades. Inscrever-se para qualquer evento ou programa vai ajudá-lo a obter mais experiência guiada, e você vai estar em um ambiente com pessoas na mesma situação que você.
    • Uma opção é o programa Google Summer of Code , que ajuda estudantes a se familiarizem com projetos de código aberto e com as comunidades de programadores. [2]
  15. Desenvolvimento de software é um campo que sempre vai crescer com a evolução das tecnologias, então é importante estar constantemente a par dos novos projetos, linguagens, sistemas operacionais e outras informações relevantes da sua área.
    • Muito do sucesso de um hacker de software livre depende da sua curiosidade. Contanto que você continue fazendo perguntas e procurando pelas respostas, sua jornada como desenvolvedor será muito produtiva e duradoura.
    Publicidade

Dicas

  • Começar aprendendo a linguagem C (ou C++) e Python é um ótimo começo, assim como o Java.
  • Eventualmente, você vai aprender diversas linguagens de computação no seu caminho de hacker de software livre.
  • As linguagens de programação podem ser intimidadoras, mas é apenas uma maneira de se comunicar com o computador de uma forma que ela possa entender.
Publicidade

Avisos

  • Não é recomendado tentar reviver um projeto abandonado que já tenha perdido um time anteriormente.
  • Evite fazer perguntas relacionada aos fundamentos da programação ou ferramentas de programação na página de discussão de um projeto de código aberto. O tempo de um profissional dessa área é muito valioso. Em vez, disso, discuta os conceitos básicos em comunidades para amadores ou novos programadores.
  • Sentar-se na frente de um computador por muitas horas pode causar efeitos duradouras na sua saúde geral. Lembre-se de levantar-se e alongar-se, desviar o olhar da tela e mover-se a cada uma ou duas horas.
  • Seja paciente! Assim como aprender qualquer nova habilidade, tornar-se um hacker de software livre leva tempo e determinação.
Publicidade

Sobre este guia wikiHow

Esta página foi acessada 23 662 vezes.

Este artigo foi útil?

Publicidade