Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

fLaSh_PT

Programador, o que é dificil?

Mensagens Recomendadas

fLaSh_PT

Boas a todos!

Lembrei me de criar este tópico, para tentar perceber o que é mais difícil para o programador...

No meu caso, o mais difícil é perceber o pretendido, isto porque apenas trabalho com meu o pratão.. e ele tem muito pouco tempo disponível para me explicar bem os projectos..

E com vocês, qual o maior problema?


Making the impossible possible and pwing the world on db at a time.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baderous

A falta de documentação.

Esse problema que indicaste é um problema que existe em todos os projectos de software, daí existirem técnicas para levantamento e análise de requisitos e para modelação do negócio e do produto.

Já para a falta de documentação não há técnica que safe um gajo de ter de ler código fonte e andar a vasculhar por mailing lists ou postar em fóruns de bibliotecas onde o único gajo que tira dúvidas é o gajo que criou a biblioteca.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Da minha experiência as maiores dificuldades são mesmo a compreensão do que nos é pedido e a falta de documentação (tanto do que nos é pedido como do que já existe à data).

Depois disso são questões técnicas coisas "maradas" tipo, porque raio a query não termina ou porque raio o processo xpto estoira ou criar um algoritmo/solução para algo que é complexo.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
KiNgPiTo

Perceber o que é pedido. Ás vezes dou por mim a fazer pequenas gestões de assuntos que não percebo minimamente e ter de contactar o cliente por cada pequena coisinha.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Quadrado

Pois é a principal dificuldade é mesmo essa perceber o que nos pedem, afinal de contas o mais complicado é aquilo que poderia parecer o mais fácil... :)


Será? Porquê? O quê?   - Estudar Sempre -

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Metaluim

fazer tudo com um tempo estimado impossível... e a funcionar. aqui inevitalmente entram as horas extraordinárias não pagas

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Metaluim, esse problema também é real. Há já algum tempo que o eliminei usando uma técnica simples: só me responsabilizo pelos tempos que eu estimo, ou seja, se me chega um caramelo a dizer que tenho de fazer X em Y tempo, eu pergunto-lhe logo quem é que estimou isso, quando ele diz a pessoa, eu pergunto-lhe que competências técnicas tem para saber estimar. Por vezes ficam ofendidos (azar o deles), e se o tempo é irreal digo que X não se faz em Y tempo. Tipicamente "esperneiam", ao que eu digo, "eu não consigo fazer X em Y tempo, tu consegues?" a resposta é obviamente não, mas se continuarem a "espernear" remato com "duvido que haja aqui alguém que consiga fazer X em Y tempo, se há, talvez seja melhor dares X a essa pessoa"...

Atenção que para ter uma postura deste tipo é necessário "tomates", entenda-se comprar uma guerra com um superior, dado que a coisa pode dar para o torto. Por vezes temos mesmo de engolir uns sapos e fazer o "esforço", como "carinhosamente" costumam apelidar maus planeamentos.

O meu conselho nestes casos é que "esperneiem" assim que virem que o planeamento é irreal. Digam mesmo que necessitam de Z tempo para fazer a tarefa X ao invés do tempo Y que está planeado. Se a vossa resposta estiver correctamente fundamentada só um "totó" não alterará o planeamento. Podem fundamentar com a complexidade da tarefa, com o facto de ser uma tecnologia ou algo novo que é desconhecido e que é necessário contemplar um período de aprendizagem, ou tão simplesmente com o facto de que todos os planeamentos anteriores falharam na estimativa de tempo e como tal este não se avizinha diferente (esta última tem mais impacto se se perguntar antes ao tipo que fez o planeamento o que é que ele aprendeu com as falhas de planeamento anteriores e o que é que ele fez de diferente com o que aprendeu, dado que tipicamente nunca aprendem grande coisas e nunca fazem nada...).


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Hipnoted

