É comum na universidade voce encontrar gente que não se dá bem com algoritmos e planeja  migrar (sic) para áreas "gerenciais". Isso é típico de quem entrou no curso de computação porque a concorrência de Fisioterapia estava maior na época de seu vestibular.

Mas antes que rotulem esse post de algo, quero deixar claro que existem aqueles que migram para a área gerencial por causa do salário e aqueles que migram por … como direi… não rolar uma "química" entre eles e os algoritmos. É comum voce ouvir: "-me cansei disso, pretendo virar gerente de projetos".

Ano passado uma menina praticamente formanda se perguntava qual a serventia de um banco de dados, esse tipo de gente é mais comum do que se pensa, não tenho estatística nem ninguem tem que eu saiba, mas creio por experiência de ministrar cursos, palestras e participações em eventos sobre programação que se não for maioria, esse pessoal no mínimo é a metade do contigente da área.

Alguns acham que regulamentação da profissão evita esse tipo de profissional, eu afirmo que não, porque se ela consegue cursar 8 semestres sobre integrais e derivadas ou estatistica computacional e consegue se formar, quem garante que um conselho ou guilda qualquer evitará que esse profissional seja um analista ou pior… um CIO?

O nível anda tão baixo que ainda existem dúvidas se um profissional deve conhecer mais de uma linguagem de programação, ora, se o profissional aprende como construir uma linguagem (pelo menos deve aprender já que qualquer curso de Ciência da Computação ensina isso), qual a dificuldade de aprender 5 ou 10 linguagens diferentes?

Eu nem considero linguagens diferentes aquelas que somente modificam a sintaxe de determinados ADTs ou sentenças, mas sim aquelas que são construídas para contextos diferentes. Java e C++ são linguagens diferentes? humm… Java e LISP são!

Isso merece um post a parte, portanto não farei juízo de valores sobre isso nesse post.

Não deixe que a Universidade atrapalhe seus estudos

Em um post passado, evidenciei o fato da burocracia escolar ser um empecilho ao desenvolvimento pessoal, todo estudo é um auto-estudo, ninguem pode ditar o que outro tenha que aprender, é uma escolha pessoal e por mais que isso pareça temeroso e sombrio, voce está sozinho.

Portanto, não deixe que a escola atrapalhe seus estudos, mas nunca abandone a universidade, mesmo depois de formado, se não há tempo, invente um mestrado, pós ou especialização. O contato com o meio acadêmico é de vital importância ao  programador, esse contato oxigena as idéias, afasta um pouco o apelo comercial que tanto o mercado exige.

O academicismo as vezes é benéfico, te desregula da própria não-regra, evita que voce considere padrões como gambiarras e abres os olhos do programador para questões mais profundas.

Sou um programador

Divirto-me com os códigos saídos do meu teclado, se tem uma expressão de mais-valia (da marxista luta de classes) mais precisa, é a programação. Um software nada mais é que uma idéia armazenada na forma de bits, soluções para processos humanos transformados em um emaranhado de fórmulas e algoritmos. Quando voce desenvolve um software ou parte dele, mesmo que terceirizado por outro para tal tarefa, voce está projetando o seu "eu" naquele software. "Os meios de produção" é a sua mente, talves o fator que mais provoca fracasso nos projetos que presenciei esse fracasso foi tentar "desumanizar" o software, tentar por meio de processo ou metodologia de desenvolvimento que qualquer um chegue e altere uma criação de outro artista.

Ninguem chega e altera uma obra de "Michelangelo" (não é a tartaruga ninja, é o … deixa pra lá), talves seja pretensão minha, mas os programas são obras artísticas, não são meros produtos industriais, analogia com prédios da construção civil também não tem refletido muito sucesso nas últimas décadas.

Sou um programador, apenas isso, pode chamar de desenvolvedor, analista, anapropégua! Mas na verdade somos desenvolvedores.

