Como é que ainda há tanto trabalho de programação? [fechadas]


28

Eu me pergunto por que os trabalhos de programação ainda não "secaram" por causa da evolução do software. Por exemplo, eu próprio sou desenvolvedor, o que significa que me importo com software (quero dizer, não sou do tipo de pessoal que precisa de um computador principalmente para navegar na Internet), e ainda assim não me importaria se nunca recebo mais atualizações na minha máquina Ubuntu .

Acho que ele fornece tudo o que preciso e, embora as atualizações ofereçam várias correções / melhorias, eu não me importaria de usá-lo com seu estado atual pelo resto da minha vida. Por dois anos de uso do Ubuntu, nunca encontrei um problema / bug sério.

Outro exemplo é o Windows. Quase metade dos usuários ainda usa o Windows XP, que é praticamente antigo, mas o considera satisfatório para todas as suas necessidades (e eu concordo com eles).

Eu poderia dar muitos outros exemplos, mas agora você está entendendo meu ponto e minha pergunta. Enquanto novas "tendências" aparecem o tempo todo (como um novo sistema operacional móvel), que são executadas em novas plataformas e exigem algum trabalho de desenvolvimento novo, ainda assim a maior parte do esforço de software é direcionada para o que considero "projetos concluídos" ou pelo menos um estado de um projeto que seja suficiente para ser considerado concluído.

Você tem uma explicação?


4
Eu costumava pensar que o Facebook e os telefones celulares eram inúteis :) e ainda o faço. A propósito, acho que a razão é que os humanos se entediam facilmente. Você, aliás, não é humano.
Job

9
Por que os usuários do XP não usam 286s executando o DOS?
Edward Strange

3
@ Eddy Louco Há uma GRANDE diferença entre um 286 e um dual / quad core a 2,5 GHz. Essa diferença é o estado "concluído". A diferença entre um núcleo quádruplo de 2,5 e um núcleo de 32 a 6 GHz é irrelevante. Você não precisa (não terá um uso prático) de um carro que pode ir até aos 2000 mph
jd_505

4
Não, não importa se o seu carro pode ir até 1000,2000 ou mais mph, você ainda não vai encontrar uma maneira (a estrada) de utilizar plenamente o seu potencial
jd_505

4
@ jd_505, só porque você não pode imaginar, isso não significa que é inútil.

Respostas:


33

Existem bilhões de problemas inacabados no mundo. Sem mencionar a ganância humana, que precisa de novas ferramentas para saciar sua fantasia todos os dias.

Se você realmente acha que não há problemas pendentes, tente resolver alguns destes:

  1. Software para ajudar as pessoas a se comunicarem em grande escala quando governos hostis desligam as redes de telecomunicações.
  2. Software para sistema de distribuição de alimentos e outros itens essenciais que, inerentemente, obstrui vazamentos de sistema em países como Índia e Uganda .
  3. Software que faz com que as pessoas diferentemente desfrutem de uma qualidade de vida muito melhor.

Espero que isso lhe dê alguma perspectiva.


1
O ponto 1 só pode ser resolvido com hardware.
Thomas Stock

2
O software pode ser de alguma ajuda para os "deficientes", mas não muito, receio. Sou sobrevivente da poliomielite, e a principal coisa que o software fez por mim é me dar uma ocupação que posso fazer em casa.
19411 Mike Dunlavey

1
@ Thomas: Sem ativar o software, o silício não faz diferença. Você já possui o hardware aqui, mas o software precisa de muito trabalho depois de escolher a quem deve servir.
Fanatic23

@ Mike: conversão de texto em fala para deficientes visuais?
Fanatic23

26