Concordo com tudo o que foi dito e destaco mais um: Ter de mudar, a meio do projecto ou já no final, a lógica de negócio e acrescentar novas funcionalidades.

Às vezes são coisas simples (para o programador), outras vezes são simples na óptica do utilizador mas complicadas para o programador. Se temos uma determinada arquitectura que vai de encontro aos requisitos que nos propuseram às vezes torna-se muito custoso introduzir ou mudar alguns desses requisitos.

Destaco ainda a possibilidade de nos primeiros tempos da profissão ter sempre um programador sénior ao nosso lado. Por muito que sejamos auto-didactas é vital ter uma pessoa ao nosso lado que tenha não sei quantos anos de experiência e pode poupar muito tempo por vezes.


"Nunca discutas com um idiota. Eles arrastam-te até ao seu nível e depois ganham-te em experiência"

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Boas,

Para mim também o mais complicado é ter de mudar o projecto de reunião para reunião, porque as pessoas que pedem as coisas não têm a noção do trabalho que dá "pequenas" alterações.

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

As alterações são sem dúvida outra dor de cabeça, já aqui se queixaram disso várias vezes.

Quanto a isso o "remédio" é colocar um custo a isso. Ou seja, quando alguém diz que quer alterar X para Y, se a coisa não for trivial, é dizer logo que é necessário verificar quanto tempo demora a alteração.

No final da reunião, lembram o cliente que lhes vão enviar o novo planeamento com os pedidos de alteração reflectidos.

Os pedidos de alteração acontecem tipicamente devido aos seguintes factores:

1. o cliente não sabe o que quer à partida e vai ajustando à medida que vai andando;

2. o cliente sabe o que quer mas não abriu o jogo todo logo de inicio porque sabe que com pedidos de alteração ad-hoc consegue o que quer porque essas alteração serão gratuitas (para ele claro);

Isto funciona melhor quando há um documento de requisitos onde ficou acordado o que o sistema deve fazer de forma clara. Muitas vezes este documento não existe, ou existe mas é "do faz de conta" porque é um placebo, e então há uma zona cinzenta que é usada pelo cliente como "vocês é que perceberam mal, o que eu pedi não foi X, foi Y".

Eliminem essas zonas cinzentas e haverá muito menos dores de cabeça.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
fLaSh_PT

Gostei dos comentários!

É sempre bom ouvir historias (não tão boas), temos melhor noção da realidade em que o trabalho não é difícil apenas para nós próprios .. ;)

Obrigado


Making the impossible possible and pwing the world on db at a time.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bruno1234

Para mim o dificil é ter colegas que não percebem que não conseguem fazer tarefas de uma semana num dia.

Então fazem fins de semana e trabalham 24 horas por dia.

Com isso habituam mal os gestores de projecto, e quem não faz essas loucuras fica mal visto.


Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
mjamado
Para mim o dificil é ter colegas que não percebem que não conseguem fazer tarefas de uma semana num dia.

Então fazem fins de semana e trabalham 24 horas por dia.

Com isso habituam mal os gestores de projecto, e quem não faz essas loucuras fica mal visto.

Conseguem, pois: trabalham as tais 24 horas, é como se fossem três dias e está o trabalho feito. Se tiveres por aí colegas desses que possas dispensar, manda-me uns poucos, que estamos a precisar.

Para não fazeres noitadas e fins-de-semana, das duas, uma: ou podes dar-te ao luxo de arriscar o emprego, o que hoje em dia é um risco considerável, ou estás num nível de imprescindibilidade à empresa que podes ditar tu as regras do jogo.

Se tens colegas a trabalhar mais do que a conta, não tens nada a apontar aos mesmos. Dum ponto de vista empresarial, eles é que estão bem, tu é que estás a mais. Nada contra. Se eu fosse patrão, também teria em mais consideração os tipos que se esfolam para entregar as coisas em menos tempo do que os não mexem uma palha depois das 17.30. É a videca.