Há quem queira ser analista, ou desenvolvedor ou até Gerente de Projetos, rótulos criados para caberem nas teorias administrativas e distribuir organograma colorido na empresa. Besteira, Bullshit!

Porque programadores recebem menos?

Recentemente travei uma dessas discussões homéricas sobre um fato que as vezes passa despercebido, que um gerente PMBOK genérico não serve para projetos de Engenharia de Software. Uns acham que sim, que qualquer um com teoria sobre gerência de projetos consegue controlar um projeto computacional, eu afirmo categoricamente que não, se o Gerente não foi programador (não vale ter sido estagiário que normalmente é chamado de programador) ele não conseguirá controlar o projeto satisfatoriamente.

Lembro de um projeto recente na SEAD que o suposto "gerente" em meio a uma reunião, apertado por todos os lado, fala: "-háaa! o cronograma não está assim tão atrasado, os riscos estão em dia", sobre um projeto que não tinha uma linha de código funcional, não passava da tela de login, já consumira 3/4 do tempo, centenas de páginas de documentação desnecessária e rodado metade da população do estado no projeto.

O principal fator de uma empresa de software é o programador, é ele o sucesso ou o  fracasso, mas só ganha 1/3 do que ganha um Gerente, isso na mais otimista das hipóteses.

O problema é a hierarquia artificial criada pelo mercado e legitimada pelo meio acadêmico de que o programador é o novato, o inexperiente. O programador veterano que entende de análise é apropriadamente (reconheço) chamado de analista, mas… pera aí! Ele continua sendo um programador. Criou-se o programador (reles servil, geralmente estagiário), o analista, o arquiteto (ui) e o gerente, estou ainda desconsiderando as carreiras intermediárias ou artificiais como engenheiro de especificação, arquiteto de configuração, programador de testes e variantes. Virou uma zona, o Gerente as vezes sequer sabe reconhecer um fluxo condicional, o arquiteto não conhece a arquitetura (ironia?) de determinada plataforma, e o desenvolvedor não sabe desenvolver algoritmos, apenas desenhar no IBM Rational Rose.

O programador de verdade conhece UML, entende como funciona RUP e métodos ágeis, sabe instalar e configurar não só as ferramentas auxiliares no processo de desenvolvimento, mas faz tuning no SO e poderia gerenciar um projeto satisfatoriamente, mas isso é quebrar o Status Quo estabelecido… onde esses revolucionários vão parar mesmo? 

Pague o salário de programador acima do salário de gerente e veja na próxima entrevista o nível dos candidatos, é uma dica! Sei que ninguem vai levar a sério.

Como escolher um programador

Em recente projeto que graças a Odin não participei, consideraram o fator humano um risco de nível intermediário e as ferramentas usadas no projeto de risco alto. Esse é o tipo de projeto que pede de cara para fracassar, nem nasceu e já considera um profissional, o artista, aquele que dará vida, o "faça-se a luz" no sistema como sendo mero insumo em uma cadeia produtiva similar a um chão de fábrica na indústria.

Dois posts recentes falaram sobre como escolher um profissional decente. Um foi esse post do José Oliveira e outro foi esse do Vítor no embalo do Zé que prontamente completou

Não tenho muito a completar sobre as excelentes dicas que deram, mas gostaria de dar somente dois pitacos:

1 – Não terceirizar a escolha do candidato, entrevistar pessoalmente, o olho-no-olho revela todos os segredos;

2 – Não deixar os títulos sobrepujarem a experiência, experiência não tem preço. Claro que não estou confundindo experiência com tempo na área.

3 – Verificar a vida do sujeito, conhecidos, comunidades que frequenta, postura diante dessas comunidades, vê se ele se encaixa realmente na cultura da empresa.

Sei sei, eu disse que eram dois pitacos, mas depois de "cálculo 2" perdi qualquer noção de matemática básica :)  

Ainda sobre os feeds completos, campanha iniciado pelo Rafael Arcanjo que eu aderi. Não só eu como uma penca de blogueiros.