Como um contra-exemplo, pegue a floricultura na rua. Sua experiência com software pode ser algo como:

  • Instale algum software de contabilidade - muito melhor do que livros de papel
  • Configurar email da empresa
  • Coloque um pequeno site de brochura, já que todo mundo está
  • Adicionar um sistema POS
  • Adicione um formulário simples de pedido do cliente ao site
  • Compre uma ferramenta simples de CRM para gerenciar clientes corporativos
  • Integre-se às redes de vendas nacionais e globais para aceitar vendas que não são originárias do seu site
  • Integrar email da empresa e CRM
  • Adicione ferramentas de pedidos especiais para repetir clientes on-line
  • Anuncie online para motoristas de entrega
  • Obtenha flores mais baratas, concordando em usar um distribuidor que solicita software
  • Obtenha benefícios de funcionários mais baratos gerenciando benefícios on-line
  • Solicite as permissões governamentais necessárias on-line
  • Faça verificações simples de antecedentes para novos funcionários com ferramentas de software
  • Peça a um consultor que construa uma ponte entre o sistema de inventário e o distribuidor para que os pedidos semanais sejam feitos automaticamente
  • Pagar impostos eletronicamente
  • Adicione dispositivos GPS aos seus veículos de entrega que podem ser rastreados no escritório.
  • Use o software de mapeamento / roteamento para projetar rotas ideais para entrega
  • Navegue pelos dados do setor para garantir o desempenho esperado
  • Adicione o rastreamento de pacotes às ferramentas do cliente on-line
  • Amplie sua presença na Web usando redes sociais e sites de classificação
  • Ofereça um pequeno aplicativo móvel gratuito para solicitar e verificar o status do pedido (principalmente para grandes clientes).
  • Gerencie programas de recompensas para seus clientes mais fiéis com software
  • Integre contabilidade, estoque, pedidos de clientes, rastreamento de pedidos e pedidos de distribuidores
  • Adquira novos clientes com as promoções do Groupon
  • Atualize todos esses sistemas quando necessário

Para um negócio tão simples, isso é muita tecnologia e nada disso parece ridículo hoje em dia (duvido que a pequena floricultura da rua esteja fazendo tudo isso, mas tenho certeza de que ficaríamos surpresos). Alguém tem que construir todo esse software.

Duvido que a loja de flores pudesse ter previsto que eles precisariam de tanta tecnologia, assim como não podemos prever a tecnologia que estará disponível amanhã.


12

Por que as empresas de automóveis buscam melhorar seu design quando qualquer veículo da década passada é suficiente? Por que uma cafeteria procuraria novos assados ​​quando a mistura atual já é satisfatória? Por que um estilista cria roupas novas quando tudo o que estamos vestindo é mais do que suficiente?

Embora possa ser bom o suficiente , não há melhor - apenas melhor

E quem se orgulha de seu trabalho está sempre procurando melhorar, afiar as ferramentas, buscar a perfeição. É isso que impulsiona o progresso científico, é o que inspira os artistas, é o que motiva os empreendedores. Não é melhor, apenas melhor.


1
Concordo com a parte da melhoria, mas você tem uma explicação sobre por que a demanda está realmente aumentando (são necessárias mais pessoas), considerando que já estamos no estado "bom" (que é a maior% do produto) e precisamos apenas de algumas melhorias? É mais trabalhoso criar um design de carro em comparação com apenas alguns ajustes entre os modelos de 2008 e 2009. Poderia ser por causa do código legado, porque quanto maiores eles são mais difíceis de atualizar / manter? :)
jd_505

@jd Estávamos em bom estado antes do Facebook? Antes do Google? Sempre há algo novo que pode ser criado. E você está certo de que também é necessária muita manutenção para o software, embora eu veja esses trabalhos como um retorno temporário quando objetivos de carreira mais ambiciosos são atingidos.
Chrisaycock

11

As pessoas pensam em coisas novas relacionadas aos computadores, e o hardware continua evoluindo para permitir que você faça coisas que não podia fazer antes.

É difícil saber por onde começar, mas vamos ver a TV como um exemplo.

Em outubro de 1965, se você queria assistir "I Dream of Jeannie", tinha que ligar a estação certa, na hora certa. Não havia outras opções: você não podia gravá-lo, comprá-lo ou qualquer coisa. E se você perdeu, bem, que pena. Talvez em alguns anos, eles o distribuam e (se você tiver sorte) você poderá assistir ao programa que perdeu em algum momento de 1970.

Ah, e em 1965, ninguém tinha um computador, exceto corporações e universidades, eles eram geralmente pelo menos tão grandes quanto um carro pequeno, e envolver um computador na reprodução de TV era puramente uma noção de ficção científica.

Em 1996, você podia comprar episódios de "I Dream of Jeannie" no VHS, que poderiam ser reproduzidos em um reprodutor de VHS que pode ter uma CPU incorporada e uma TV CRT que também pode ter uma CPU incorporada, que é claro que alguém precisava programa . Havia dispositivos que você poderia usar para capturar a saída de vídeo do seu VHS no seu computador, mas a potência do hardware no nível do consumidor naquela época era tão baixa que era possível absorver uma grande parte de um disco rígido de última geração com um episódio e você só pode reproduzi-lo em uma pequena janela na tela.

