A empresa paulista 4Linux está com uma vaga em aberto para um profissional de negócios PHP. As características da vaga são:
Precisamos:
Que o profissional tenha fortes conhecimentos de PHP, DRUPAL, POSTGRESQL, FRAMEWORK (algum), SEO, MOODLE (desejável) e MYSQL
As responsabilidades:
Este profissional atuará diretamente com a área de Marketing, ligado à estratégia de negócio focada em clientes. Atuará em nossos sistemas internos, atendendo gerentes da 4Linux bem como interligação com o LMS Moodle.
Currículo:
Enviar o currículo em PDF conforme abaixo, até 15 de Março de 2010:
Mais informações: http://www.4linux.com.br/noticias/2010/4linux-contrata-profissional-negocios-php.html
Procuro um(a) estagiário(a) que tenha bons conhecimentos de GNU/Linux para atuar comigo em um projeto de web 2.0 e ajudar a administrar servidores com Debian GNU/Linux.
Entendo que estagiário é aquele(a) que ainda está aprimorando seus conhecimentos em uma determinada área e deseja em um futuro próximo, ser efetivado(a) e alavancar sua carreira. É esse tipo de perfil que eu preciso, não é necessário ter conhecimentos profundos, mas é de extrema importancia que o(a) profissional sinta-se confortável em:
Como já expliquei antes, eu não preciso de um ninja, até porque entendo que estagiário é alguém que ainda está desenvolvendo suas habilidades. Como já fui instrutor de GNU/Linux, gosto de ensinar e estou sempre fazendo desafios para que o profissional desenvolva sua habilidades. O(a) estagiário(a) certamente vai aprender muita coisa nova!
Uma característica que é de extrema importância para essa vaga é independência. O(a) profissional precisa ser auto-didata, saber trabalhar online (até porque fico pouco tempo no Rio de Janeiro e na maioria das vezes o contato comigo será via Google Talk e telefone) e que seja equilibrado(a) em situações adversas.
Detalhe importante: a vaga é para o bairro de Botafogo, Rio de Janeiro e esta vaga não pode ser via home office. A bolsa auxílio será a combinar de acordo com o perfil do(a) profissional.
Para concorrer à vaga, primeiro crie seu perfil no LinkedIn. Preencha em seu profile todas as experiências profissionais, acadêmicas e conhecimentos técnicos. Depois me adicione e aguarde. Entrarei em contato com aqueles que mais se encaixarem no perfil. Se não entrar em contato agora, não desanime, vagas estão sempre surgindo.
Seja claro e eficiente ao preencher o perfil no LinkedIn e boa sorte!
Atualização: Algumas pessoas tiveram problema em me adicionar no LinkedIn. O link acima foi atualizado para o profile público. Se alguém tiver problemas, por favor entre em contato.
O meu amigo André Franciosi, da Franciosi Consultoria criou no início desse ano uma lista de discussão focada em oportunidades de tecnologia. Sendo recente, a lista ainda possui pouco tráfego, mas boas oportunidades já apareceram.
Confira a lista TI Networking aqui.
Uma das coisas mais importantes em todas as profissões é o networking. Ficar em contato com pessoas, da mesma área que a sua ou até mesmo de áreas diferentes pode ser bastante compensador. Lembre-se, saiba cultivar o networking. Não corra atrás de sua lista de contato apenas quando você precisa de alguma coisa. Hábitos simples, como convidar amigos para comer uma pizza, ou se tem afinidades com algum hobbie ou esporte é uma ótima maneira de manter o networking ativo, além de criar vínculos de amizade.
O contato com a comunidade de software livre mundial me possibilita conhecer uma série de novidades, que variam desde detalhes técnicos até várias curiosidades. Esse contato internacional é algo que recomendo a todo mundo, além de aprender coisas novas, é um verdadeiro banho de cultura.
Converso com alguns desenvolvedores russos, são ótimos profissionais e a maioria trabalha como free lancer e tem uma vida tranquila. O curioso é que eles atendem clientes do mundo todo e trabalham em suas próprias casas. Perguntei como conseguiram esses clientes e eles me mostraram um site que é uma espécie de classificados de empregos para freelancers. Esse site chama-se GetAFreelancer e realmente tem muita coisa interessante e oportunidades de trabalhos para várias áreas, incluindo software livre, software proprietário, desenvolvimento web, SEO, Python, entre várias outras.
Mexendo um pouco no site, é fácil compreender como funciona. Quem precisa de profissionais, publica um anúncio e diz o quanto pretende pagar. Os freelancers interessados em prestar esse serviço faz sua oferta. O site guarda um histórico de todas as vagas publicadas pelas empresas e de todos os freelancers que prestaram a consultoria, dessa forma é possível saber se uma empresa realmente vai pagar de forma correta e também é possível saber se o freelancer trabalha de forma adequada, com qualidade e entregou o serviço no prazo prometido.
Talvez um novo usuário tenha uma certa dificuldade para conseguir pegar consultorias, pois ele não terá qualificações positivas ao abrir sua conta. Nessa horas o poder de barganha fala mais alto.
Vi alguns brasileiros cadastrados no site, mas não pesquisei o suficiente para saber quantos são e se já conseguiram ganhar alguma coisa por lá. Também não sei como fazem o pagamento, se é via ordem de pagamento internacional ou outra forma. Em todos os casos, fica a dica, se alguém souber de mais informações e desejar completar esse artigo, seja bem-vindo!
Referência: http://www.getafreelancer.com/
Administro alguns servidores dedicados que estão hospedados na Sagonet, um provedor que está localizado na Florida, EUA e oferece um bom serviço a preço bastante competitivo. Durante alguns anos, nunca tive problemas com as máquinas hospedadas em seu datacenter, até que hoje comecei a notar algumas coisas estranhas, como uptime das máquinas baixo, como se tivessem sido reinicializadas a pouco tempo, mas sem meu conhecimento. A onda de reboots tomou conta dos servidores, tentei entrar em contato com o suporte técnico e nada. Linhas ocupadas e e-mails não respondidos.
Como o datacenter está hospedado na Florida, cheguei a procurar na internet se havia acontecido alguma catástrofe, algum tufão, tsunami ou que seja naquela região. Mas não houve nada.
Algum tempo depois, encontrei esse link, informando o real motivo dos reboots e instabilidade nos serviços: tiveram um sério problema com a parte elétrica. O sistema de ar condicionado foi prejudicado e com o calor, algumas máquinas começavam a reinicializar sozinhas. O problema parece ter sido sério, primeira vez que tive um problema com eles.
Se você tem servidores hospedados na Sagonet, é bom dar uma olhada no status da máquina e fazer os devidos backups. Estarei olhando outros hostings dedicados, talvez seja uma boa idéia fazer redundância em provedores diferentes localizados em outras cidades.
O site vidafreela.net tem publicado uma série de artigos interessantes, que levam a pensar a respeito sobre o trabalho de freelancers e ajuda a tomar decisões. Esse artigo fala sobre o dia a dia de um freelancer e questiona se ele vive ou sobrevive. O artigo é bem interessante e várias pessoas fizeram comentários a respeito que enriquecem ainda mais o conteúdo.
Na minha opinião, tem dois tipos de freelancers (que escolheram trabalhar dessa forma). O primeiro é o tipo que gosta de seu trabalho mas não gosta de rotinas, chefes e falta de liberdade e o segundo é do tipo empreendedor, que aproveita a oportunidade profissional de ser freelancer para ir montando seu próprio negócio e planejando algo maior no futuro, contratando pessoas.
Se tiver disciplina e conseguir ter uma vida pessoal equilibrada, todo trabalho é válido. Se começar a prejudicar, é hora de rever a estratégia e se for o caso, voltar a trabalhar em um escritório.
O Google Phone está saindo do forno, esse sem dúvidas foi o assunto do dia. Uma plataforma de desenvolvimento para celulares que roda em cima do kernel Linux. Ainda não se sabe muito sobre o sistema, as informações disponíveis estão no site da Open Handset Alliance e também poucas informações sobre a plataforma Android.
Mais informações em português no blog Zumo.
Estou utilizando muito VoIP, muita gente que conheço também já adotou essa tecnologia revolucionária. Esta cada vez mais facil ter acesso a uma linha VoIP, também existem outros serviços como Skype, Gizmo, Wengo entre outros.
Um que me chamou a atenção foi o Jajah. Através do site, é possível fazer ligações para telefones de qualquer parte do mundo. Funciona assim: você entra no site, digita o número de seu telefone e no outro box, o número de telefone a qual você deseja ligar. Em poucos segundos, o seu telefone toca e logo depois que você atende, o serviço completa a ligação para o outro lado.
Ainda não explorei para ver até onde o serviço é gratuito. Eu fiz um teste, funcionou perfeitamente com uma boa qualidade de voz. Referência.
César Taurion, um dos executivos da IBM publicou o seguinte texto:
(fonte: IBM)
Outro dia participei de um debate sobre Open Source, onde um dos principais temas debatidos foi o modelo de desenvolvimento. Acho que vale a pena compartilharmos algumas idéias… Existem dois métodos básicos de desenvolvimento de software: os princípios catedral e bazar. Estes nomes foram cunhados a partir do célebre trabalho “The Cathedral and the Bazaar” de Eric Raymond. O método batizado de catedral é baseado no planejamento centralizado, com evolução top-down e rígido relacionamento entre a gerencia e os desenvolvedores, quanto a prazos, metodologias adotadas e tarefas, dentro de uma hierarquia organizacional. O desenvolvimento é interno à empresa e apenas nos ciclos de teste alfa e beta é que o produto é exposto ao mercado, através de uma restrita e controlada comunidade de usuários (individuais ou empresas clientes) que se prontificam a cooperar nos testes e depurações. Mas todo o código fonte é proprietário e fechado ao mundo externo e restrito apenas aos olhos dos desenvolvedores da empresa que produz o software. É o método tradicionalmente adotado pela indústria de software em seus produtos comerciais.
O princípio bazar, como o nome indica, é baseado em uma forma mais livre e colaborativa de desenvolvimento, sem centralização do seu planejamento e execução. É o modelo típico Open Source. O desenvolvimento é efetuado em rede, por uma comunidade de desenvolvedores voluntários, sem vínculos entre si, em uma organização virtual e informal. A comunicação é efetuada pela Web, sem fronteiras geográficas e existem apenas alguns princípios que regulam o trabalho. A liderança do projeto não é definida de maneira prévia e formal, mas emerge naturalmente pelos méritos de um determinado membro da comunidade.
Os códigos são revisados pelos próprios pares (peer review) e geralmente o melhor código é selecionado (meritocracia). Como não existe um departamento de marketing nem acionistas influenciando prazos, o ritmo de desenvolvimento é direcionado pela disponibilidade de tempo e dedicação dos desenvolvedores. O método bazar gera uma forte tendência de gerar código de alta qualidade. O código é lido e analisado por diversos, as vezes centenas, de desenvolvedores, o que acelera o processo de depuração e correção de erros. A decisão de liberar o código é fruto de consenso do grupo e não uma imposição de marketing, como muitas vezes ocorre em um projeto comercial.
Geralmente é necessário a figura de um líder ou mantenedor, que se encarrega de coordenar as mudanças e decidir (muitas vezes em colegiado) quando o produto pode ser liberado. Os ciclos de teste e revisões são constantes e o feedback é contínuo. Todos, a qualquer momento, podem interceder e comentar sobre o código, uma vez que este é livre e disponível a todos.
Os princípios de desenvolvimento em comunidade ainda não são totalmente conhecidos. Apenas nos últimos anos é que os primeiros estudos comportamentais de como a comunidade desenvolve software, gerencia e cobra tarefas, e como os contextos organizacionais são desenvolvidos é que começaram a ser desenvolvidos.
Mas já sabemos de algumas coisas. Uma é a importância do mecanismo de controle dos projetos. Ao contrário do modelo hierárquico, com rígidas normas de controle e subordinação, o modelo colaborativo tem outras características, algumas positivas e outras extremamente desafiadoras. Em um projeto fechado, típico de softwares proprietários, uma equipe de desenvolvedores profissionais são alocados a tarefas de acordo com suas especializações e gerenciados quanto ao cumprimento de prazos e orçamentos. No projeto de Open Source, a equipe é virtual, interage pela Internet (email, newsgroups, wikis, etc) e não existe subordinação direta. A participação dos desenvolvedores no projeto é voluntária e portanto não está submetida aos padrões de gerenciamento típicos dos projetos fechados.
Este modelo gera algumas incertezas, advindas do próprio modelo de contribuição voluntária. Como não existe uma rígida subordinação ou contrato empregatício, os colaboradores podem variar em muito de intensidade em suas colaborações. Podem contribuir intensamente como podem, sem prévio aviso, desaquecerem em suas colaborações. Não existem planejamentos de produção e medidas de produtividade tipo “colaboradores estarão desenvolvendo quantas linhas de código por determinada unidade de tempo”. Também não existem divisões formais de trabalho, com prévia alocação de desenvolvedores à determinadas tarefas.
Para contrabalançar estas incertezas, alguns mecanismos de governança são adotados nos projetos de Open Source. Embora não exista hierarquia rígida, acaba-se criando um modelo de hierarquia informal, com o mantenedor e alguns membros assumindo posição de liderança e gestão do projeto. Cria-se um mecanismo de gestão centralizada, onde um grupo pequeno de colaboradores assume um papel executivo, responsabilizando-se pelas decisões e rumos do projeto. Esta organização é criada informalmente, impulsionada pela própria necessidade de existir uma estrutura razoavelmente estável, que oriente e direcione os esforços do restante da comunidade. Entretanto, ao contrário de projetos tradicionais, este papel não é assumido por escrito ou por posição hierárquica em uma empresa, mas por reputação ou conquista de espaço.
Na prática, acaba sendo criado um sistema hierárquico informal, baseado na meritocracia, com os desenvolvedores mais atuantes e experientes desenvolvendo as tarefas mais avançadas (codificação de novas funcionalidades e melhorias de desempenho) e os colaboradores menos experientes assumindo tarefas mais simples, como depuração de código.
Uma outra questão, inerente ao modelo colaborativo é o processo de seleção da codificação a ser inserida no projeto. Os colaboradores contribuem com seus códigos, e estes precisam passar por mecanismos de filtragem para serem aceitos e incorporados ao corpo do software. Não existem regras únicas. Os mecanismos podem variar de decisões autocráticas a sistemas de votação, sendo estes também variando de abrangentes (todos interessados podem votar) a votos restritos a um comitê selecionado de colaboradores.
O modelo colaborativo exige também mecanismos eficientes de controle de versões. Como a contribuição de novos códigos é livre, é necessário que o mantenedor gerencie cuidadosamente que pedaços de código deverão ou não ser incorporados ao software e decida quando o volume de modificações for suficiente para que seja liberada uma nova versão.
Outro aspecto importante é que os projetos de Open Source devem ser modulares para permitir o trabalho de muitos colaboradores simultaneamente.
O método colaborativo quebra o tradicional paradigma criado por Fred Brooks em seu famoso livro “The Mytical Man-Month” onde ele observava que adicionar mais programadores a um projeto em atraso simplesmente aumentaria este atraso. Um programador em 12 meses não é igual a 12 programadores em um mês. A razão seria simples: um maior número de desenvolvedores envolvidos aumenta a complexidade e os custos da comunicação entre os integrantes do projeto. A complexidade aumenta exponencialmente enquanto que a quantidade de trabalho adicionada seria aumentada apenas linearmente. O método colaborativo simplesmente ignora este fato e propõe que quanto mais desenvolvedores são incorporados ao esforço de escrever código livre, mais eficiente é o produto gerado.
E quanto à correção de bugs? Bugs não são novidade no software. O próprio processo de construção de software é baseado na descoberta e correção de bugs. O processo de depuração de software é um processo cuja eficiência aumenta quase linearmente na direta proporção do número de depuradores envolvidos na tarefa. É um processo que tem muito a ganhar com o paralelismo de atividades, pois não demanda muito esforço de coordenação e gerenciamento. Os depuradores não precisam de muita interação entre si, apenas precisam ser coordenados por um responsável pela decisão de aprovar ou não as correções.
O método colaborativo potencializa o processo, pois permite que milhares de desenvolvedores analisem e testem peças de código, depurem os erros e submetam as correções aos coordenadores dos módulos do sistema. É um processo similar ao sistema acadêmico de revisão de textos científicos para publicação, conhecido como “peer review” ou revisão pelos pares, quando um ou mais revisores atestam a qualidade do texto e sugerem correções e modificações. Este processo garante o nível de qualidade e integridade dos textos científicos a serem publicados.
Entretanto, o modelo de desenvolvimento bazar muitas vezes negligencia alguns aspectos como a questão do prazo e definição clara do escopo. Muitos softwares Open Source começam com uma parte do código sendo disponibilizada e algumas vagas intenções de escopo. À medida que o software é desenvolvido comunitariamente, o próprio escopo muda sensivelmente. Prazo pode ser fundamental para alguns produtos de software. Como a contribuição é voluntária, o modelo colaborativo não pode forçar prazos. Assim pode-se questionar a validade do método bazar para desenvolvimento de softwares que necessitem de escopo e prazos bem definidos.
Com o tempo, diversas variantes do princípio colaborativo vem sendo adotados. Vemos hoje projetos de Open Source onde a gestão está a cargo de uma determinada empresa, que sustenta financeiramente a iniciativa, pagando desenvolvedores e custeando muitos dos esforços da comunidade de voluntários. Mas, mesmo neste caso, as decisões são tomadas pela comunidade e não pela empresa. Em outros projetos, a gestão está a cargo de uma fundação, sustentada pela doação de empresas e indivíduos.
O modelo de Open Source tem seu processo de desenvolvimento efetuado por métodos que em muitas vezes contradizem os parâmetros básicos da engenharia de software, aprendidos nas salas de aula. É uma quebra de paradigmas…Mas tem dado certo, basta ver os inúmeros projetos de sucesso. Por que não olhar com mais atenção este modelo?
Oportunidade de emprego sempre é bem-vinda. Para quem interessar:
O Projeto HackerTeen está a procura de profissionais que se identifiquem com a filosofia para auxiliar no treinamento dos alunos, desenvolver jogos pedagógicos (RPG e similares) e outros tipos de conteúdo para o projeto. O candidato deve ter profundos conhecimentos de software livre (Linux, Kernel, Segurança e técnicas de programação) e sua filosofia, boa didática para aulas a distância (através de IRC) e presenciais, comunicação e ser extremamente dinâmico para lidar com jovens alunos (bom senso de humor, saber conduzir o jovem ao aprendizado de forma divertida). Favor destacar no curriculum sua experiência com capacitação de jovens. A vaga é para a cidade de São Paulo. Os interessados deverão enviar Curriculum para cv@hackerteen.com.br