It’s funny. I’ve been a developer my whole life (since I was 18, professionally) and I’ve always thought of myself as a good one. I’ve never had any issues solving any challenges that my employers presented. Some were easy, others took a little bit more time, but they were never unsolved. I must say, though, that I had a lot of different jobs. Usually with the same title and responsibilities, but in many different companies. I have landed great jobs and participated in some life changing projects throughout my career. Things that I really should be proud of.
The thing is, in 2013 I had my first big failure as a developer. I was interviewed for a job opening in Facebook (dream job, right?). And I thought I had it. Yes, I was a silly goose but, what the hell, right? I had nailed every single interview I’ve ever been in. Technical and non-technical. Well, not that one. I failed that one HARD! And, you know what? I didn’t take it easy. I felt like the worst piece of crap and then, right after that, I’ve developed something called Imposter Syndrome, although, at the time, it didn’t have a name. Not to me, anyway.
Here is the deal: I started to think that I was an imposter, a phony, a person who was full of it. Everything that I’ve accomplished in my life was a lie. My jobs, promotions, compliments that I have received. I WAS A LIE! Even now, 3 years later, after receiving 3 incredible feedbacks from my managers and peers, I still think that I’m deceiving them, that I’m not good enough. That I’m lucky and I should tell them that.
I came upon this term, Imposter Syndrome, just a few weeks ago, in a youtube video from a channel I follow closely. It is Portuguese only(sorry). And it was eye opening to me. “I’m not alone”, I thought. And it was pretty clear to me that my lack of confidence in my skills brought me to that position. And this is something that needs fixing ASAP.
Million-dollar question: How to change that?
Well, you are going to find a lot of solutions online, that might be right or wrong, as I haven’t tried them. There is a great post by David Walsh that was very helpful and made me feel better about myself. He is clearly more successful than I am and he still suffers from this. I’m REALLY not alone on this one. I decided, though, to ask myself what brought me into this… The Facebook failure was not the starting point; it was the last drop. I was feeling like an imposter way before that, but it wasn’t bothering me, like it is now. So, I’ve decided to regroup.
I failed the Facebook interview for multiple reasons:
I forgot the basics. Peterson, Dijkstra and Knuth left my mind as soon as I graduated from college and started developing real software.
I lean to much on the intellisense feature that comes along with 99% of the IDEs.
Stackoverflow made me a little bit more stupid every time I was in a hurry to understand what was going on in that piece of borrowed code.
For these issues, I came up with the following solutions:
- Get back to the basics: The first thing I did was to buy new technical books. Yes, books! Books related to algorithms, best practices and optimization.
- Instead of finding my solutions on Stackoverflow, the Apple documentation became my number one resource. That was a small but very significant change, mainly because things are not chewed and thrown into your IDE that easily. You have to read the docs, understand what going on and then apply the theory into your code. I know it sounds simple, but bad habits don’t break that easily.
- Optimize everything. Every single loop, array, dictionary, collection, whatever. There is always a way to make things faster and better if you look into the solution deep enough.
So, here I am. Trying to change my professional life, trying to get more confidence and, most importantly, trying to get cured from this “syndrome thing”.
By rerouting my focus to relearn what I forgot, I hope to become a better developer. Not for the organization that I’m currently working for, but for myself.