Junior — Middle
What signs indicate that your level of professional competence corresponds to the Middle level?
sobes.tech AI
Answer from AI
The Middle level in Go development is usually characterized by the following features:
- Confident mastery of the basics of the language: understanding goroutines, channels, interfaces, structures.
- Ability to independently develop and maintain modules of medium complexity.
- Knowledge of the standard library and the ability to apply it to solve practical problems.
- Experience with version control systems, writing tests (unit, integration).
- Understanding of design principles and patterns, ability to read and improve other people's code.
- Participation in code reviews, ability to give and receive constructive criticism.
- Ability to estimate task completion times and plan your work.
Example: you can write a function that efficiently processes data using goroutines and channels, and also cover it with tests.
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
}