É um desenvolvedor em início de carreira, acabou de sair da faculdade (ou está ainda cursando) e não tem experiência comprovada no desenvolvimento de software dentro de uma empresa. Seu foco de atuação é no desenvolvimento de cada unidade de um software, e para isso deve receber as especificações completas dos problemas, contendo: entradas, comportamentos esperados e saídas.
- Funcionamento e uso das estruturas básicas de programação (if, else, else if, for, foreach, while, do/while, switch);
- Conceitos básicos de orientação à objetos (objeto, classe, método, abstração, polimorfismo);
- Utilização básica de bancos de dados relacionais
- Queries básicas (SELECT, INSERT, UPDATE e DELETE);
- Uso de JOINs (INNER, OUTER, LEFT, RIGHT, ...);
- Criação correta de páginas web
- Estrutura semântica dos componentes usando o HTML;
- Estilização dos componentes usando CSS;
- Comportamentos dos componentes utilizando JS não obstrusivo;
- Entendimento básico do protocolo HTTP (RFC 2616)
- Criação de URIs semânticas;
- Configurações básicas do PHP (diretivas no php.ini)
- memory_limit;
- display_errors;
- error_reporting;
- log_errors;
- short_open_tag;
- post_max_size;
- upload_max_filesize;
- date.timezone.
- Configurações básicas do webserver (Apache/Nginx)
- Virtual hosts;
- mod_rewrite;
- Conhecimento básico sobre sistemas operacionais e linha de comando. Comandos como
ls
,cd
,pwd
,history
,mkdir
,cp
,mv
,man
,cat
,head
,tail
,touch
,less
,nano
,vi
,chmod
,chown
,apachectl
,apt-get
,yum
; - Conhecimento básico do uso do git (checkout, pull, commit, push, add, reset);
- Conhece e utiliza ao menos a PSR0
- Conhecimentos básicos de algum framework MVC
- Sedento por conhecimento ao extremo (sempre pesquisando e perguntando);
- Organizado;
- Recebe bem opiniões externas sobre seu trabalho;
- Bom relacionamento com os colegas;
- Boa comunicação oral e escrita;
- Participativo em comunidades online.