Иногда по техзаданию сложнее написать, так что программист должен писать по тех. заданию, чтобы потом не было проблем, типа не так поняли. Кодер тупо набивает код даже не понимая его и получая результат, который часто не эффективен или глючный, отсюда и слово кодер... тупо бъет код. Обычно начинающие все такие и потому должны быть и старшие программисты которые хоть иногда могли контролировать, что там накодил этот криворукий. Про хак... то бишь взлом, уже все наслушаны и уровни знаний у них тоже разные, просто психология человека такова, что кто-то любить разбирать и вникать как это работает, кто-то любит создавать новое, кто-то любит залезть туда, куда запрещают и тд и тп. Вот я иногда по мелочам что-то и взламывал, но это даже не 1% настоящего хакера, так как этим надо гореть и постоянно в этой среде вращаться.... короче, торчат они от этой деятельности.