Unixtopia
main/ artigos/
Projeto
É um esforço altamente planejado.
Como fazer um bom projeto
Este não é um artigo de produtividade e motivação. Se está buscando isso, vá capitalistar em outro lugar. Coisas sobre como planejar projetos, liderá-los, motivar pessoas e assim por diante são uma enorme vaca leiteira de escritores de produtividade em grande parte, este é um tópico de besteira crescendo junto com gigantescos projetos de empreendedorismo. Não caia nessa armadilha, nunca deixe que preocupações sobre como fazer arte tomem muito do tempo que deveria ser gasto na criação da arte em si. Também deve ser dito que cada um tem que encontrar sua própria maneira de fazer projetos, é como com o aprendizado, cada um tem suas próprias maneiras, o que funciona para um pode não funcionar para outro. O conselho aqui virá da experiência pessoal do Hermian e, em segundo lugar, a visão do SMR. Embora estejamos falando principalmente sobre projetos de programação, um projeto pode ser qualquer coisa, na verdade, o que dizemos se aplica também a fazer um CD de música ou escrever um livro. Lá vamos nós:
- Mantenha tudo livre, SMR, bem projetado e não comercial. Minimize dependências, dependências do seu projeto são a linguagem de programação que você usa, bibliotecas para formatos que você usa, ativos de terceiros que você usa, demandas mínimas de hardware de um computador que pode lidar com o projeto. Torne-o agnóstico de ferramentas, seu projeto de programação não deve ser um projeto para seu IDE de programação, seu livro não deve ser escrito diretamente em LaTeX, em vez disso, use Markdown, o que permitirá que você compile para LaTeX como um dos muitos formatos de destino, sua música não deve ser um projeto para sua DAW. Pense com seu cérebro.
- Prefira projetos de um homem a projetos de muitos homens, ou mulheres, ou trans. Em primeiro lugar, os projetos SMR devem ser simples o suficiente para serem gerenciáveis por um único homem, o que tem vantagens de garantir uma visão artística coerente sem qualquer compromisso, simplicidade legal, com novo licenciamento, garantir que o projeto possa realmente ser controlado por um único homem, verdadeira liberdade, e também, muito importante, o custo da colaboração. Várias pessoas em um projeto, mesmo apenas duas introduzem muitos inconvenientes, problemas e atritos, como o da comunicação, cada pensamento tem que ser explicado, colocado em palavras para os outros e eles ainda podem não entender completamente, ferramentas de comunicação terão que ser configuradas e mantidas, resolver conflitos de edição, várias pessoas trabalhando na mesma coisa ao mesmo tempo, tomar decisões, desacordos, argumentos, códigos de conduta e besteiras semelhantes. O SMR ama a colaboração, mas principalmente a frouxa, fazer coisas maiores a partir de coisas menores que são feitas por só uma pessoa. Mas projetos com mais pessoas são legais, como wikis.
- Não seja ambicioso, especialmente com os primeiros projetos. Isso é extremamente importante e você tem que perceber que mesmo que você pense que será fácil, não será, um projeto sempre será ao menos 20 vezes mais difícil do que estima, mesmo que você já tenha experiência em estimar a dificuldade do projeto. Fazer um jogo não é apenas programá-lo, o que significa depurar, refatorar, escrever testes, depurar testes, organizar repositórios, projetar APIs e estudar bibliotecas, você também terá que documentá-lo, testá-lo, depurá-lo, otimizá-lo, empacotá-lo, fazer um site para ele e um bilhão de outras coisas. Se você decidir fazer um jogo como GTA, mas ainda não tiver feito ao menos 10 jogos, você vai falhar, será um desastre e um tempo completamente perdido. A menos que você já tenha feito uns 10 projetos, escolha coisas muito simples como Tetris clone ou algo assim. Lembre-se, o objetivo do seu primeiro projeto não é a coisa em questão, mas sim aprender a fazer um projeto e finalizá-lo.
- Termine a porra do projeto. Um projeto inacabado só vai desperdiçar seu tempo, vai te deixar enojado, quebrado, deprimido e derrotado, não servirá para ninguém, você vai se sentir um lixo. Para isso é importante escolher algo simples, se você terminar a coisa, você vai ficar feliz independentemente de quão simples é, você vai ficar ansioso para fazer mais coisas, as pessoas vão poder usar seu projeto, elas vão te agradecer por isso, o que vai te deixar ainda mais feliz e assim por diante. Mesmo que seja um maldito caça-minas, você fez seu próprio jogo agora, ele traz felicidade para as pessoas, você pode dar uma olhada nele toda vez que estiver se sentindo para baixo e ficar um pouco mais feliz. Por outro lado, se seu projeto ainda acabar falhando, não fique muito deprimido e tente tirar o melhor dele , não é o fim do mundo, você adquiriu alguma experiência e ainda pode tentar reutilizar partes do projeto fracassado em outro lugar, apenas tente extrair o máximo de bem.
- Faça pausas longas, aproveite o fato de que isso não é um trabalho, quando você ficar farto do seu projeto, faça uma pausa. Se você tem outros projetos, você pode pular para outro, mas se você estiver simplesmente cansado no geral, tire férias completas. Em uma semana, mês ou ano você começará a sentir a necessidade de voltar a isso e quando você fizer isso, é um sinal de que você estará gostando de fazê-lo novamente, é muito provável que você tenha um período de produtividade, melhor dizendo, diversão e inspiração. Quando você ficar preso ou estiver diante de uma decisão importante, fazer uma pausa é muito aconselhável, você precisa de uma mente fresca e mesmo se você tomar uma decisão, tire mais alguns dias para ver se você ainda acha que está bom depois de algum tempo.
- { Seja preguiçoso, evite a produtividade, seu projeto é seu filho, não adianta costura-lo de forma rápida como o monstro do Dr. Frankenstein ~Lady C }
- Tenha vários projetos em andamento. Isso é bom por vários motivos, evita o esgotamento de um único projeto, se um projeto se torna chato, mostra que não leva a lugar nenhum ou simplesmente se cansa dele, você vai pra outro. Mesmo se ele falhar completamente e você o excluir, você ainda tem muitos outros filhos, não será um desastre. Você tem um período em que quer programar, então há um projeto de programação esperando por você, outras vezes você sente que quer fazer música, e há o projeto que precisa de música, pronta para você. Então isso também o estimula de diferentes maneiras.
- Faça tudo sozinho e continue trocando de tarefas. Isso é semelhante ao outro ponto sobre ter vários projetos, apenas dentro de um único projeto. Seja seu próprio programador, designer gráfico, músico, testador e escritor, ao menos o máximo possível. Isso não apenas ajuda você a se tornar um generalista independente e não capitalista, mas previne o esgotamento por fazer a mesma atividade repetidamente.
- Publique tudo imediatamente, não espere até que o projeto esteja polido, isso nunca termina bem. Apenas tenha tudo público o tempo todo, não guarde segredos, torne público mesmo que seja bugado, uma merda, vergonhoso, perigoso ou o que for. Isso não significa vá promover seu jogo bugado e inacabado, mas tenha seu repositório git de trabalho em andamento público. Isso não é capitalismo em que você trabalha em segredo e então envia um produto". Apenas faça arte e deixe qualquer um assistir você, dar feedback, conselhos e assim por diante, livre-se da vergonha, não deixe que outros percam tempo fazendo o que você já está fazendo, não deixe o perfeccionismo paralisar você para que nunca lance sua arte.
- Se você é ambicioso, separe a coisa em vários projetos menos ambiciosos. Este é apenas um bom design, você não deve fazer um programa monolítico enorme, mas sim várias coisas simples das quais é fácil fazer a coisa grande. Isso alcança várias coisa, você terá vários projetos paralelos, conforme aconselhado acima, e também se você não terminar a peça grandiosa, você provavelmente ainda terminará pelo menos algumas partes dela que serão úteis por si só. Se você realmente quer fazer aquele clone do GTA, e tem ao menos 20 anos de experiência para que você possapensar sobre isso, em vez disso, faça vários projetos, como um renderizador 3D, motor de física ou um pacote de modelos 3D de carros. Quando todos projetos estiverem prontos, você pode tentar mesclá-los na obra-prima.
- Seria legal não é uma boa motivação para um projeto maior. Você não pode começar uma coisa grande apenas por tédio. Terminar algo maior será doloroso, você passará por noites sem dormir, períodos de desespero, dores de cabeça e esgotamentos, sacrificará a vida social para caçar bugs e reescrever códigos ruins. Para continuar passando por isso, não basta saber que o resultado será bom, eu acho. Você deve sentir que é absolutamente necessário fazer a coisa, você tem que pensar que o mundo precisa de você para fazê-la, só então você continuará se torturando para chegar ao fim. Então escolha com sabedoria.
- Antes de fazer uma coisa grande do tipo X, faça uma coisa pequena do tipo X ou, como já foi dito, planeje jogar uma fora. Isso quer dizer que você não pode fazer um bom jogo se for o primeiro jogo que você está fazendo, então é melhor fazer seu primeiro jogo pequeno sabendo que ele vai ser uma porcaria do que fazer um jogo grande que seria uma porcaria. A primeira coisa é apenas pela experiência. Você não pode se preparar para criar um sistema operacional apenas lendo um livro. Você precisa criar um para realmente compreender do que se trata, para ter uma visão geral e planejá-lo adequadamente.
- Não comece projetos espontaneamente, sem pressa, comece com coisas pensadas. Como um ser criativo, você terá centenas e centenas de ideias incríveis, não pense que é um gênio, isso é comum para muitas pessoas, até mesmo normies têm muitas ideias para grandes jogos, aplicativos e o que for, então não fique muito animado, é importante que você julgue cuidadosamente o que fazer e o que deixar para depois, planejar e realmente fazer a coisa é a parte real que o distinguirá do normie. Anote suas ideias incríveis se precisar, mas não pule em nenhuma nova grande ideia que apareça, sempre deixe qualquer ideia parada por pelo menos meio ano. É tentador começar coisas novas, mas tenha autocontrole, ou então você acabará como o cachorro que começa a perseguir qualquer novo cheiro que pega e ficará apenas correndo caoticamente sem nenhum objetivo, fazendo projetos não planejados que falharão todas as vezes. Se uma ideia merece seu tempo valioso, ela tem que passar pelo grande filtro do tempo, se ela sobreviver na sua cabeça depois de alguns meses, em toda a avalanche de ideias novas e novas, você sabe que pode realmente valer a pena tentar. Você também tem que ter um bom plano para qualquer projeto que começar e esse planejamento requer muito pensar à frente, você só deve começar a escrever código quando tiver todo o projeto na sua cabeça. Esse planejamento não pode ser apressado, você não pode planejá-lo em um fim de semana, isso não é capitalismo onde as coisas são feitas conforme o cronograma, isso é arte que precisa de seu tempo, deve esperar por inspiração, pequenas melhorias e repensar ao longo do tempo que está na sua cabeça.
- Saia da sua sessão com algo agradável para ser feito em seguida, isso fará com que você anseie por voltar a trabalhar no projeto da próxima vez. Se estiver fazendo algo doloroso, como estar no meio de um horror de depuração, tente terminá-lo, e quando houver algo agradável a seguir no TODO, como criar níveis de jogo ou testar o jogo, deixe para a próxima vez.
- Comece pequeno e humilde, se for para ser grande, se tornará naturalmente, concentre-se na coisa que você está fazendo, não na promoção ou gerenciamento. Alguns idiotas veem Steve Jewbs e pensam "eu serei um grande lider de projeto", eles pegam alguma ideia de merda com a qual nem se importam muito e então começam a capitalistar, compram um terno, máquina de café, domínios da web, criam um kickstarter, fazem um vídeo no Jewtube, conta no Twitter, logotipos, criam sites promocionais, escrevem manifestos e outras merdas. Manifestos são legais, mas só prometa a si mesmo escrevê-los quando o projeto estiver pronto e valer alguma coisa. Eles incentivam um milhão de pessoas a embarcarem, prometendo fazer uma coisa enorme, bem-sucedida e revolucionária, enquanto têm 3 LOC escritas até agora. Agora você não tem nada e a pressão do mundo inteiro para fazer algo grande. Este é o melhor caminho para o inferno. Na melhor das hipóteses, você se tornará um escravo do projeto, odiará e, de alguma forma, conseguirá fazer uma versão feia e apressada dele porque não previu quais obstáculos apareceriam, mas que ainda teria que resolver rápido pra caralho porque tudo está caindo na sua cabeça e as pessoas estão cagando em você, com raiva porque você já está dois anos atrasado e já está esgotado, deprimido e sem orçamento. Só não seja um capitalista covarde, faça uma coisinha legal no seu porão e deixe seu valor aparecer.
- Crie um hábito/rotina para fazer seu projeto. Como tudo que requer muito investimento de tempo e dedicação, exercício e aprendizado de idiomas, é importante criar uma rotina, a menos que você esteja dando um tempo, para realmente fazer algo significativo. Um polimento pequeno, espontâneo e irregular do seu projeto também é ótimo, mas para realmente fazer a maior parte você só precisa de um hábito. Pessoas costumam dizer que são preguiçosas e não conseguem fazer isso, todo mundo é preguiçoso e todo mundo consegue fazer isso. Comece com coisas triviais, apenas para criar o hábito, ou seja, no começo é literalmente o suficiente escrever 1 LOC todos os dias. No começo você não está realmente fazendo muito trabalho significativo, você está apenas configurando seu hábito. Qualquer um pode escrever 1 linha de código por dia, apenas diga a si mesmo para fazer isso, escreva 1 L e então, se quiser, está pronto. Você verá que no segundo ou terceiro dia estará escrevendo 10 linhas e em uma semana provavelmente estará ansioso por isso, logo terá o outro problema, fazer-se parar.
- Mini recompensas psicológicas são bons para mantê-lo em movimento. É bom dividir o projeto em alguns marcos para que você veja seu progresso, é muito bom se cada marco adicionar algo visível, algo que você pode "tocar, como um jogo, apenas o momento em que você se torna capaz de se mover fisicamente pelo nível sempre parece muito gratificante, mesmo que você já tenha feito isso muitas vezes antes, é sempre um pouco surpreendente a alegria que um recurso simples pode trazer. Explore isso para aumentar a alegria de fazer sua arte.
- Não espere ou almeje nenhuma recompensa além do projeto concluído, não espere epersiga dinheiro, fama, gratidão, não espere que alguém perceba ou agradeça pelo projeto. Você está fazendo isso apenas porque quer que algo que ainda não existe exista e essa é a única recompensa que você pode e deve esperar. Isso torna seu projeto altruísta, segundo, o torna puro, incorruptível, dedicado apenas ao seu objetivo e nada mais, terceiro, poupa você do sofrimento de expectativas frustradas.
- Quando estiver preso, afaste-se dele por um longo tempo. Como dizem antes de tomar decisões, durma sobre isso, talvez até muitas vezes, há algo em deixar sua mente descansar por um tempo que faz seu subconsciente resolver as coisas, ou pelo menos fazer você compreender melhor o problema, vê-lo de um ângulo diferente. Quando estiver preso, faça outra coisa, por isso que é preferível ter vários projetos, mas geralmente é bom apenas fazer uma pausa e fazer algo meditativo como dar uma caminhada, fazer algo de madeira, praticar algum esporte, dormir, ouvir música e assim por diante. Pare de tentar resolver o problema que você teve e apenas relaxe por alguns dias, talvez semanas. É bem possível que a inspiração venha de algum lugar, o ar fresco o ajudará a pensar e talvez uma solução lhe ocorra durante esse tempo espontaneamente, mas mesmo que isso não aconteça, quando você retornar ao projeto, estará muito revigorado, descansado, seus pensamentos serão classificados, coisas sem importância filtradas, é como se você tivesse um homem diferente na tarefa que ajudará o eu desesperado do passado. Você volta e imediatamente identifica uma solução simples e elegante.
- Pare de falar com todo mundo. Se você quer fazer algo, tem que sair de todas as mídias sociais, destruir seu celular e remover todos os programas de bate-papo. Em momentos de pausas, você pode ligá-los novamente, mas se você estiver tentando fazer algo enquanto há pessoas por perto, você não fará nada, é distração. Coloque-se em uma situação em que você está preso em uma ilha deserta e não há mais nada para fazer, exceto seu projeto, caso contrário, você continuará falando constantemente com pessoas ou ao menos verificando o que elas estão falando e isso vai interromper constantemente seu pensamento.
Impulsionado por nada. Todo conteúdo é disponível sob CC0 1.0 domínio público. Envie comentários e correções para Mr. Unix em victor_hermian@disroot.org.