Guia para ser desenvolvedor Magento - imagem: Huber Starke/Westend61Toda semana recebo um ou dois e-mails de pessoas me perguntando qual dos meus livros é o mais apropriado para seu caso. Ou então, como aprender a trabalhar com Magento. Ou o que fazer para saber tudo sobre Magento. Ou como aprender a trabalhar com o Magento para não precisar mais do desenvolvedor.

Por conta disso, achei que valia a pena tentar escrever um post falando sobre isso. Disse tentar, pois não há um único caminho para ser um desenvolvedor Magento e talvez você nem mesmo precise ser desenvolvedor para trabalhar com a plataforma (embora creio que sempre é bom tê-los por perto). Aliás, o primeiro passo vem um pouco antes…

1) Por que você quer aprender a trabalhar com Magento?

Se você é lojista e está tendo problemas com seu desenvolvedor, recomendo que converse com ele ou procure outro desenvolvedor antes de tentar aprender a trabalhar com o Magento. Muitas pessoas querem aprender o Magento porque não estão satisfeitos com quem lhes dá suporte ou que estão gastando muito dinheiro com  isso. Acredite, você gastará tempo em incrementar seus conhecimentos em algo que não é seu foco e precisará gastar mais tempo ainda para manter-se atualizado, já que isso muda muito rápido.

Para aqueles que desejam apenas vender com o Magento, entender o funcionamento do sistema e ter uma base para uma conversa em alto nível com o desenvolvedor ou a empresa que dá suporte, não é necessário saber programar e nem mesmo trabalhar com HTML e CSS. É importante apenas que você saiba como o Magento é estruturado (o core, o tema, os módulos) e o que você pode fazer com ele. A implementação em si, deixe por conta do desenvolvedor.

Aliás, nesse tópico cabe uma outra dica: sempre encontro problemas em lojas feitas pelos próprios lojistas. Não estou dizendo que lojistas ou inexperientes não possam fazer boas lojas (eu mesmo não sabia nada de web há 10 anos e me vi obrigado a aprender para aproveitar uma lacuna de mercado) mas a situação comum são lojas destruídas, com funcionamento precário e que não podem ser simplesmente remendadas (leia-se, o barato sai caro).

2) O que você quer fazer com o Magento?

Você quer saber mexer com o Magento para montar uma loja virtual própria? Quer trabalhar com implantação de lojas simples, padronizadas, com temas prontos e customização mínima? Quer desenvolver lojas completas? Quer implantar marketplaces para aproveitar a onda do mercado? Para cada objetivo, você terá diferentes níveis de aprendizado.

  • Quer apenas entender como o Magento funciona – você pode ler o meu livro Lojas Virtuais com Magento, onde apresento os conceitos básicos da plataforma, oriento sobre planejamento e construção do catálogo de produtos, falo superficialmente sobre temas e módulos e apresento as ferramentas do dia-a-dia de uma loja. Também há bastante material ao longo desse blog.
  • Quer ser um lojista usando Magento – recomendo a leitura do livro e do blog, mas também recomendo que você foque um pouco mais em entender quais são as ferramentas disponíveis adicionalmente ao Magento – os vários módulos do Magento Connect, por exemplo -, opções de entrega e pagamento (suas vantagens e suas deficiências), quando vale a pena usar loja alugada ou loja própria e quais as opções de temas disponíveis no mercado.
  • Quer construir lojas simples, usando temas prontos – se sua ideia é fornecer lojas padronizadas, com pouca customização e um conjunto padrão de módulos, você deve entender o funcionamento do Magento, ser capaz de instalar módulos e resolver pequenos conflitos e customizar temas. Você pode ler o livro Temas em Magento, onde ensino os princípios da construção de um tema e buscar conteúdo para entender o que fazer quando algum módulo der conflito.
  • Quer construir lojas um pouco mais complexas – se você pretende construir lojas customizadas, adaptando módulos prontos e construindo seus próprios módulos, além de já saber como o Magento funciona, recomendo a leitura do livro Módulos para Magento. Ele não vai te ensinar a construir um módulo complexo e não te ensinará tudo, mas será uma base para que você entenda o funcionamento e saiba o que deve buscar de informações adicionais.
  • Quer construir lojas realmente complexas – sendo curto, você deve passar pelos itens anteriores e compreender que não há um curso ou guia pronto, nem mesmo aprenderá tudo em alguns dias. Ser um profissional Magento completo requer alguns anos de experiência.

3) Qual é a sua base?

