Arquivo da tag: WTF

ASS Certified

Recordar é viver. Já faz um tempinho que eu conhecia a certificação Agile Software Specialist (ASS), mas ainda não havia comentado nada aqui no blog.

Para quem não conhece ou ainda não tem a sua certificação de agilista, CORRA e tire logo a sua também. Vocês vão ver como o mercado se tornará receptivo e aberto, novas oportunidades surgirão o tempo todo, e o salário, aham, o salário você nem vai acreditar:

Certification for Software Professionals. Join the Agile revolution!
http://www.agilecertificationnow.com/
Become a Certified Agile Software Specialist! The Fastest Certification On The Web

Brincadeiras de lado, essa “certificação” é apenas uma paródia, uma brincadeira. É óbvio que isso não vai mudar nada na carreira e nem muito menos vida de ninguém. Mas ainda assim, apesar da brincadeira da certificação, o site passa uma mensagem importante que devemos nos atentar.

Alguns trechos do texto do site expressam exatamente o que muita gente quer, parece brincadeira ao ler, mas já vi muita gente que acreditaria de fato nesta certificação pois é exatamente o que sempre buscaram, talvez eu até me incluiria neste meio se as certificações resolvessem algo de fato. Mas vejamos, por exemplo:

There are no tests, classes, books or interviews!

Receive the benefits and admiration that comes with certification!

Bem ao estilo de comercial milagroso de televisão, aqueles do tipo resolva todos os seus problemas em 1 minuto. Até que seria bom se funcionasse, mas as coisas não são necessariamente assim. E mesmo que hajam muitos livros, testes, provas e entrevistas, isso tudo também não vai garantir nada e nem muito menos servir como argumento ou base para muita coisa, e não vai mesmo.

O que eu mais ouço por aí é que: – A certificação não vai mudar nada mesmo, mas pelo menos vou ter respaldo no que eu falar, pois a certificação me dá esse crédito. Será assim mesmo? Eu já participei de tudo que é tipo de projeto com todo tipo de gente que se pode imaginar e sinceramente, dos poucos que eram certificados, muitos não faziam valer este tal “respaldo” da certificação, muito pelo contrário, as discussões, provas de conceitos e o dia-a-dia do desenvolvimento eram sempre os mais engraçados complicados, devido justamente ao fato de serem ignorantes o suficiente para achar que tinham tal crédito (respaldo) para falar e fazer o que bem entendessem, para tomar decisões teóricas.

E o pior de tudo é que quase todas as situações anteriores aconteceram com pessoas com certificações técnicas, o que é pior ainda, pois nestas certificações uma boa base de leitura, estudos e testes deveriam, ao mínimo, colaborar bastante com o conhecimento técnico destes profissionais.

Não desmereço quem tem ou corre atrás de certificações diversas, muito pelo contrário, sejam elas técnicas ou não eu valorizo e respeito muito a dedicação e o esforço que cada um teve pra conseguir seus certificados. Valorizo sim, os esforços, os certificados geralmente não. Mas por que não? É simples: Certificações não funcionam! Em alguns casos certificações técnicas ajudam muito, sim, mas ainda não servem como regra ou pré-requisito para definir o conhecimento de ninguém, quem dirá sua capacidade como um líder, coach, etc.

Não funcionam por um fato bem simples: ninguém vai se tornar um profissional melhor simplesmente porque leu um livro ou assistiu algumas aulas ou fez uma ou duas dúzias de simulados e testes e no final recebeu um certificado. Isso tudo é um sonho, as coisas não funcionam assim no mundo real e nem tendem a funcionar assim um dia. E o maior problema disso tudo é a falta de capacidade da muitos gerentes/diretores para enxergar isso, hoje em dia as companhias estão buscando cada vez mais profissionais certificados sem dar a mínima para o real conhecimento e experiência deste profissional.

Por essas e outras que não é muito difícil encontrar profissionais (que dizem ser) líderes, gerentes, arquitetos, consultores e qualquer outro cargo bonito que você quiser e que, vivem tomando decisões erradas, não assumindo erros, orientando sem saber equipes que também nada entendem o que lhe fora orientado, e por aí vai.

Onde quero chegar com este post? Talvez nem eu saiba, ele está sendo só um desabafo (antigo) e um apelo para que todos que lerem o post também leiam isso, isso e isso.