Em 2006, eles começaram a lançar episódios "I Dream of Jeannie" em DVD. Quando você os reproduziu, o seu DVD player e a TV de tela plana exigiram uma CPU incorporada, que alguém tinha que programar . Ou, é claro, você poderia reproduzir o DVD no seu computador, que alguém tinha que programar para fazer isso.

Logo após o lançamento do DVD, as pessoas começaram a copiar os DVDs usando um software que alguém tinha que programar . E então eles editaram os rasgos em clipes (usando um software de edição de vídeo não linear que alguém tinha que programar ) e usaram seus navegadores (que alguém tinha que programar ) para enviar seus vídeos para o YouTube (que alguém tinha que programar ) para outras pessoas para visualizar nos plug-ins do navegador de reprodução de vídeo (que alguém tinha que programar ).

Agora, você nem precisa copiar os DVDs! Você pode usar o iTunes (que alguém teve que programar ) e acessar a iTunes Store (que alguém teve que programar ) e comprar e baixar 140 episódios diferentes de "I Dream of Jeannie", que você pode reproduzir usando o software em seu computador ( que alguém tinha que programar )

Embora eu não tenha verificado isso, suspeito fortemente que você também pode pegar as versões do iTunes de "I Dream of Jeannie" e reproduzi-las no seu iPhone ou iPod Touch, que, é claro ... alguém tinha que programar .

E eu não tenho absolutamente nenhuma idéia de onde "I Dream of Jeannie" vai aparecer a seguir. Talvez no meu relógio de pulso, ou em algum tipo de tecido vestível, ou projetado nas lentes dos meus óculos. Mas onde quer que aconteça, alguém terá que programá-lo .

Aplicativos do Office? Meh. Eu ficaria perfeitamente feliz ainda usando o Word 5.1 do início dos anos 90.

Mas tudo o resto? Estou programando há 40 anos e espero que o mercado de trabalho de programação continue crescendo e crescendo.


6

Porque nossa fome sem fim de porcaria inútil que já temos deve ser saciada.

Além disso, sem a indústria de software direcionando a necessidade de computadores cada vez mais rápidos, não haveria necessidade de fazer atualizações de hardware. ENTÃO onde estaríamos? O que todas as cidades de reciclagem de lixo eletrônico na China fazem? As montanhas de lixo tóxico logo se transformariam em colinas. Simplesmente não podemos ter isso.


"indústria de software direcionando a necessidade de computadores cada vez mais rápidos" - indústria de software? Erm não, a demanda é de pessoas
Rocklan

5

O Ubuntu e o Windows XP ainda são suficientes porque os sistemas operacionais e o software de desktop em geral se tornaram menos importantes. Tantas coisas, coisas que não gostaríamos de perder, acontecem na web, como este site, Facebook e YouTube . É aí que o novo software é construído. Muitas coisas interessantes acontecem em smartphones e tablets, outro domínio em que muita programação acontece.


2

Na sua postagem, você menciona dois sistemas operacionais (Ubuntu e Windows XP), afirmando que seus usuários estão predominantemente felizes com a forma atual do sistema operacional.

Ubuntu e Windows XP são o resultado da culminação de milhares de idéias.

Muitas das idéias (seja colocar o Menu Iniciar no canto inferior esquerdo da tela ou criar o Microsoft Excel) foram desenvolvidas com tanta profundidade. Sim, é verdade que eles podem ter atingido o estado satisfatório, mas pense no que nosso software atual e nossas idéias de engenharia de software levarão no futuro.

Nossas necessidades e desejos estão evoluindo com a tecnologia. Queremos utilizar a tecnologia em todo o seu potencial . Ubuntu e Windows Xp são apenas um mero trampolim (ou marco) em um processo contínuo.


2

Para aplicativos e sistemas que as pessoas realmente usam:

Software gera mais software.

Na forma de:

  • Novas características
  • Correções de bugs
  • Negócios e aplicativos concorrentes

2

Os desenvolvedores de aplicativos móveis e sociais parecem estar em alta demanda. As startups estão por todo o lado e, para Ubuntu e SO, sempre há bugs - nada está completo. Contanto que alguém tenha uma idéia, precisará de um desenvolvedor.


