First let me give you a bit of a background here.
I've been working with Magento for more than 5 years. I started in 2010 with version 1.3. Back then upgrading Magento was a nightmare and the compiler never worked (at least on my newbie installs ^^)
Thus, I've been logically lurking StackExchange all this time (I think I've been a member for almost 3 years now but I've been lurking for longer than this) for an obvious reason that Magento developers know: StackExchange is great (when you know how to use it)!
In 2016, I decided to get more involved in the Magento community.
First because I love Magento, after all these years I feel like I have mastered the software (even though I know I'm far from it) and my coding skills have become cleaner, more precise and more efficient. Second, Magento 2 is out (yay) and I needed to start digging into it to understand the changes and the new concepts as well as upgrade my Magento skills to be able to start developing efficiently on M2.
Finally I felt like sharing my knowledge is something I had to do because that's what makes the Magento community so great right ? Where would I be if no one would have shared his/her knowledge. I would probably still moving block's positions in CSS instead of using local.xml and rewrite every single class I could instead of using observers (that rings a bell right?)
Before starting I would like to give a shout out to this article which inspired me to write mine. The main difference is that I took it to another level by setting my goal to "100 days" (fanatic gold badge) instead of "30 days" and also to focus only on the Magento StackExchange website. Moreover I didn't set a reputation goal I just told myself "let's do this for 100 days and see how It goes".
Yeah I start with that because usually that bit goes in the end of the article but most of the time people skip it so here you'll have a chance to check it out.
First I would like to thank the entire Magento community for what you bring to developers like me: knowledge, time saved and most important the feeling of learning new stuff everyday.
Big shout out to the ones who really helped me learning the software even though they may not be aware of their importance in this community:
- Alan Storm, for his awesome articles providing deep research and explanations and for his awesome CommerceBug module
- Ben Marks, for his dynamic activity in the community
- Marius Strajeru, for being the Magento StackExchange God :P
- Alan Kent, it seems like Alan is the first name of people being able to provide deep and detailed articles about Magento
- Vinai Kopp, for the great Mage2Kata YouTube channel
- Kalen Jordan, Philip Jackson and his hair, for the awesome MageTalk podcast
- Fabian Schmengler, for his great contribution to Magento StackExchange
- Sander Mangel and Anna Volkl for organizing the MageStackDay
There's probably a hundred more. You guys are doing great keep up the good work!
Here's the entry point of my contribution in Magento SE, even if my first post is older this one matches the exact same day I started that 100 days challenge Magento 1.9.x Removing the invoice link from Account Order info pages
What happened during those 100 days:
- Magento SE got its own design (I'll tell my grandsons "I was there this day" ; Magento 5 will probably be out ^^)
- I got up to 6633 reputation
- 49 badges earned
- 15 questions asked
- 285 answers
- 373 votes cast
- 41% accepted answer percentage rate
Here are some statistics:
Also, from my answers score graph you can see that most of my answers have a few votes:
And finally here's the reputation graph from my registration date:
The most important thing that 'd like to enlight is that I probably learnt more about Magento during those 100 days than during a year of development (I'm a full time Magento developer by the way)
Why did I learn so much as I only posted questions and that many answers?
Well I tried to avoid cherry picking as much as possible. Whenever a question was asked I felt curious if it was directly related to a Magento development concept that was obscure to me. Even if I could not answer the question straight away I tried to investigate the code behavior to get new personal knowledge out of it. So out of my answers there's probably 20% of those answers that were learnt on the fly when the question was asked and were not directly from my personal knowledge. Yeah I really dedicated myself to this challenge.
No cherry picking at all? Yeah ok I must confess I hate pricing questions like "how to apply such tax when..." Or "dynamic shopping cart rule based on the number of letters in the product name...". I work a lot with pricing in my everyday job that's probably the reason why I avoid those ones but it's also because I never feel like it will improve my knowledge and also thought it is just pure mathematical problem. Yeah I'm being a bit selfish sometimes.
On top of that I was totally new to Magento 2 (I mean as new as you can be as a Magento 1 developer) and I really wanted to learn it. So I digged into M2 code and learnt. Sometimes I managed to get it right, sometimes I didn't or provide an answer that was not totally complete. This answer is a good example and you can clearly see that I was still learning Magento 2 : What are all the allowed `xsi:type` values in the xml's from Magento2
Finally what I loved on Magento SE and on the Magento community in general is that there's no hate. Just check the Magento questions on the original StackExchange website and Magento StackExchange questions. The number of down votes and hate comments says it all. I haven't seen a single post saying "do your homework" or "use the search" on Magento SE. Yeah there are duplicate questions of course, yeah there are some very broad questions and off topic ones. But reviewers and moderators do a great job flagging them and explaining how to improve their content so they'll get an answer. Magento SE is pure love ❤️
The down side
I really got a great experience doing this challenge. However there's some minor bits that I didn't like or that i felt like i should have done.
First, help vampires. So yeah there is not a lot of them on Magento SE fortunately. But in my early days on SE I didn't feel good seeing those posts. I really felt like those people wanted SE to do their job. Whenever a question was successfully answered another one was created which was basically the next step into those persons' development. I felt like people answering help vampires questions should get paid for them.
But you know what: I let it go. It is not a big deal and you shouldn't feel bad for help vampires, if you don't like them just skip their questions. In the end of my experience I even ended up answering a few of help vampires questions.
Second, I missed MageStackDay! Yeah that sucks I'm really looking forward on participating in the next one. It was only a few days after I started my challenge and I didn't really know what it was and felt like I wasn't experienced enough to participate. I won't missed the next one for sure.
It's more a list of things that I felt really helped the entire community.
- the SUPEE 7405 answer: I really felt like I helped tons of people (at least as many as the number of upvotes) with that answer I dedicated myself to it for days to improve it and make it easy to understand because security is important and no one should struggle applying a security patch on a software
- the Magento bug discovery: thanks to Magento SE I managed to find a Magento core bug affecting all versions and ended up making a pull request on Magento 2. I really felt like I was improving the software and that's a great feeling
- the Magento 2 use statement clarification: for this one I really felt like I was missing something there had to be a good reason behind this and I felt like it was really disturbing for Magento 2 newbies like me. I really think this needed clarification and it will help people starting with Magento 2 in the future
- the Magento bug discovery (again): I later found another bug only affecting Magento 1.x, it was more minor than the first one but you know that feeling when you find a bug and realize your code is not the cause of a problem.
- the Magento Marketplace technical review detailed post: according to the number of favorites I reckon this one will be useful to several developers who wants to release their module on the marketplace in the future
- the reviews: I reviewed many posts during those 100 days and that makes me feel like I really contributed to the Magento SE community by trying to improve the posts and make the content better
As you have probably guessed, only good came out from this experience. I learnt so much during those 100 days, I felt like every developers that are in the process of learning Magento should do it, get on Magento SE and even if you can't answer a question, just read the answers. You will improve your personal knowledge by just browsing the website.
Magento SE and Magento community in general is great, there's such a good vibe when you start being active and that what makes it great. Magento 2 is out and I think we've got great days ahead.
Finally and as a general advice, hard work always pays, dedicate to what you like to do, and keep learning new stuff, attend conferences, read books and ask questions. If you like what you do, you'll be happy in your professional life and that's what matters.