Continue lendo ASS Certified

iPhone Mobile ou MacOS CE?

Só podia ser, depois ainda reclamam das piadinhas e do suposto excesso dos brasileiros em brincar com os portugueses, mas depois dessa, não tem o que discutir. Consegui encontrar algo pior do que um publicitário, um publicitário lusitano =)

Não digo que seja impossível fazer a instalação do Win CE no iPhone, afinal de contas, depois dos hereges que usam (e o pior, gostam!) Windows Vista em Macbook eu já não duvido de mais nada, mas que essa montagem aí da foto ficou tosca e de um péssimo gosto, isso ficou sim.

E aos amigos lusitanos, não precisam me apedrejar, o post foi só uma brincadeira, afinal de contas, não podia perder o gancho.

Fonte: MeioBit.

Code To Ruin

Já devo ter comentado em outras ocasiões aqui no blog que eu gosto muito dos posts do blog Worse Than Failure (antigo The Daily WTF). E essa semana saiu um post chamado Avoiding Development Disaster, um excelente artigo que fala sobre os projetos de desenvolvimento de software e as lições aprendidas nestes projetos, mas que muitas vezes gastaram milhões e milhões de dolares, geraram uma excessiva documentação inútil que nunca será lida por alguém e milhões de linhas de código que jamais serão executadas em produção, enquanto poderiam ter sido facilmente encontradas num bom livro de engenharia de software. O artigo mostra também os vários caminhos que os projetos podem seguir – tendenciosos ou não – rumo ao sucesso ou ao fracasso.

Avoiding Development Disaster

Segurança: Ajax X Applets

Ontem recebi um link para um projeto nacional que tem tido muito sucesso, e estava lendo as informações no site e encontrei algo que é um perfeito exemplo de má interpretação de tecnologias, e isso me deixou bastante intrigado, é uma questão sobre a camada de apresentação do projeto, que é feita em Ajax, até aí tudo bem certo? (afinal, o que de novo hoje em dia não usa Ajax?)

Não, não quero colocar aqui o projeto e o link para o site pois não quero que esse post soe como uma crítica direto ao projeto, pois não é, é apenas uma crítica a forma em que uma questão em particular foi encarada, o que não tira os méritos do projeto.

IMHO, o problema foi o modo com que isso foi exposto e, até de certa forma, usado como motivo para justificar a adoção ao Ajax. No site do projeto existem claramente duas seções: Ajax e Não Utiliza Applets. A categoria Ajax é simples e mostra algumas vantagens de se utilizar Ajax na apresentação de aplicações Web. Já a categoria “Não Utiliza Applets” possui uma série de divagações das quais não concordei muito, e vou dizer o porque.

Começando:

Applets … …. além de serem mais lentos e inseguros…

Lentos eu até concordo quando comparados com utilitários bem escritos com JavaScript, mas isso não quer dizer que sempre será mais lento, não é difícil escorregar e perder a linha gerando na aplicação vários (ou até dezenas) Mega Bytes de JavaScript que serão tão lentos quanto um applet para carregar e poderão sacrificar o cliente como qualquer aplicação desktop repleta de memory leaks (quem nunca viu o Firefox sugando seus ~400Mb++ de memória?).

E a segurança, a não ser que o cliente esteja utilizando uma versão antiga da JVM (cujos bug já são conhecidos e possuem correção, geralmente em versões mais novas) eu concordo que possa haver problemas com segurança, mas ainda não concordo que a segurança de um applet seja inferior à de algum componente escrito em JavaScript. Podemos começar falando de vulnerabilidade ao cliente, com o applet, ou o cilente tem a JVM ou não tem, portanto, ou o applet irá funcionar ou não irá, já com o JavaScript, o controle de funcionar ou não, não é como um ON/OFF, o usuário tem diversas formas de bloquear e desbloquear determinadas operações, sem contar as formas existentes de interferir no fluxo normal de processamento do JavaScript, com o GraseMonkey, por exemplo, é fácil escrever códigos que se integram (inicialmente à apresentação) ao código JavaScript de qualquer página. Sem contar as possíveis formas de se utilizar de XSS para explorar falhas no DOM, HTML/Scripts injection, etc.

Em relação ao Javascript, os applets são mais lentos de processar alem de possuir espaço muito delimitado na página onde se executam