Duma maneira ou de outra, o melhor mesmo é empregar razoabilidade, tal como disse o M6. Acho que, nos anos que já levo disto, nunca entreguei um trabalho no prazo original. E nunca tive quebra de contrato. É a falar que a malta se entende.

Uma dificuldade que ainda não vi discutida, a última voltinha antes da entrega: aparece sempre uma montanha de detalhes; ou é as formatações das datas, ou campos de formulário que deviam ser obrigatórios e não ficaram, uma classe que ficou orfã vá-se lá perceber porquê, uma folha de estilos com estilos a mais, uma ligação à BD cujas credenciais de produção estão inválidas...

Todos os pequenos pormenores que, individualmente, são dez minutos, mas que fazem sempre perder dois ou três dias no final de um projecto.


"Para desenhar um website, não tenho que saber distinguir server-side de client-side" - um membro do fórum que se auto-intitula webdesigner. Temo pelo futuro da web.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
apocsantos

    Boa noite,

    Se tiveres algum disponivel, desses que trabalham as 24h manda pra cá que eu aceito!

      :cheesygrin:Eu contra mim falo... Também já fui assim... Mas encontrei um "software" que é quase um "SO" que me resolveu esse problema de ter a mania de trabalhar as 24h do dia... Chama-se "Namorada 6.0", uma vez instalado, remove os softwares "amigos 1.0, colegas 1.0, e todos os outros softwares com a excepção do trabalho na hora de expediênte".

    Infelizmente quando assume as funções de "SO", remove outros "software necessários ao bom funcionamento, como o "cafézinho Versão "Caneca cheia", o "noitadas na borga", e a "liberdade de opinião" (contraria à dela claro).

    Eu já fui um desses "nabos" que cumpria prazos impossiveis fazia horas de caraças e lixava a cabeça toda para cumprir o que os gestores querem... Agora quer quer, não quer, que arranje quem faça no prazo que ele quer. O dia tem horario de expediênte, e eu tenho vida!

    A maior dificuldade num projecto, pelo menos na minha experiência, tirando a porra da mania dos "prazos curtissimos", é mesmo "agradar a utilizadores e gestores", a isto tira-se as situações de pegar em codigo de outros programadores, que por "amabilidade", se esqueceram de comentár o código, e deixa-lo devidamente formatado e estruturado, e depois um gajo perde horas para apanhar o fio à meada".

Cordiais cumprimentos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

assinatura.jpg

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pedrotuga

Falta de documentação e especificações pobres. A segunda está incluida na primeira.

Havendo documentação em condições tudo se faz de forma bem linear até. Porque é que há-se ser dificil se estiver bem explicado?

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
jpaulino

Então e quando o chefe chega e diz: "Era porreiro era isso fazer ........" e vai-se embora?

Depois começa a perguntar quando está feito, partindo logo do principio que é simples, quando muitas vezes é quase impossível.

Dar ideias é fácil, fazer já nem sempre é assim.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Então e quando o chefe chega e diz: "Era porreiro era isso fazer ........" e vai-se embora?

Depois começa a perguntar quando está feito, partindo logo do principio que é simples, quando muitas vezes é quase impossível.

Dar ideias é fácil, fazer já nem sempre é assim.

A resposta a isso é dada na hora: "sim era muito porreiro, mas infelizmente não há tempo para isso"...


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
apocsantos

    Boa tarde,

    Os chefes e gestores nem sempre têm noção real do trabalho que as coisas dão a fazer, maior parte das vezes manda bitaitos para o ar, e esperam que aconteçam milagres... Os "milagres" fazem-se, mas demora tempo... Sejamos razoáveis. Pior que isso são os "chefes mal habituados" mas isso em grande parte é culpa dos programadores que os habituam mal.

Cordiais cumprimentos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

assinatura.jpg

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