2
Acho que a porcentagem de desenvolvedores que trabalham em aplicativos móveis / sociais é bastante pequena. A maioria dos desenvolvedores, em escala global, trabalha para grandes empresas ou pequenas empresas "locais" dedicadas a um determinado produto relacionado à situação comercial de seu país.
Jd_505

1

Há 18 anos, eu estava sentado na frente do novo computador 286 da minha escola na biblioteca usando o Windows 3.1. Isso foi legal! Muito melhor do que os antigos micros da BBC ... Mas eu estava completamente alheio ao que eu estaria sentado. Estou na frente de 18 anos a partir de então, quem teria alguma pista sobre o que estaríamos usando hoje? Eu nem acho que sou nova como era a Internet naquela época ...

O que quero dizer é que acho que muitos de nós não têm a visão ou a imaginação para adivinhar como serão os computadores daqui a 18 anos. Os computadores estão evoluindo e melhorando o tempo todo, necessitando de desenvolvimento constante para que isso aconteça.

No momento em que você acha que está feliz com o Ubuntu, você ainda o usará em 10 ou 20 anos quando todo mundo estiver usando seu novo super Hokey Cokey 5000, ou como ele será chamado?


1

Os problemas podem ter soluções, mas sempre há espaço para otimizar as soluções. Quanto mais a solução é usada, maior a diferença que até uma pequena otimização pode fazer.

Isso pode parecer um ponto abstrato. Mas não é. Por exemplo um dos meus skillsets é Teste A / B . Por experiência, posso dizer que um teste A / B bem-sucedido raramente introduz novas funcionalidades importantes. Mas uma pequena alteração no texto pode fazer com que 10% a mais de pessoas se inscrevam no seu site, o que pode significar milhões de dólares em receita adicional. É uma diferença tão pequena que poucos jamais notarão. No entanto, é uma melhoria significativa, e a perspectiva de possivelmente encontrá-la pagará muitos salários.

Além disso, as empresas estão constantemente mudando. Um número surpreendente de mudanças exige mudanças na forma como elas operam internamente. Também com o tempo, eles identificam ineficiências internas que as melhores ferramentas aliviariam. Essa rotatividade e otimização constantes são um trabalho real que requer pessoas reais para fazê-lo. Muito desse trabalho precisa ser feito por pessoas que podem programar. (Na verdade, é aqui que a maioria dos programadores trabalha, fazendo coisas internas nas empresas.)

Além disso, a tendência é que, com o tempo, tenha se tornado mais fácil para os programadores fazer o nosso trabalho. Quanto mais fácil é fazer o nosso trabalho, mais tipos de coisas existem que faz sentido que os programadores escrevam programas para fazer. E quanto mais programadores nos encontrarmos precisando. Por quanto tempo essa tendência pode ser mantida? Eu não sei. Mas isso acontece desde o final dos anos 50 e não mostra sinais de desaceleração.


1

A quantidade de informações lá fora cresce exponencialmente. Você pode esperar ferramentas para coletá-lo e organizá-lo, agora pode esperar que as ferramentas o filtrem para suas necessidades específicas.

O software segue tendências e necessidades sociais e, à medida que as informações estão se tornando cada vez mais fator social e industrial, a demanda não diminui. As formas de informação são inúmeras, seus usos se expandem constantemente, o desenvolvimento de software está longe de ser extinto.


1

Você pode interpretar a finalidade dos computadores (e os aplicativos executados neles) em algo tão restrito quanto a otimização de processos.
Ao fazer isso, você verá que há muito espaço para melhorias e sempre haverá.

Além disso, a grande maioria de todos os aplicativos de computador é horrível quando se trata de usabilidade, confiabilidade, recursos e desempenho (ou pelo menos em várias escalas). Embora existam poucas aplicações que estão melhorando lentamente em qualidade, a média está despencando a um ritmo alarmante.
Outra razão pela qual ainda há tanto trabalho de programação é o design deficiente e a implementação ruim . Jeff Atwood fez um post sobre isso que você pode achar interessante ler.


1

O software apenas nos permite expressar soluções para problemas do mundo real. Dado que sempre haverá novos problemas a serem resolvidos, sempre haverá a necessidade de novos softwares e, portanto, sempre haverá trabalho para os desenvolvedores.


1

Para mim, não terminamos até que possamos fazer uma dessas .

