ThoughtWorks Brazil: Fará Recrutamento em Fortaleza e Goiânia

 

A ThoughtWorks Brazil estará realizando processo seletivo de programadores e testadores em Fortaleza nos dias 16 e 17 de Junho  e em Goiânia nos dias 7 e 8 de Júlio de 2012.

Eu é claro que estou no páreo por uma vaga, só que não. No primeiro dia do processo será colocando a mão na massa na linguagem que você se sentir mais avontade Java, C# ou Ruby e talvez Python mais isso não estava no anúncio a princípio só no detalhe da vaga para desenvolvimento. Já no segundo dia você irá discutir o código escrito no primeiro além da entrevista técnica tanto no pessoal como no profissional (como diria Faustão).

Veja como se inscrever para participar do processo no link que segue.

Saiba mais:

Métodos de Extensão

Uma característia presente nas linguagens de dinâmicas e que também está disponível na plataforma .NET, é a capacidade de extender uma classe sem a que seja necessário uma herança da mesma, o que seria impossível numa classe selada, que não permite que seja herdada.
Veja um exemplo em ruby (trecho retirado do artigo Micro Tutorial de Ruby – Parte I):

class String
def empty?
self.nil? || self.size == 0
end
end

nome = "Sebastião Relson"
nome.empty?

Veja como fica a saída do programa utilizando o IRB:

relson@lenny-amd64:~$ irb
irb(main):001:0> class String
irb(main):002:1> def empty?
irb(main):003:2> self.nil? || self.size == 0
irb(main):004:2> end
irb(main):005:1> end
=> nil
irb(main):006:0> nome = "Sebastião Relson"
=> "Sebasti\303\243o Relson"
irb(main):007:0> nome.empty?
=> false
Agora um exemplo em c# .NET:

using System;

namespace MetodosExtensao
{

class MainClass
{
    public static void Main(string[] args)
    {
        int i = 1;
        Console.WriteLine(i.Negativo());
    }
}

static class ExtensoaInteiro
{
    public static int Negativo(this int i)
    {
        return -i;
    }
}
}

Nesse exemplo a saída seria somente:

-1

Para facilitar a inserção do código no blog e deixar e exemplo mais simples coloquei as classes no mesmo arquivo. O código foi retirado com adaptações do livro Microsoft Visual C# 2008, Passo a Passo - John Sharp.

Para finalizar leia também o artigo de um grande amigo meu, o memorável Rafael Camargo que fala a respeito que também fala de métodos de extensão o artigo é C#: Extension Methods & Speech.

Iniciando em Ruby

Fazia um bom tempo em que eu não ficava empolgado com uma nova teconlogia, até que de tanto escutar rumores fui procurar a respeito do tal Ruby, linguagem dinâmica, baseada no SmallTalk (Assim como tudo que é orientado a objetos no “mundo” :D).

Antes de botar a mão na massa ouvi todos os episódios publicados na época (até o 39) do Rails PodCast Brasil com Carlos Brando e Fabio Akita indicado por um colega de trabalho, gostei muito do PodCast, pela profundidade nos temas abordados e da imparcialidade, digo isso que por já ter escutado alguns podcast que defendiam uma certa plataforma de desenvolvimento e o foca era na nada mais na menos que propaganda deles mesmo para a “fornecedora da plataforma”.

O primeiro tutorial “Micro-Tutorial de Ruby” do Akita onde escrevi as primeiras linhas em ruby, tive problemas ao instalar o irb pois o link apontava para um instalador corrompido, foi resolvido.

Até aí tava tranquilo, tudo bem… mais quando eu vi o Screencast para iniciantes em Rails(Programando um Blog em 15 minutos) minha cabeça explodiu, fiquei correndo de um lado para outro igual ao jacaré do pica-pau, sem pensar já li o “Aprendendo Ruby on Rails”. Li a versão em PDF, mais esses é um livro que desejo comprar como forma de gratidão ao autor, existe uma vasta quantidade de material de estudo e referência on-line. Pena que algumas lojas virtuais os livros de ruby são classificados como livros de Java.

Pra mim é um novo paradigma de desenvolvimento, uma nova sintax, uma nova plataforma, muito atraente, acho interessante usar ferramentas leves e nem por isso improdutiva para trabalhar e estudar, em fim muita coisa nova.