Então e quando o chefe chega e diz: "Era porreiro era isso fazer ........" e vai-se embora?

Depois começa a perguntar quando está feito, partindo logo do principio que é simples, quando muitas vezes é quase impossível.

Dar ideias é fácil, fazer já nem sempre é assim.

Concordo inteiramente contigo, mas infelizmente o mundo dos programadores é um mundo à parte do resto da comunidade, ou seja, Muito trabalho pouco reconhecimento.

Cumprimentos Paulo Siva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Concordo inteiramente contigo, mas infelizmente o mundo dos programadores é um mundo à parte do resto da comunidade, ou seja, Muito trabalho pouco reconhecimento.

Cumprimentos Paulo Siva

Discordo. O "mundo dos programadores" não é um mundo à parte, tem obviamente as suas especificidades, mas o (muito) trabalho e o (não) reconhecimento não é exclusivo desse mundo, longe disso, muito longe disso mesmo...


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
paulo silva

E aceito a tua opinião mas temos o direito de ter pontos de vista diferentes certo?

Falei pelo menos no meu caso e de mais alguns que conheço  ;)

Cumprimentos Paulo Silva

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
bioshock

Realmente é quando alguém nos pede algo, nós percebemos algo diferente e quando chega a nossa beira, nós pensando que já temos tudo operacional, afinal não é nada daquilo. E o trabalho de X horas vai todo por água abaixo..

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
F_Correia

eu para mim, o pior de tudo é os chamados erros da treta, um gajo tá a programar, surge um erro, que não sabem de onde é, ficam a bater com a cabeça um dia inteiro ou uma noite e as tantas conseguem descobrir que o erro é uma virgula a mais ou a menos ou então não substituíram bem uma coisa ou outra.

Já me aconteceu tar 4 horas de volta de uma cena e no fim era só 1  } que faltava  :wallbash:

dá vontade de  :smoke:  pa ver se passa ... :D

Citação de: jpaulino em 23 de Abril de 2010, 13:30
    Então e quando o chefe chega e diz: "Era porreiro era isso fazer ........" e vai-se embora?

    Depois começa a perguntar quando está feito, partindo logo do principio que é simples, quando muitas vezes é quase impossível.

    Dar ideias é fácil, fazer já nem sempre é assim.

Concordo inteiramente contigo, mas infelizmente o mundo dos programadores é um mundo à parte do resto da comunidade, ou seja, Muito trabalho pouco reconhecimento.

Cumprimentos Paulo Siva

Quanto a isso,o Paulo eu acho que para a grande parte patrões ou clientes de serviços de programação não sabem do que estão a falar,pensam que o programadores são uns doidinhos e que conseguem fazer tudo, até mesmo por um porco andar de bicicleta enquanto fuma 1 charuto cubano..nesse caso tão-se é a lixar, tu dizes, ah mas isto não é bem assim e eles, não ? mas eu quero isto e aquilo e pumba, carregam-te logo , nem te deixam falar lool...

Abraços :thumbsup:


Porque havia eu se assinar ? A minha mãe diz que é perigoso ter as nossas assinaturas na net ! :S

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Betovsky

Concordo com tudo o que foi dito e destaco mais um: Ter de mudar, a meio do projecto ou já no final, a lógica de negócio e acrescentar novas funcionalidades.

Para mim este é o mais difícil. O pior é que acontece sempre, qualquer projecto, mesmo aqueles em que está tudo escrito preto no branco, claro como a água, é inevitável que irá sofrer alterações. Ter a arquitetura do sistema montado para não ser "doloroso" alterar/acrescentar funcionalidades é importante e neste aspecto não vale de muito ter muitas bases de programação, o mais importante é mesmo pura experiência de trabalho no domínio do cliente.

"Give a man a fish and he will eat for a day; Teach a man to fish and he will eat for a lifetime. The moral? READ THE MANUAL !"

Sign on a computer system consultant's desk

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.