Итак, вот моя проблема:
Я работаю в большой компании, кое-как, как устроился на работу (честно говоря, потому что интервью было легко). Дело не в том, что я не знаю свои вещи, я довольно хорошо разбираюсь в Java, это библиотеки и т.д.
Но когда я пытаюсь решить какую-то логическую проблему, мне действительно трудно найти решение.
Например, conversion of decimal to roman
когда я увидел решение, я обнаружил, что это простая проблема. Но я не смог реализовать это после 1-2 часов попытки!
Я чувствую, что я тупой и не стоит быть инженером-программистом. Способности решать головоломки должны исходить от великого программиста. Но когда я пытаюсь решить некоторые головоломки, я не могу найти решение, и я просто гуглю его! .... и я ненавижу это!
Когда мне задают проблему (например, реализуют функцию xyz) на работе, я довольно быстро ее решаю и уважаю за это на работе, но я совсем не горжусь этим. Потому что, когда я пытаюсь решить любую математически или логически сложную задачу, я возуюсь. Я все еще чувствую, что мне нравится то, что я делаю (как инженер), но мне действительно грустно, что я не могу решить некоторые сложные логические проблемы, с которыми сталкиваются мои друзья.
Я чувствую себя деморализованным :(
TL; DR: Я понимаю вещи с практической точки зрения (реализуя функции в нашем продукте), но когда пытаюсь работать над проблемой, скажем, ProjectEuler, я плохо отстой! И мне нужно отточить свой мозг!
Итак, мои вопросы:
- Как мне это исправить? Должен ли я начать с решения (и принуждения себя) к решению проблем Эйлера? Даже если мне потребуются часы, чтобы решить некоторые основные проблемы ?
- Или я должен вернуться к основам и изучать основы математики?
- Я действительно не нахожу решение головоломки интересным. Но я хочу сделать это весело для себя! И я думаю, что если я пойму их лучше, мне это понравится!
PS: я никогда не получил образование в CS (мой студент был электоральным). Но это не повод быть отстойным разработчиком.
Спасибо!