Ok, so here is my problem:
I work for a big company, some how landed a job (frankly because the interview was easy). It's not that I don't know my stuff, I am pretty good at understanding java, it's libraries etc.
But, when ever I try to solve some logic problem, I find it really hard to come up with a solution.
conversion of decimal to roman, when I saw the solution, I find that it's a simple problem. But I was not able to implement it after 1-2hrs of trying out!
I feel I am dumb and not worth being a software engineer. Puzzle solving abilities should come natively to a great programer. But when I try to solve some puzzles, I am not able to find a solution and I just google it up!....and I hate that!
When given a problem (like implement xyz feature) at work, I am fairly pretty quick at it and am respect at my work place for that, but I am not at all proud about it. Because when I try to solve any mathematically or logic wise challenging problem, I fumble. I still feel I love what I am doing (as an engineer) but feel really sad that I am not able to solve some tough logic problems which I friends come up with.
I feel demoralized :(
TL;DR: I understand stuff from a practical viewpoint (implementing features in our product) but when trying to work on problem from say ProjectEuler, I SUCK badly! And I need to Sharpen my brain!
So, my questions are:
- How should I go about fixing it? Should I start with solving (and forcing my self to) project euler problems? Even if it takes hours for me to solve some basic problems?
- Or should I go back to basics and study some basic math?
- I don't really find puzzle solving fun. But I want to make it fun for my self! And I think if I understand them in a better manner, I will like it!
PS: I was never educated in CS (my undergrad was electrial). But that's not an excuse to be a sucky developer.