Conheça a Informant          RSS

Posts Tagged: desenvolvedor


29
May 14

16 extensões para Chrome que todo programador precisa conhecer

Keyboard

Todo bom programador conhece – e tem disponível para si – uma grande variedade de ferramentas que o ajudam a construir softwares melhores, mais rápidos e confiáveis. Com todo o avanço da tecnologia, atualmente não é mais necessário confiar apenas numa página de texto em branco para que seu código atenda todas as demandas dos usuários.

Da mesma forma, os próprios browsers evoluíram para que as aplicações ficassem melhores. Neste sentido, não precisamos considerar apenas os avanços nos motores de renderização, mas principalmente nas possibilidades criadas pela inclusão de extensões – tanto no Google Chrome quanto no Mozilla Firefox.

Neste contexto, criamos uma lista com 16 extensões que todo programador precisa conhecer para levar seu código para o próximo nível de qualidade. Confira:

Programadores front-end

JSON View: extensão que serve para organizar qualquer arquivo JSON, deixando-o legível e mais fácil de trabalhar. É terrível abrir esse tipo de documento e dar de cara com milhares de caracteres sem indentação, não é? Essa extensão resolve!

W3C Validator: validar um código HTML ou CSS de acordo com as normas W3C ficou muito mais fácil com essa extensão. Basta entrar no site, clicar no botão e pronto.

jQuery API Browser: a maneira mais rápida de encontrar a documentação de qualquer API jQuery. Abra a caixa de busca, digite o nome do método e toda a documentação será carregada.

Frameworks: a extensão para descobrir quais frameworks o site que você está navegando utiliza.

Programadores mobile

Window Resizer: a extensão Window Resizer faz o que o nome promete, redimensiona a tela do navegador para testar como o site se comporta em resoluções diferentes. Uma mão na roda para quem se preocupa com design responsivo!

Ripple: Ripple é um emulador completo. Através dele é possível mudar simular perfeitamente como um smarphone reagiria ao seu código, incluindo a orientação da tela e até o acelerômetro.

Para usar com Github

Octofication: Após sincronizado com sua conta do GitHub, permite receber notificações dos repositórios que você acompanha.

Diff for Gist: é uma extensão que exibe as diferenças entre cada revisão do código, simplificando a manutenção e o acompanhamento, principalmente em trabalhos em grupos.

Webdesign

ColorZilla: ColorZilla é um “conta-gotas” instalado diretamente no seu Chrome que apresenta o código de qualquer cor, clicando sobre ela.

WhatFont: O WhatFont tem um funcionando muito parecido ao ColorZilla, mas para fontes. Selecione um trecho, aponte o WhatFont e descubra qual fonte está sendo utilizada.

Workflow

LiveReload: Extensão que evita a necessidade de ficar dando F5 para visualizar as alterações na página. Ajuda, principalmente, a economizar tempo na troca de janelas.

Performance

PageSpeed: Verifica cada aspecto do seu site e avalia se ele está de acordo com as diretrizes de desempenho e SEO do Google.

YSlow: Famosa ferramenta do Yahoo! que verifica a performance do seu site.

Speed Tracer: Analisa e gera relatórios sobre a velocidade de execução dos seus JavaScripts e seletores CSS, entre outros detalhes.

Outros

Firebug e WebDeveloper poderiam se encaixar em várias das categorias acima, mas estão em “Outros” porque ajudam em todo o processo de desenvolvimento através de ferramentas de debug e otimização.

Conhece alguma outra extensão importante que ficou de fora? Aproveite os comentários abaixo e complemente nossa lista!


21
May 14

Humor: Conheça a metodologia GoHorse!

Creative Process

Há três formas de se resolver um problema: a correta, a errada e a GoHorse, que é igual à errada, só que mais rápida. Apesar de todas as linguagens de programação possuírem metodologias e processos que fazem delas ótimas aliadas na construção de novas ferramentas, ainda há uma grande parcela de desenvolvedores que teimam em ignorá-las e criam seus códigos da maneira que mais lhe convém. Essa falta de metodologia é que originou a criação da metodologia GoHorse que reúne em alguns axiomas o que há de pior em se tratando de desenvolvimento web.

Ignorar prazos, ignorar os clientes, ignorar o código. Para cada problema resolvido, criam-se outros sete e assim sucessivamente. Ainda que seja uma piada, a GoHorse exemplifica muito da realidade de inúmeras fábricas de software. Nelas, programadores são incentivados a serem autênticos, não respeitando padrões de código e compilando qualquer coisa que esteja funcionando. Isso significa que códigos monstros são gerados, que apenas farão encarecer a manutenção e tornar a aplicação lenta e insegura.

GoHorse também serve para nomear aqueles programadores que não testam seu código e muito menos procuram corrigir falhas, desde que essas não seja visíveis. Em geral, aplicações que começaram a ser escritas por GoHorse não podem ser refeitas, já que o acúmulo de lixo no código é tão grande que tornaria essa tarefa impossível. Dessa forma, GoHorse evita a todo custo que qualquer tipo de ordem seja implementada. Ou seja, GoHorse é completamente anárquica.

A não utilização de processos

A metodologia GoHorse incentiva que os processos sejam abandonas em prol da rapidez, mesmo que isso signifique não apenas um código ruim, mas a criação de mais problemas no futuro. Desde que esses problemas façam parte do próximo time de desenvolvedores, então não há problema.

Mas GoHorse não impacta negativamente apenas o código, mas a empresa como um todo. Não há comprometimento com prazos, a qualidade é relativa e o custo sempre irá extrapolar o planejado entregando menos funcionalidades. Isso significa que, aos poucos, a metodologia GoHorse também destruirá a reputação da empresa.

