A curious thing happened during this morning’s dose of coffee & social media (the latter being an important component of my job at Magento, I promise). I read a brief piece on stoicism and then almost immediately was linked to an exchange from Eric S. Raymond to Linus Torvalds in which Mr. Raymond states the following:
…[T]he bill always comes due — the scale of the problems always increases to a point where your native talent alone doesn’t cut it any more.
The combination of these two posts has kind of rocked me to the core, and I want to discuss this openly.
Over the past few months thousands of people have seen me onstage stating, “If you are a skilled Magento 1 developer, much of your knowledge will port forward to Magento 2,” by which I mean that many of the distinct PHP framework and commerce application aspects of M1 are present in M2. Some aspects of M2 are essentially indistinguishable from their M1 implementation (e.g. the ORM), and some differ only in implementation pattern (e.g. route configuration and controller actions). While the existence of numerous code migration tools bears this out, what I was really trying to say was, “Change and modernization are part & parcel of M2, but never fear – you know what you need to know in order to make the transition!”
And yet, despite these calm assurances and my confidence in the Magento 2 code which we’ve crafted, I find myself seized by the same symptoms of unfamiliarity as I did when I expanded the Magento 1 download for the first time 7.5 years ago. The dread of self-doubt, the fear of failure, and the appearance of other’s inherent ability to master the material are once more swirling around me each time I open my editor. In other words, in Magento 1 I feel confident and capable, but in Magento 2 I am a babe in the woods. I have to wonder, is this impostor syndrome, or am I truly playing the part of expert when I have no right to? Am I struggling with something new, or am I an impostor?
I’m no stranger to Impostor Syndrome (IS); I’ve been experiencing it since I started teaching the Magento 1 Fundamentals of Development class 5 years ago. IS is a cognitive process in which one fears appearing to be a fraud by doubting or dismissing one’s abilities and accomplishments. This kind of irrational disconnect is typical of anxiety conditions and fits well with my history of anxiety disorder. The fear I experienced while teaching diminished over time once I accepted how much I knew and didn’t know, and it all but disappeared once I realized that it is okay to not know everything. In fact, for teachers, it’s essential to openly state as much! During this period I began speaking about Magento at PHP conferences, and while IS reared its head again, it wasn’t quite as strong as before, perhaps because my past experience inoculated me against it to a degree. However, in these nascent days of Magento 2, I am experiencing unrelenting symptoms of IS all over again. I want to share this experience honestly & openly with the community, because I think I see others struggling with IS as well – whether they know it or not.
For me, my fear stems from being pulled forward into modern PHP development. Consider all of the “new-to-me” technologies, workflows and tooling which are part of Magento 2 (or which at least complement its use):
- Newer, more SOLID architecture
- “Newer-than-PHP 5.2” language features: namespaces, generators, closures
- Composer (or even the idea of dependency management)
- Test coverage & TDD
- New frontend development approach & tooling (LESS, CSS mixins, Grunt, knockout.js, UI components)
- Code generation
This is not to say that these things are new (far from it). Rather, they are new to me and – I suspect – to many developers who have kept their focus inside the aging box of whichever framework idiom pays the bills.
Unpacking this reality is important, as it creates a logical path for resolving my fear. To that end, I’ll be posting at least bi-weekly about the technologies and workflows in Magento 2 which are new to me. This is mainly an effort to help myself and hopefully many others quickly become uninhibited and effective developers in Magento 2.
You all can help me by recommending topics which you’ve struggled with, or would like to see answered canonically. Comment here, @benmarks me on Twitter, or send an email to email@example.com.
14 thoughts on “The Imposter’s Slide”
Thanks for your vulnerability in this post, Ben.
I’ve been lucky enough to work closely with Magento 2 for the past ~8 months and there are still things that I’m unfamiliar with, such as the details around knockout.js.
I clearly understand what you mean and do feel the same…
Nice to read some words about it.
Well said, probably many developers feel that way. I think that being open about it is a good starting point for everyone.
Great post Ben…we despise routine yet fear change, it’s human nature…on one hand I feel we are custodians of the Magento legacy but at the same time we must move forward and expand the opportunities of this amazing platform.
I know exactly what you mean. Starting out teaching Magento U, my first thought was “What am I doing here?”…
I also had an “a-ha!” moment when I read about the concept of a “leading learner”. A leading learner does not profess to know everything. Instead, they take on an approach of charging the way to understand a topic and have a desire to share that with others. Once I realized that this was my real purpose, everything fell into place.
I do not take the stance of “master” of any technology. Instead, I do my very best to serve the members of the community with the knowledge I gain during my explorations.
I also feel you do the same Ben. Keep on keepin on!
first: Ben Marks thank you for being Ben Marks.
At least you can not be an imposter about that, right … or can you?
I was about to write a lengthy reply about anxiety, fear being a bad counselor etc.. realising you already had hit the nail and this post is exactly about overcoming your anxiety by just starting to learn.
And that’s exactly what I am going to do the rest of this Friday, “Rolling Up My Magento 2 Sleeves *)” Fearless, learning by doing, learning from others. And that’s what I believe this Magento Community is all about.
To thank you Ben Marks for being a Magento developer evangelist, with his own struggles and uncertainties like we all have.
*) this is a variation on Ethan Marcotte’s “Rolling up our Responsive Sleeves” talk back in 2012, which not coincidentally starts with “The Education of Henry Adams” , https://vimeo.com/55112449
Great post and quote “the scale of the problems always increases to a point where your native talent alone doesn’t cut it any more.” It’s good that we don’t speak only about technology without human feelings and emotions.
ps. It would be nice to see any real case study with as much details as it is possible. I’m personally interested in interesting post about frontend development area (to see different approaches in frontend workflows – even custom solutions to what offers M2 now, examples of using knockout.js and many more).
Kind words of PPK on the subject http://www.quirksmode.org/blog/archives/2016/04/impostor_syndro.html
Thank you for sharing, Ben!
Working with Magento devs, I can definitely see that they’re kind of frustrated with M2. Not because it’s bad, but because they’re devs. I know a ton of devs that will do the same thing over and over again, if it worked before for other development projects.
Some people get stuck in their ways and might not see an alternative, more efficient path to a solution. Especially when it comes to similar Magento projects. M2 makes them learn all of these new approaches, which frustrates them. So I think, a lot of the flack M2 is getting is pretty unsubstantiated.
As for the imposter’s slide, there’s a saying that always helped me explain it: “The more I learn, the more I realize how much I don’t know.” by Albert Einstein. In makes sense, especially for someone as experienced, as you. When you know so much and always learn something new, there’s a false sense that you might have missed something, especially when you’ve established that there’s so much more to learn. I always visualize this process like the Big Bang – the universe (your knowledge) expanding and all of the vacuum in between the stars is the knowledge that you missed. The more you learn, the bigger this vacuum is. But in many cases, there’s really nothing more to learn. That vacuum is really just vacuum full of nothing.
Being a lifelong sufferer of generalized anxiety disorder, I know how difficult everyday things can become.
I had hoped that I’d start with M2 and it would just click in place. I don’t know why I expected it to be any different than learning M1.
I know that I’ll finally feel comfortable with M2 in time for M3’s release and I’m ok with that. In the meantime I’ll give it 100%.
btw, I attended the Magento U class in Culver City in 2011 taught by you and Vinai Kopp. You both did an amazing job that week!