#4 PHPapo – Erika Heidi

Erika Heidi

“Erika Heidi é desenvolvedora web há cerca de 10 anos, trabalhando principalmente com PHP e contribuindo em projetos open source na medida do possível. Com um relevante background em Linux, também atua na área de devOps frequentemente. Atualmente morando e trabalhando em Amsterdam – Holanda.

Erika gosta de café, música, cerveja, séries, gifs animados, gatos e unicórnios, não necessariamente nessa mesma ordem.”

5 melhores ferramentas online para desenvolvimento em PHP?

1 - PHPStorm: uma IDE bastante completa. Infelizmente não é gratuita e pode ser pesada para algumas máquinas, o que leva ao próximo item da lista:

1.2 - Sublime: um editor super leve, e apesar de não ser realmente gratuito, oferece um “trial” que nunca expira. Tem muitos plugins que podem transformá-lo em uma ótima IDE pra PHP.

2 - Vagrant / Puppet: pra quem ainda não conhece, o vagrant basicamente provê máquinas virtuais pra você rodar o seu projeto, de uma maneira bastante simples e independente - dessa forma você consegue ter o mesmo ambiente para diferentes desenvolvedores, sem ter que setar tudo manualmente. O puppet é usado em conjunto com o Vagrant pra setar o ambiente, instalar o servidor web na máquina virtual.

3 - Composer / packagist: depois de começar a usar o composer, não tem volta! É uma das ferramentas mais úteis dos últimos tempos, em se tratando de php.

4 - PHPUnit: testes compõem uma parte essencial de qualquer software profissional, e o PHPUnit é a ferramenta padrão no PHP para testes.

5 - PHPDocumentor: ninguém gosta de escrever documentação, ainda mais se você tiver que montar toda a estrutura e formatação para exibir o conteúdo. O PHPDocumentor gera uma documentação baseada em definições no seu código fonte. Fica bem mais fácil de gerar uma documentação organizada e ao mesmo tempo você mantém dentro do código fonte esses dados.

Em algum momento sofreu preconceito por parte de empresas ou pessoas por ser mulher?

Já, mas por incrível que pareça, foram raras as vezes. É importante deixar claro que pra mim, preconceito é quando alguém priva de algo (um emprego, alguma oportunidade) por você ser, de alguma maneira, diferente.

Olhares curiosos, ou um tratamento diferente, na minha opinião, não são atitudes preconceituosas – isso acontece com frequência.

Todos sabem que há poucas mulheres na área, então é natural que haja essa reação. E quando alguém me subestima pelo fato de eu ser uma mulher (o que geralmente acontece de uma maneira mais “disfarçada”), não chega a me irritar, é uma motivação a mais pra provar que não estou de brincadeira :D

Quais as 3 funções do PHP que você usa com frequência?

isset, empty e var_dump.

O que faz de um profissional bom ou ruim?

Na minha opinião, a pior característica pra um desenvolvedor é ser preguiçoso. Uma pessoa preguiçosa, no geral e em qualquer área, não vai longe. Pra ser um bom desenvolvedor, é preciso ser humilde pra aceitar que você não sabe de tudo, e estar sempre disposto a aprender coisas novas, sem preguiça!

Vai atrás, procura no Google, lê a documentação (RTFM)… E se as coisas não estiverem dando certo, vai no IRC que tem muita gente disposta a ajudar. Mas não espere que alguém vá pegar na sua mão pra escrever o código. Tem que ter iniciativa.

Um projeto PHP que você aprecia?

Temos muitos projetos legais atualmente na comunidade, é bastante difícil escolher um só. Um projeto recente que acho sensacional é o puphpet – https://puphpet.com/ -, do Juan Treminio (@juantreminio) – ele gera setups do Vagrant + Puppet pela web, em uma interface bem intuitiva onde você escolhe os pacotes que quer instalar e outras configurações comuns do puppet.

Um erro frequente?

Tentar usar variáveis que podem não ter sido realmente criadas ainda – basicamente, escopo – é algo que têm acontecido com certa frequência.

Uma bobagem que faço frequentemente também é trocar a ordem dos operadores do shorthand if, colocando o : antes do ?

Um livro que você indica?

PHP Design Patterns (O’Reilly) Learning PHP Design Patterns - um livro muito bom que fala desde os conceitos básicos de programação orientada a objetos até como implementar em PHP os principais design patterns.

__autoload() ou spl_autoload_register()?

Composer =)

Como conseguir Karma no php?

A melhor forma de ganhar experiência em qualquer linguagem, na minha opinião, é programar por prazer, fora do trabalho também - contribuir em projetos open source, por exemplo. É algo que te faz aprender muito, porque aquele código vai ser público e você vai se esforçar pra deixá-lo bonito. Eu, por exemplo, fiz uma pequena contribuição pra o Symfony, e apesar de ter sido algo simples, me fez aprender bastante.

Também confesso que a sensação de ter um pull request aceito (merged) por Fabien Potencier foi sensacional :)