Хороший кодер пишет работающий код. Хороший software engineer решает правильную задачу комплексно — владея требованиями, дизайном, компромиссами, поддерживаемостью, тестированием, операциями и бизнес-контекстом кода. Engineering — это код плюс суждение плюс ответственность на всём протяжении жизненного цикла.
Где проходит линия
Написать код, который проходит тесты — это лёгкая, обучаемая часть. Более сложная и более ценная часть — это всё вокруг: решить, строить, это должно вписаться в систему, и придётся платить позже.