Essa parte de integração com os demais objetos da página realmente é um ponto fraco, muito fraco, quando utilizamos applets. Já a questão de velocidade de processamento, é fácil confundir o tempo de processamento gasto numa determinada funcionalidade com a quantidade de operações que cada funcionalidade realmente executa, mas como eu nunca fiz esse tipo de teste – de escrever um applet e um javascript que façam a mesma coisa – não irei muito além, apesar de não acreditar que possam haver diferenças tão grandes, afinal, tudo é executado no cliente, com os mesmos recursos.

todos os recursos são feitos sem a utilização de Applets (com eufemismo – isso não tem no site :D), os sistemas são baseados principalmente no AJAX, o que garante velocidade e segurança, além de que não é necessária a instalação da JVM na máquina do cliente

Pois é, antes que arremessem as pedras, não estou aqui defendendo o uso de applets frente a componentes Ajax, muito pelo contrário, eu já trabalhei bastante com applets e sei o quanto é chato, em todos os aspectos, e também já trabalhei, trabalho e pretendo trabalhar por um bom tempo com componentes Ajax bem escritos, a razão pela qual escrevi este post foi para, de certa forma, criticar o modo com que foi exposto o motivo para usar Ajax, não acho que seja necessário dizer: “- Uso Ajax pois Applets são lentos, inseguros, gordos e feios.”; afinal de contas, não é bem assim.

Atualizando a casa

Semanas sem postar nada, estamos aí de novo. Vou tentar me lembrar dos últimos ou pelo menos de alguns dos últimos acontecimentos desse tempo longe do blog e fazer um resumo, ou pelo menos algo semelhante a um.

  • EJES: Bom, a última coisa que postei no blog foi sobre o início do II EJES, que foi realizado nos dias 30 e 31 de agosto. O evento correu bem e teve tudo que todos eventos “normais” sempre tem, desde alguns imprevistos com palestras/palestrantes até brindes legais, sorteios e tudo mais, e graças ao forte apoio e empenho do Victor Pinto (coordenador do ESJUG) tudo foi contornado e conseguimos realizar o evento sem maiores problemas. E por fim, mas não menos importante, tivemos a presença do Shoes no último dia, encerrando as apresentações com uma palestra muito, muito boa: “Introduzindo Agilidade Eficiência“. Agora só no ano que vem :D
  • Palestra: Entre as chatas ótimas viagens, consegui arrumar tempo para atender um convite para fazer uma palestra de apresentação e introdução ao Java na Doctum, faculdade de Guarapari (cidade das praias boas) que fica bem pertinho de Vitória. Achei que foi bem legal lá e espero que o pessoal tenha gostado também.
  • WTF: Dar manutenção em qualquer sistema é sempre uma aventura, e às vezes encontramos algumas coisas, humm, hamm, digamos, horripilantes. Algo como isso por exemplo:

[code]System.gc();
System.gc();
System.gc();[/code]

Será que com um “toc toc toc” desses o GC se anima a rodar? hehehe

  • WTF2: Desde muito tempo que sempre recebo alguns pedidos um tanto quanto “folgados” por e-mail, mas esses dias recebi um que acho que superou muitos dos outros que já recebi algum dia… O pior é que tive que responder.

Encontrei os teus dois trabalhos, do jantar dos filosofos e do barbeiro dorminhoco com a implementação em java, como ainda estamos aprendendo C++ ficaria muito grato se pudesse disponibilizar o codigo em C++ para linux, para meu email.

email: [email]

Desde ja agradeco pela atenção.

  • Sem muito a fazer: Pois é, apesar de sempre ter coisas na lista de pendência, de sempre ter um draft a se terminar, um e-mail a enviar, sempre temos um momento vago (não sei como isso é possível, mas acontece), Achei em algum lugar (algum blog ou fórum que infelizmente esqueci) o link de um site e fiz um teste para saber que linguagem de programação eu sou, não foi muita novidade, mas deu no deu:

  • Curso de RoR: Aproveitando o espaço, vou divulgar (se é que posso chamar isso de divulgação) o curso de Ruby On Rails que será realizado em Porto Alegre, pela Tech Office IT, empresa do Urubatan.
  • JustJava: E por fim estou preparando o material para a minha apresentação no JustJava deste ano, vou tentar fazer alguns resuminhos e postar aqui no blog.