Mas a Bia Kunze comentou que o pessoal mobile se prejudicaria com essa "visão" e até publicou sua abordagem.

Um tema polêmico que divide opiniões mas felizmente pode ser solucionado. Basta o blogueiro disponibilizar as duas formas como a Bia propôs. O Cardoso que é partidário dos textos completos comentou no post da Bia que basta configurar o agregador para baixar somente os titulos e de bate-pronto foi respondido por ela que nem todos oferecem essa opção.

Para agradar a todos e não arriscar a perder algum leitor das milhares de almas (na verdade 20) que acompanham esse desatualizadíssimo e quase parado blog resolvi criar mais dois arquivos "wp-rss2.php" (que produz o feed do meu CMS – WordPress) e customizar para titulos e resumos.

Agora voce pode assinar o texto completo, o resumo e somente os títulos. Consuma com moderação.

Texto Completo  Texto Completo

Resumos  Resumos

Somente Títulos  Somente Títulos

 

O projeto "Computador para todos" é um fracasso, aliás nasceu fracassado. Melhor, qualquer iniciativa governamental seja de comunistas moderados (partido dos supostos trabalhadores) ou ex-comunistas (partido dos sociais-demoniocratas) tende a ser fracasso, sempre vi o projeto como uma besteira sem tamanho e que ia resultar em dinheiro desviado (profissionalismo dos nossos políticos). Por essência (por ser anarquista) não acredito que iniciativa de estado resulte em algo concreto para a comunidade, mas deixarei de lado o lado filosófico e vamos avaliar o estrago.

Recentemente foram divulgadas pesquisas que o óbvio aconteceu, compradores das carroças financiadas pelo estado trocaram a distro linux obscura por um mídia pirata do MS-Windows (default). Isso gerou uma confusão enorme como sempre e threads desnecessárias onde pessoas se atacam e conclusões precipitadas coibem as ações (ou pelo menos tentam).

O problema é que precisamos da popularização da informação. O acesso a grande rede é um passo fundamental para sairmos da idade das trevas que o Brasil vive para um mundo um pouco melhor. Crianças moldarem seus conhecimentos não pela mídia tradicional (já desgastada que temos com informações lineares sobre os mesmos assuntos se dividindo entre os amigos e os inimigos) mas criando um ambiente crítico onde elas bebem o conhecimento da fonte original e ultrapassam as fronteiras da escola.

Exemplo: quando Israel bombardear uma vila supostamente indefesa no sul do Líbano ao invés de esperar pelo Jornal tradicional de papel que sairá amanhã com conteudo mal traduzido de uma agência qualquer, aquela criança no centro-sul do Ceará a partir de uma fazenda já recebe a atualização da noticia no seu agregador de feeds do NYTimes e do Al Jazeera. Lê a opinião dos dois lados no conflito, tira suas conclusões e expõe sua crítica no dia seguinte aos professores para receber um embasamento maduro sobre esses assuntos. Claro que isso é um sonho, precisamos criar esse sonho.

Voltando ao assunto, os erros foram muitos, mas vou me concentrar  nos mais importantes: maquinas obsoletas, falta de estratégia de divulgação e distro errada.

Como fazia Jack The Ripper, vamos por parte:

  •  Máquinas obsoletas;

O mais importante em um pc usável não é o processador (influe), mas sim a memória, um PC com um processador menor mas com 512 de RAM é o mínimo aceitável, 1G seria o ideal. Diminui o processador se for o caso e aumenta a memória RAM, alías não consigo entender porque ainda se vende 128M, para que? manter o legado? que diabos roda em 128M?

Se querem salvar esse projeto o mínimo aceitável é 512M de RAM. 

Placa de vídeo é importante, nada daquelas rídiculas onboard de 16M pelo amor de algum deus. 

Esses dois itens já seriam suficientes pelo menos para dar uma "dignidade" ao projeto. 

