10 dicas do Amazon Q Developer para desenvolvimento real em AWS

Amazon Q Developer é muito mais do que preenchimento de código para AWS. A maioria dos desenvolvedores apenas arranha a superfície — aqui estão as capacidades que o tornam genuinamente valioso para trabalho nativo em nuvem.

1. Use Q Developer para Geração de Políticas IAM

Escrever políticas IAM manualmente é doloroso e propenso a erros. Q Developer lida com isso naturalmente:

Create a least-privilege IAM policy for a Lambda function that:
- Reads from DynamoDB table 'orders' (only GetItem and Query)
- Writes to S3 bucket 'invoices' (only PutObject, prefix: generated/*)
- Publishes to SNS topic 'order-notifications'
- Reads from Secrets Manager secret 'prod/stripe-key'
Include resource ARNs with account ID placeholder.

Q Developer gera políticas com nomes de ação corretos, formatos de ARN de recurso e chaves de condição. Ele entende a diferença entre s3:PutObject e s3:PutObjectAcl e não concederá acidentalmente permissões mais amplas do que solicitado.

2. Verificação de Segurança Vale a Pena Executar Semanalmente

Não execute verificações de segurança apenas quando se lembrar. Estabeleça um hábito:

  • Segunda-feira: verificação completa do projeto
  • Antes de cada PR: verificar arquivos alterados

Q Developer detecta coisas que outras ferramentas perdem porque entende vulnerabilidades específicas da AWS: políticas de bucket S3 excessivamente permissivas, credenciais codificadas em variáveis de ambiente do Lambda, tabelas DynamoDB não criptografadas e configurações inseguras do API Gateway.

A verificação é gratuita (50/mês no nível gratuito). Use todas elas.

3. Gere CloudFormation e CDK a partir de Descrições

Em vez de procurar documentação para cada propriedade de recurso:

Write a CDK stack in TypeScript that creates:
- API Gateway with CORS enabled for https://myapp.com
- Lambda behind the API with 256MB memory and 30s timeout
- DynamoDB table with partition key 'userId' and sort key 'timestamp'
- On-demand billing for DynamoDB
- API Gateway stage with access logging to CloudWatch
Include all IAM roles with least-privilege permissions.

Q Developer gera código CDK que realmente é implantado. Ele lida com as interconexões entre recursos (funções IAM, permissões, variáveis de ambiente) que são a parte mais tediosa da IaC.

4. Solucione Problemas de Erros da AWS com Contexto

Quando você encontra um erro da AWS, forneça a Q Developer o contexto completo:

I'm getting "AccessDeniedException" when my Lambda function 
tries to call DynamoDB. Here's the Lambda's execution role ARN: 
arn:aws:iam::123456:role/my-lambda-role

The DynamoDB table is in us-east-1, the Lambda is in us-west-2.
The table name is 'user-sessions'.

What's likely wrong and how do I fix it?

Q Developer entende padrões de acesso entre regiões, políticas baseadas em recursos versus baseadas em identidade e armadilhas de permissão comuns que levam horas para depurar manualmente.

5. Use Q Developer para Consultas de Otimização de Custos

Review this CloudFormation template and suggest cost optimizations. 
We're a startup with:
- ~5000 daily active users
- 500 API requests/minute at peak
- 50GB of S3 storage growing 5GB/month
- PostgreSQL RDS currently on db.r5.large

Q Developer entende modelos de preços da AWS e pode recomendar: mudar para instâncias Graviton, usar capacidade reservada, migrar para Aurora Serverless, implementar políticas de ciclo de vida do S3 e redimensionar recursos de computação.

6. Transformação de Código para Atualizações de Java

Se você mantém aplicações Java (comum em empresas da América Latina), este recurso sozinho justifica usar Q Developer:

  1. Abra seu projeto Java 8 ou 11
  2. Paleta de Comandos → “Amazon Q: Transform”
  3. Selecione a versão de destino (Java 17 recomendado)

Q Developer lida com:

  • Substituições de API descontinuadas
  • Novos recursos de linguagem (records, sealed classes, pattern matching)
  • Migração Spring Boot 2 → 3
  • Mudança de namespace javax → jakarta
  • Atualizações de versão de dependência
  • Atualizações de testes

Revise cuidadosamente — não acertará todos os casos extremos — mas elimina 80% do trabalho de migração manual.

7. Gere Testes Unitários com Contexto AWS

Generate unit tests for this Lambda handler using Jest. 
Mock the AWS SDK v3 calls (DynamoDB and S3). 
Test: successful execution, DynamoDB not found, S3 upload failure, 
invalid input, and timeout scenarios.
Use aws-sdk-client-mock for the mocks.

Q Developer gera testes que simulam corretamente clientes AWS SDK v3, que têm um padrão de simulação diferente do SDK v2. Este é um ponto de dor comum que ferramentas de IA de propósito geral frequentemente acertam errado.

8. Use a CLI para Operações Rápidas da AWS

O comando de terminal q chat é útil para perguntas operacionais rápidas:

q chat "Show me the command to list all Lambda functions 
in us-east-1 that haven't been invoked in the last 30 days"
q chat "How do I set up CloudWatch alarms for API Gateway 
5xx errors exceeding 1% of requests?"

Ele gera os comandos corretos da AWS CLI com formatos de parâmetro apropriados, o que economiza viagens constantes à documentação.

9. Combine com Seu Editor de IA Existente

Q Developer não precisa ser sua única ferramenta. Uma configuração prática:

  • Q Developer → todo código específico da AWS (Lambda, CDK, IAM, CloudFormation, solução de problemas)
  • Cursor ou Copilot → código de aplicação geral (React, lógica de negócios, algoritmos)
  • Q Security Scanning → executar em cada PR independentemente de qual ferramenta escreveu o código

Instale Q Developer ao lado da ferramenta de IA do seu editor principal. Eles não entram em conflito.

10. Aprenda Serviços AWS Através do Chat Q Developer

O chat do Q Developer é uma das melhores maneiras de aprender AWS porque explica serviços no contexto do seu código real:

I need to add real-time updates to my app. Compare:
- AppSync with GraphQL subscriptions
- API Gateway WebSocket API
- IoT Core MQTT

My app has ~1000 concurrent users, updates every 5 seconds, 
and I'm already using API Gateway REST for other endpoints.
Which approach fits best and why?

As respostas são fundamentadas em capacidades reais da AWS, preços e padrões de integração — mais prático do que ler documentação genérica.

Quais fluxos de trabalho da AWS você está usando Q Developer? Compartilhe sua experiência abaixo. :backhand_index_pointing_down: