Sobes.tech
Junior — Middle

Que sinais indicam que o seu nível de competência profissional corresponde ao nível Middle?

sobes.tech IA

Resposta da IA

O nível Middle em desenvolvimento Go é geralmente caracterizado por:

  • Domínio seguro dos fundamentos da linguagem: compreensão de goroutines, canais, interfaces e estruturas.
  • Capacidade de desenvolver e manter módulos de dificuldade média de forma independente.
  • Conhecimento da biblioteca padrão e habilidade para aplicá-la na resolução de problemas práticos.
  • Experiência com sistemas de controlo de versões e escrita de testes (unitários, de integração).
  • Compreensão de princípios de design e padrões, e capacidade para ler e melhorar código alheio.
  • Participação em revisões de código, e habilidade para dar e receber críticas construtivas.
  • Capacidade para estimar tempos de execução de tarefas e planear o seu trabalho.

Exemplo: pode escrever uma função que processe dados de forma eficiente usando goroutines e canais, e cobri-la com testes.

func sum(nums []int, c chan int) {
    total := 0
    for _, n := range nums {
        total += n
    }
    c <- total
}

func main() {
    nums := []int{1, 2, 3, 4, 5, 6}
    c := make(chan int)
    go sum(nums[:len(nums)/2], c)
    go sum(nums[len(nums)/2:], c)
    x, y := <-c, <-c
    fmt.Println(x + y) // 21
}