O Magento não é uma ilha, não é um software isolado, que se aprende do zero. Para mexer com Magento, você deve ter conhecimentos prévios e estar preparado para adquirir novos conhecimentos a todo instante. Resumidamente, para cada etapa que você cumprir, é preciso ter algo como:

  • Trabalhar com o Magento – entender de web e como funciona um software acessível via navegador; ter uma base sobre provedores e servidores (mesmo que o Magento venha pré-instalado por seu provedor ou entregue por seu desenvolvedor); compreender o conceito de módulos, blocos que se encaixam para inserir novas funções. Saber como procurar os itens necessários e como instalá-los também é interessante.
  • Desenvolver lojas virtuais – conhecer HTML e CSS é fundamental; entender o funcionamento do Javascript e ter uma base das bibliotecas também é legal, especialmente porque o Magento é baseado em Prototype e a maioria das pessoas que já trabalham com isso conhecem o Jquery. Estar disposto a entender o XML do Magento e sua forma de definir as configurações fará toda a diferença além de entender as centenas de pastas que compõem a plataforma. Saber buscar a solução para os problemas e principalmente entender o que a solução está propondo, para não limitar-se ao CCF?B! (Copiou, Colou… Funcionou? Beleza!).
  • Desenvolver temas para Magento – aqui você não escapará de conhecer HTML, CSS e JS a fundo, além de entender o XML e ter uma boa base de PHP. Antes de querer mexer com temas no Magento, tenha isso em mente e busque aprimorar esses conhecimentos.
  • Adaptar módulos para Magento – como há diversos módulos disponíveis no mercado, gratuitos e pagos, você dificilmente precisará construir uma solução do zero. O problema aqui é que, dado a baixa qualidade de muitos módulos no que se refere às boas práticas, é comum um módulo quebrar o outro e os dois quebrarem o core. À medida que você quiser construir lojas melhores, será necessário entender como adaptar os módulos instalados para solucionar conflitos e estender suas funções. Para isso, é preciso ter uma base sólida de PHP, entender a orientação a objetos e a herança das classes, além de saber para que servem cada uma das áreas de um módulo. Não digo que você precise dominar essa parte mas quanto mais conhecimentos tiver, mais rápido resolverá os problemas gerados.
  • Desenvolver módulos para Magento – quando você quiser construir seus próprios módulos, não escapará de dominar o PHP OO, entender o funcionamento do XML, os métodos do Magento e como trabalham as inúmeras funções do core.

Então, é preciso avaliar o que você quer fazer e qual a sua base. Não entende nada de orientação a objeto no PHP, não tem a menor ideia de como isso funciona? Não digo que você não possa aprender, porém antes de querer dominar o Magento, você precisa fazer a lição de casa e buscar preencher essa lacuna. Quer fazer temas, entende da construção de páginas estáticas mas fica perdido quando é preciso trabalhar dinamicamente e, ainda por cima, montar páginas usando XML? Perca algumas horas entendendo esse mecanismo e compreendendo o porquê dessa construção.

4) Qual é o seu prazo?

Você precisa aprender a trabalhar com Magento até o fim do mês pois precisa entregar uma loja que seu chefe mandou fazer e você aceitou pois achava que era fácil? Lamento, sente com ele, mostre esse artigo e aceitem que isso não será possível. Conforme o degrau da escada em que você estiver, seu aprendizado poderá levar algumas semanas ou alguns anos. Não se esqueça disso!

Só para não deixar frustrado quem esperava um passo-a-passo real para aprender a desenvolver lojas virtuais com Magento, fecho esse post com um micro-roteiro:

  • Saiba o que você quer fazer com o Magento e seja honesto em relação aos seus conhecimentos atuais.
  • Faça uma escala de estudo nas linguagens e softwares que você precisa aprender antes de começar a trabalhar com Magento.
  • Cumpra um degrau da escada de cada vez.
  • Em cada degrau, busque sites, cursos em vídeos e livros. Aprenda a teoria mas principalmente, entenda o motivo das coisas acontecerem daquele jeito.
  • Pratique, pratique e pratique. Você só aprenderá se praticar muito.
  • Quando o Magento te deixar louco, nem pense em desistir! 😀

Bons estudos! Se você quiser complementar esse roteiro, fique à vontade, os comentários estão abertos.

Passo-a-passo para ser um desenvolvedor Magento
2 votos, 5.00 média (95% pontuação)
  • Jr Germano

    Bom dia, Adnré.
    Belo material, chega deu um calafrio. Vendo seus vídeos em 2013 comentasse com ressalvas sobre a AWS, mas e hoje? Qual teu parecer da relação dela com o Magento, prós e contras, principalmente em relação ao PaaS com Magento disponíveis hoje.

    Muito obrigado pelo material!

  • Arnaldo Leite

    O Magento é especifico para desenvolver lojas virtuais? ou posso desenvolver qualquer Site?

  • Georgina De La Torre

    Cara, obrigada pelas dicas, ótima dica 1, às vezes a pessoa acha que é inteligente e que pode fazer ela mesma, porém não está sendo inteligente pois está gastando tempo e energia em outra coisa que não seu foco. Valeu!!