Vi nesses dias uns pcs à venda pelo projeto em um grande varegista aqui em minha cidade com drives de disquete. Tirem a mer#@ do drive de disquete, o valor que economizará com isso dá para substituir o leitor de cd  e fornecer uma gravadora de cd ou pelo menos um pen-drive junto, isso custa barato, e o governo poderia comprar e distribuir pen-drivers com material promocional (em grande quantidade um pen-drive de 1G custa 5 dólares).

E as regras para as montadoras? Não há? Esse projeto corre o risco de ser um salvamento de sucatas, empresas picaretas que vão empurrar peças encostas pela isenção.

  • Estratégia de divulgação;

O povão só ouviu falar sobre o projeto, informações somente tiveram o pessoal especializado (que não é o foco), se querem popularizar a coisa tem que passar na grande mídia (leia-se criar um personagem na novela das 8 comprando o pc popular).

A Petrobrás gasta milhões de reais em propaganda sendo que ela não tem concorrência, porque não se faz uma propaganda maciça sobre o projeto na grande mídia com esse dinheiro? Ano após ano o governo seja de qual for o partido gasta nosso dinheiro se jactando sobre algo que não faz, enquanto projetos importantes ficam a ver navios à deriva de sua própria sorte.

Porque não ofereceram isenção fiscal para empresas de treinamentos formarem turmas especificas para o projeto?

Aliás as empresas só criam cursos para os programas mainstream, cursos são de MSWord e não "Editor de textos".

Uma política de criação de cultura em volta do projeto facilita a adoção do linux pela população leiga. 

  • Distro escolhida.

Nunca tinha ouvido falar em Metasys até semana passada, não tenho nada contra mas não queiram popularizar o linux com ela. Não da forma que está vindo. Como trabalho no setor público e sei que 99,9[dízima a perder de vista]9% das licitações são negociadas na surdina deveríamos investigar por quem e porque foi escolhido essa distro.

Onde está o XGL? duvido que alguem queira trocar o linux todo configuradinho com XGL num ubuntu abrindo qualquer tranqueira por uma midia pirata de um WinXP. 

Olhe que nem uso ubuntu, eu uso o debian-cdd-br, mas não vejo problema algum dos pcs do projeto virem com essa distro.

Temos que ver que o foco das pessoas é o usuário leigo, principalmente aquele que nunca teve contato com um computador, esse pessoal usa o computador como meio e não como fim (como nós).

Vão querer acessar o msn (eca, mas é a realidade), criar contas no orkut, navegar, abrir os anexos em formato MSOffice sem pensar duas vezes, jogar, e o que mais se puder imaginar… mas não só isso, os efeitos de última geração, o que meu vizinho-faz-vou-querer-fazer-tambem, usar a camera do meu tio estribado, comprar um iPobre para ouvir meus sertanejos no busão, entre outras coisas bacanas o linux faz da mesma forma senão melhor.

Se a distro não for uma popular com amplo suporte da comunidade o negócio não vai pra frente. Ninguem melhor para esse perfil hoje do que o Ubuntu (mais uma vez enfatizo que não a uso).

Enfim, a discussão é grande mas as ações precisam sair do papel, precisamos desse projeto por mais errado que tenha sido concebido. Que atitude tomaremos para impor a cultura livre de forma satisfatória?

Conversando hoje no GTalk com o motivador do meu post sobre currículos entramos no campo das certificações. Ele se queixava que já foi dispensado ou deixado de lado por não ter certificações java, enquanto ele me dava a noticia de um conhecido que mal tem um ano na área (mas já certificado), ter conseguido furar a fila em determinada empresa grande (para os padrões nativos) aqui em Fortaleza.

Eu me pergunto o que um empregador ainda quer além das 15 páginas do currículo do meu amigo. Será que os anos de experiência dele não substituem as certificações?

Eu sou o primeiro a indicar certificações para quem está começando na área e quer ter o que colocar no currículo. É um diferencial na contratação, entre um estagiário certificado que sabe o bê-a-bá comprovadamente e um que tem só um sorriso alegre prefiro o candidato com o certificado. Mas em tempo algum eu colocaria um cara experiente em segundo plano.