Pior que tudo isso, GoHorse incentiva que os programadores “abandonem o barco” sempre que algo sair do controle, como um código que não funciona mais ou então um cliente reclamando. Inclusive, se um membro da equipe sair, é muito provável que o projeto acabe, já que ninguém mais será capaz de continuar o mesmo código.

Como evitar a GoHorse

Evitar a GoHorse deve ser um cuidado que todo gestor de projetos deve tomar. Para isso é fundamental que ele conheça um pouco de tecnologia e tenha no seu time pessoas de confiança e comprometidas com o resultado.

Não é incomum ver projetos inteiros sucumbindo por falta de liderança e programadores preguiçosos. Dessa forma, crie uma metodologia de gestão de projetos capaz de evitar a falta de testes e a criação de código ruim. Mais do que isso, incentive o cumprimento de prazos e mantenha sempre todos engajados em torno dos objetivos da empresa.

Aos poucos você irá perceber que seu próprio time irá se rebelar contra praticantes de GoHorse fazendo com que o nível que qualidade do todo seja elevado.

E você, já praticou GoHorse? Conte-nos nos comentários abaixo o que você faz para se manter longe dessa “metodologia”.


18
Mar 14

Qual a diferença entre engenheiro, programador e desenvolvedor?

diferença

O projeto de desenvolvimento de um software reúne profissionais das mais diferentes formações. Programadores, desenvolvedores, engenheiros, gestores, clientes e patrocinadores podem ter estudado diferentes disciplinas técnicas ou de graduação e executar várias funções durante o planejamento e a realização do projeto.

No mercado da computação, é comum vermos pessoas e empresas tratando programadores, desenvolvedores e engenheiros de software como sinônimos. No entanto, a forma como cada um desses profissionais atua no dia a dia é bem diferente e pode fazer toda a diferença na forma como um projeto é conduzido.

Ao tentar explicar esse contraste, é comum vermos pessoas fazendo analogias com a construção civil, como os arquitetos, engenheiros, designers, etc. No entanto, comparações como essas são reducionistas e não suficientes para explicar muitos dos aspectos envolvidos.

E você? Sabe qual a diferença entre um programador, um desenvolvedor e um engenheiro?

O programador

O programador é o profissional que tem contato direto com a construção do software no computador. Ele é o responsável por escrever o código para colocar o sistema em funcionamento, lembrando-se que ele deve estar limpo, organizado e evitando erros.

Ao receber os requisitos de um projeto, o programador passa a trabalhar na maior parte do tempo de forma individual, concentrado no desenvolvimento das aplicações.

O programador deve ser fluente em ao menos uma linguagem de programação e saber qual a melhor forma de escrever o código para que o sistema funcione de maneira adequada.

O desenvolvedor

Os desenvolvedores de softwares também podem fazer tudo aquilo que um programador faz. No entanto, além desses conhecimentos e habilidades, os desenvolvedores se preocupam não somente com o código, mas também com a execução do projeto como um todo.

Além da parte técnica de escrita do código, o desenvolvedor se relaciona com outros profissionais da equipe do projeto, pessoas de outras áreas da empresa, clientes e patrocinadores. Ele precisa ter uma compreensão mais abrangente para que o software atenda aos requisitos propostos e que as etapas sejam seguidas da melhor forma possível.

No entanto, apesar de se ocupar menos com a parte técnica em relação ao programador, é fundamental que o desenvolvedor tenha capacidade de trabalhar no código quando necessário e conhecer a linguagem de programação utilizada, para que possa avaliar e tomar decisões da forma adequada.

Engenheiro

O engenheiro de softwares também pode realizar todas as tarefas de responsabilidade dos programadores e desenvolvedores.

No entanto, o engenheiro precisa ter uma visão ainda mais global do desenvolvimento do sistema.

Ele é responsável pela confiabilidade do software, sua qualidade final e a capacidade de ser mantido de forma sustentável pelo cliente. Os engenheiros também devem ser capazes de fazer a ponte entre os requisitos do projeto, o design do sistema, a codificação, a manutenção do código e os testes.

Integração

Apesar das diferenças entre esses profissionais, é importante lembrar que cada um deles tem um papel fundamental par a entrega de um software dentro dos requisitos propostos.

Além disso, já se foi o tempo em que desenvolvedores e engenheiros apenas pensavam sobre o sistema. Hoje em dia, também é fundamental que eles tenham conhecimentos técnicos sobre linguagem de programação para que possam gerenciar profissionais com sucesso e alcançar melhores resultados.


23
May 11

Informant abre duas vagas para Programador Web

Estamos em busca de desenvolvedores de Web (Java/Grails/Rails) é necessário ter vivência em projetos, estar familiarizado com metodologias ágeis de desenvolvimento, estar disposto a enfrentar novos desafios diariamente, assumir responsabilidades e não ter medo de errar.

Conhecimentos técnicos esperados:

– Experiência de no mínimo 5 anos no desenvolvimento web em plataforma java/grails/rails, Java Web, Javascript, HTML, CSS.

O que oferecemos:

– Contratação CLT e benefícios.
– Um ambiente ágil, colaborativo e nossa sala tem quadros brancos espalhados por todas as  paredes;
– Você estará em contato com profissionais altamente capacitados, aprendendo constantemente;
– Terá possibilidade além de aprender,  por em prática metodologias ágeis, como XP, SCRUM e técnicas de TDD, pair programming e refactoring;
– Você pode trabalhar de bermuda e chinelo;
-E ainda será mimado com muito café, chocolate quente e bolachas recheadas.

Agora que você já sabe como é trabalhar na Informant, o próximo passo é enviar seu currículo pra gente que entraremos em contato: talentos@informant.com.br