Like with any area of knowledge, with Magento development, some are new and less experienced in the field, and others have been doing it for years and are now highly experienced and expert. At Developer Connection we know that the new Magento developers of today are the experienced experts of tomorrow, but what exactly does it take to get to that point? Contrary to what you might think being able to write code is only a small part of what it takes to get to the top of the pile.
In this post, we will be looking at what it takes to be a top Magento developer, from the actual coding skills you need to gain to the kind of attitude needed to really make it work. Magento development certainly isn't for everybody, but for those who decide to make it their career of choice, it's a very fulfilling and enjoyable experience.
What does make a top Magento developer
There are lots of different factors involved in the makeup of a top Magento developer. You will regularly find the best developers have all of these skills, traits and experiences under their belt.
All top Magento developers will have spent a LOT of time mastering Magento development. And when I mean a lot, I don't mean just a few months, or even a year or two. The best developers will have spent many thousands of hours developing Magento day in day out over many years. Magento is a hugely versatile framework and getting even a basic grasp of the breadth of development possibilities takes a lot of time. And when you have this actively putting these principles into practice also takes a lot of time. Finally becoming genuinely confident to the point where if a client asks you for a particular feature you can immediately picture the approach you would take to achieve that takes a great deal of time. This is because it requires a huge, in-depth understanding and applied working knowledge of the Magento framework and how it functions to be able to very quickly visualise the principles you need to achieve a development goal.
Once you have spent the time, you have the kind of knowledge that no entry or mid-level developer (who are hopefully the top-level developers of the future!) could ever compete with and this is why a top-level Magento developer can justify a higher hourly rate. You are not just paying for code, you are paying for the extensive skills and experience of the developer who is writing that code, and with that comes a guarantee of getting a very high-quality result built to the highest standards, using the best development principles and practices.
Practice and repetition
This goes hand in hand with time, and encompasses the well known saying 'practice makes perfect'. No top developer would ever call themself perfect because honesty in where your expertise lies is the key to effective learning, and no top developer would say they know everything. This is purely because development is an ever-evolving field where you never stop learning regardless of how long you have been doing it. So practising development skills by application and doing this time and time again is an absolute key experience any top Magento developer will have been through.
It's certainly true that Magento development isn't for everyone. While there are huge numbers of Magento developers out there, the top level of developers will always have a natural aptitude when it comes to writing code. These developers will pick up coding principles quicker and will also understand what you can achieve and how you achieve it with code in a shorter amount of time. Someone with a natural aptitude for writing code and developing will have been actively interested in the field and likely have been writing code in some form for years before doing it professionally. A Magento developer like this is likely to have experience across many different programming languages before having decided to specialise in Magento development and all that involves.
Genuinely enjoy development
This will very much go hand in hand with having a natural aptitude in writing code and developing. While I am certainly not a psychologist in any form, I see the principle that ultimately 'people do what they want to do' proved time and again. So if someone doesn't enjoy Magento development, they are never going to become a top-level developer because they don't want to develop the framework. Unfortunately, there are many 'developers' out there who don't enjoy it - and their main motivation is likely nothing more than the opportunity to make money. But these kinds of developers will never be able to compete with a top-level developer as they will never get to the point where they know, understand and enjoy working with the framework the way a top developer does.
Genuinely enjoying Magento development, as with having a natural aptitude is likely to show itself by the developer having a long history of coding across multiple languages before deciding to specialise in Magento development.
Being a top Magento developer is not about maths, it's about logic. A top developer will be able to effectively and efficiently analyse a logic flow within Magento which is abstracted across multiple classes and various other files to find that key piece of logic which answers the question they have. They will also be able to visualise the different possible outcomes of a given logic flow based on the criteria of the problem they are attempting to resolve. Magento is a highly abstracted framework with it being possible to form a connection between different classes and insert code into classes in many different ways, and this is typically defined across a wide range of XML based configurations. So it's rarely as simple as 'this' PHP class inherits 'that' PHP class - you have to instead be able to follow a logical flow across many different forms of abstraction, with top-level Magento developers having a strong ability to do this effectively where others may be left confused and guessing.
Concentration for long periods
I'm sure you all know the stereotype of someone writing code wearing headphones, in their own world. Well, this is a stereotype that is in fact accurate for many developers. Magento development requires high levels of concentration for extended periods, and if you are working on that particularly hard problem having that concentration broken can set you back by causing you to largely lose your train of thought. Wearing headphones is a way for many developers to get some level of isolation from surroundings which may otherwise break their concentration, and music (or whatever your preference is) can also really aid concentration, in turn, giving better productivity. Any top developer knows that you need those extended periods of concentration to be effective and this is a trait all top Magento developers will have.
I'm sure it will come as no surprise that becoming a top Magento developer takes patience. The learning curve for Magento development is high and takes considerable time to become expert in. When you do reach the expert level of a top Magento developer there will still be times when you are working on that 'down the rabbit hole' problem that takes longer than anticipated. Patience is key across all areas of Magento development from initial learning right through to daily development at an expert level. So any top Magento developer will have a great deal of patience.
You can study, learn, and practise to your hearts content but nothing replaces the experience of working on real projects for real clients. Not only does this hone your skills as a developer but it also gives you invaluable experience of professional interactions with clients and how to approach this. We cover some golden rules for making these relationships really work, plus looks at indicators that things might not be going to plan in our blog post on building a productive client developer working relationship. Any top Magento developer will have vast amounts of real-world experience working on real Magento projects for real clients over many years. This will have made them highly professional and experienced with regards to both client interactions, and real-world application of Magento development techniques and principles.
What doesn't make a top Magento developer
There are certainly some misconceptions as to what makes a top Magento developer, here are some of the things you don't need. These points don't make any better of a developer, but there also isn't any downside to them. The main point is that as a client you might want to think twice before deciding whether these points form part of the decision-making process on whether to work with a particular developer.
Having amazing maths skills
It's often thought that coding and development requires great maths skills and understanding. This actually could not be further from the truth. You should have the ability to understand a few (to be honest not much more than basic) maths principles where at times you will be called to use this or that maths-based PHP operator or function, but in reality the most maths involved is plus, minus, divide, multiply and percentages. And this is it for 99% of Magento development work.
The ability to remember the codebase
Yes, a developer should have good knowledge of the breadth of functionality Magento offer but this is knowing the particular functionality the framework offers, not being able to recall lines of code in classes and methods. A use case could be for instance that a client asks for particular functionality in their store. Here as a developer if there is some core functionality which exists in Magento that could be extended in an upgrade friendly way to get that result, then you should know about it and offer that as a solution to the client.
If you ask any top developer, I guarantee you none of them will say the main motivation for developing Magento is money. The money is just a means to an end (and important in terms of paying the bills etc) but the main motivation is always going to be just one thing - they enjoy it and as we know from earlier on in the post 'people do what they want to do'.
Knowing all the buzz words
Tutored software engineering often brings with it a huge array of terms used to describe various development principles. While the principles these words represent are solid, and Magento implements a great deal of them, the actual terms are no more than buzz words people often use to make their knowledge seem more impressive because they suspect the person they are talking to won't understand what they are saying. In the last blog on creating a productive client developer working relationship we referenced Albert Einstein's famous saying - "If you can't explain it to a six year old, you don't understand it yourself". These terms are nothing more than buzz words so I'm sure you will agree it's better to know and be able to clearly explain Magento development principles and practices than just know a bunch of buzz words not really understanding the underlying principles.
Any accomplished developer will tell you that real-world experience counts for hugely more than any schooling and qualifications ever will. To compare think about learning to drive a car. You have many lessons and gain some basic driving skill and experience sufficient to allow you to get your license, but no-one would argue that even after passing the driving test you are not considered an experienced driver. This can only come with time and actual driving and it's quite a few months before you feel like you are becoming more experienced, having the ability to read the road and react to situations better as well as just feeling more natural behind the wheel. Magento certification is very much the same - just because a developer is certified certainly doesn't mean they are in any way an experienced and accomplished Magento developer. It can be considered as part of what a client looks at when thinking about whether to use a developer, but it's only a base level marker when considering expertise and experience in Magento development.
Developer Connection is a truly effective way to connect with top Magento developers for your project, and if you are a Magento developer, join the community by subscribing today!