Mas, mais seriamente, existem muitos problemas em andamento na ciência da computação que ainda não foram resolvidos ou não estão nem perto o suficiente para serem "bons". Essas coisas incluem reconhecimento de imagem, processamento de linguagem natural, reconhecimento de fala e muitos outros problemas do tipo "reconhecimento de padrões difusos" em que os humanos geralmente se destacam, mas as máquinas falham mal. O estado da IA ​​é bastante patético, comparado às ambições da década de 1960. Em suma, ainda há muito trabalho a ser feito e muito espaço para melhorias.

A propósito, até o Ubuntu poderia usar alguma melhoria. O suporte ao flash em 64 bits é uma merda.


1

Acho que vejo isso em termos evolutivos. Se a sociedade fosse estática, eventualmente descobriríamos como atender às nossas reais necessidades, e isso seria bom.

O que impulsiona a evolução são desafios, muitas vezes desafios muito ruins, como a natureza ou as pessoas más, decidindo que querem pegar o que temos e / ou nos matar. Temos que pensar em novas maneiras de superar isso. Isso gera uma demanda por novas tecnologias, incluindo software. O desejo de entretenimento também cria uma demanda insaciável, testemunha tudo, desde o circo romano até a mídia moderna, mas isso é apenas por diversão. Desafios reais vêm de coisas como fome e perigo.


1

O problema do software é que ele continuará evoluindo com e além do hardware em que opera. Atualmente, estamos apenas escrevendo software pré-programado para um determinado nível e isso ainda levará muitos anos antes que os seres humanos na maioria escrevessem software "AI".

Quando você olha para algo como o Google em comparação com algo como o software usado para operar uma interface de tela sensível ao toque em um veículo, você pode ver muitas lacunas na tecnologia.

Até termos um software capaz de se expandir e se desenvolver em um mundo físico e inteligente em constante mudança. Teremos muito trabalho a fazer.

Editado .. Quando surge uma nova tecnologia ou conceito, muitos softwares existentes ficam instantaneamente desatualizados e a maioria desse gênero precisa ser recriada / publicada. Digamos que em dois anos realizamos a maior parte do uso de um computador pela interface mente / pensamento.

Mesmo que você possa criar um plugin simples para a maioria dos sistemas operacionais, converter um pensamento / comando em operações de teclado / mouse. Isso ainda é limitado e é uma maneira ruim de abordá-lo. A tecnologia sempre avançará e não temos idéia do que estará disponível em 12 meses pouco a 10 anos.

Nem vai começar em computadores quânticos


-1

Sempre existem novos aplicativos, novos problemas a serem resolvidos e novas plataformas.


1
Estou perguntando isso porque, a meu ver, é exatamente o oposto, todos os problemas (que um usuário pode precisar resolver usando um computador) já estão resolvidos. Novos aplicativos raramente são introduzidos (pelo menos aplicativos bem-sucedidos, por exemplo, MS Office / OpenOffice ainda são as melhores soluções para gerenciar o trabalho "de escritório"). Novas plataformas são introduzidas o tempo todo, mas capturam uma pequena% do total de desenvolvedores em todo o mundo.
Jd_505

3
Muitos novos produtos de software não resolvem problemas em si (Facebook, Farmville, Twitter, etc.).
James McLeod

3
E os computadores têm usos que vão muito além do consumidor doméstico (industrial, comercial, médico, etc.).
James McLeod

Eu não estou falando apenas para o consumidor doméstico, por exemplo, o software em um aeroporto tem o que precisa (obviamente, os aviões não estão travando o dia inteiro), e ele existe por muitos anos. De qualquer forma, como estou fazendo essa pergunta, não tenho certeza absoluta de que estou certo, talvez esteja errado.
Jd_505

1
@ jd_505, o simples fato de os aviões não estarem caindo do céu dificilmente significa que nosso sistema de controle de tráfego aéreo e aviônico está fazendo tudo o que é necessário. Isso é apenas evitar a falha mais grosseira possível. Considere: os passageiros ficaram presos em aviões no solo por quase 24 horas, porque o software de agendamento não pode levar imediatamente em consideração o efeito das tempestades nas capacidades dos aeroportos. Nos dias 11 e 11, o ATC e os militares perderam completamente o controle de um dos aviões seqüestrados porque a única maneira de compartilhar informações era por pessoas gritando umas com as outras por teleconferências.
Charles E. Grant
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.