Eu mesmo abandonei a faculdade lá por volta de 2002 e retomei esse ano porque já me disseram que aqui no Brasil eu não tenho chance, assim na cara dura… "- eh! até que voce tem potencial, poderia ocupar o cargo mas sem nível superior… humm!"

Ainda bem que essa empresa faliu, não sou vingativo mas que dá um gostinho de sangue na boca, ah! Isso dá. 

O que a faculdade tinha pra me oferecer? Absolutamente nada, nunca consegui um emprego "por ela", e sim por apenas "estar nela". O mundo acadêmico é importante não só pelo lado dos relacionamentos que voce cria, mas pelo ar de pesquisa e curiosidade que o ambiente propicia. Mas que o sistema educacional brasileiro castra.

Voltei para a faculdade apenas pelo certificado, simples assim, só por isso.

Tive a felicidade de começar como estagiário em uma empresa boa que me deu grandes oportunidades de conhecimento. Meu chefe direto era um cara muito experiente e sem ser preso a modismos e bobagens. Aprendi muita coisa com ele, quanto valia o conhecimento dele? Difícil de imaginar.

Lembro que eu me enrolava em bobagens (bobagens hoje) e que ele só dava uma olhada e resolvia, as vezes nem sentava, outras vezes selecionava tudo, apagava e mandava eu fazer de novo com calma.

"- mas porque voce apagou?". Lembro sempre desse diálogo.

"- para voce não querer consertar algo que está errado desde o inicio". Ele respondeu.

São coisas assim que me pergunto como avaliar e receitar um preço. Desconheço um preço justo, no mais podemos apenas recompensar com o que podemos.

Certa vez uma pessoa estava enrolada aqui porque um script funcionava no Firefox e não no Internet Explorer, só em bater o olho vi que na função que se estava sendo criada havia uma vírgula após o último parâmetro sem nada após, mais ou menos assim:

… 

var callback =
    {
      success: function(o) {/*success handler code*/},
      failure: function(o) {/*failure handler code*/}, // o erro está nessa virgula

    }

Isso funciona que é uma beleza no Firefox mas não no IE, não tinha passado por isso, mas esse caso é um daqueles famosos "bad smell" que só de voce olhar voce ver o erro, mas quem não tem experiência com javascript leva um certo tempo que pode variar entre horas e dias. Quanto vale o tempo perdido? voce pode calcular pelo salário de quem faria em poucos minutos ou estantaneamente?

Experiência não é apenas tempo de vida em determinado assunto, e sim o acúmulo de conhecimento relevante que foi adquirido. Conheço gente "velha" que não tem lá muito a oferecer, mas é simples de detectar, é só observar se essa pessoa se reciclou, se adquiriu a capacidade de inovação nos locais onde passou. Se voce apenas cumpriu o horário de trabalho durante todos esses anos voce será detectado facilmente em uma boa entrevista discontraída e investigativa sobre o que fizeste onde passou.

Fico triste em saber que existe "política" de contratação baseada apenas em títulos.

Fico imaginando quantos recursos foram destinados ao grupo que desenvolveu o mecanismo de busca no site da oracle e quais ferramentas eles utilizam.

Fico preocupado porque eu uso o Oracle Text para busca textual em um sistema que construí e faço manutenção. Espero que eles não estejam usando o mesmo produto.

Fui pesquisar pela frase "Sql developer" no campo de busca no endereço da oracle, o http://www.oracle.com. O Sql developer é uma nova ferramenta para desenvolvermos para o banco Oracle.

Resultado: nada encontrado. Tentei "Oracle SQL Developer", nada. Tentei combinações de caixa-alta, vai que o troço é case sensitive, nada!

Fui no google e digitei o mesmíssimo "sql developer", o google trouxe logo a página principal da ferramenta no primeiro registro encontrado.

Isso me assusta! 

« Previous PageNext Page »