На мой субъективный взгляд это не выглядит слишком сложным.
Вот в этом твоя ошибка. Как показывает опыт, в таких задачах всегда есть неожиданные ситуации, которые возникают при разработке. И всё зависит от того, насколько ты способен решать такие неожиданности (подводные камни). А для этого нужен практический опыт.
Пример
Просто представь ситуацию: ты идёшь продавцом куда-нибудь и думаешь подзаработать, но у тебя нет опыта. Ты думаешь "ну и что, что там сложного, продавать - дал товар, взял деньги и всё". Вот ты стоишь за прилавком, открывается дверь и забегает собака. Прыг-скок такая смешная, прыг-скок и прыг и лапой задевает банку какую-то и та разбивается. Ты к собаке (найти владельца) - она на улицу, убежала. И вот ты заходишь и читаешь на банке этой "огурцы мадагаскарские, тушёные в соусе чаппа, цена - 5000 рублей за штучку". И ты стоишь и думаешь "какой же я дурак был, что банку не убрал в недоступное место, мало ли кто её может так разбить".
Вот это - отсутствие опыта и заодно его приобретение.