Get a Magento 2 Developer Job with NO EXPERIENCE

Mark Shust walks through landing a Magento 2 developer job from scratch. Master PHP, MySQL, JavaScript, and XML first, set up Docker Magento locally, join the Magento Engineering Slack and other communities, build a portfolio with demo projects and open-source work, then pursue certification.
Chapters
Don't have any experience as a Magento developer, but want to be one. This is something I hear all the time from programmers that want to get involved but don't quite know where to start. So I decided to put together a list of a few steps that can help you get started and drastically improve your chances of getting a job as a Magento 2 developer. The first step is to become proficient in the core languages that Magento 2 uses, which are mainly PHP, MySQL, JavaScript and XML. Many want to be Magento certified, yet they are missing this first crucial step and don't understand the gut guts of what makes one. If you aren't familiar with these base languages that Magento 2 uses, nothing else will even matter. First, start by learning the basics of each language. This includes the syntax, data types, control structures, and anything else specific to that language that makes it unique. Taking PHP as an example, you'll want to learn how to create variables, become familiar with its curly bracket and semicolon syntax, learn the structure of creating classes and functions, and so on. You can find a ton of resources and tutorials online for free, and the official PHP documentation will soon become your best friend. It's a good time to mention that I even have a completely free PHP101 course where you can learn all of this from the beginning. So after watching this video, be sure to check out a link in the description below. If you are Interested in learning PHP, you'll also want to follow this process for MySQL, JavaScript and probably even XML. Once you have a good understanding of the basics and time to start practicing, write out some custom code and solve some problems using each of these languages. This will really start developing your coding skills and help you gain a better understanding of how everything works in each of these languages. When I started out in PHP, I just started hacking around. I figured things out along the way, kept tinkering until something worked and broke a ton of code, but this process helped me learn by doing. You can't be afraid of messing up and experimenting because that's where some of your best learning experiences come from. Another great way to improve your skills is to read code written by other developers. This will give you insight into how they approach and solve specific problems. Open up any open Source project on GitHub and look through some issues. They'll almost always have related commit messages that contain code change diffs, which can teach you a lot about how things work and why. Don't be afraid to be curious and also ask a lot of questions as you go. Participating in online communities and forums related to these languages is also a great way to learn and improve your skills. Places like Reddit, Stack Overflow, and even specific LinkedIn discussion groups are great places to hang out, ask questions, learn from other developers, and find additional resources from these places that can help improve your coding skills. Finally, be sure to stay up to date with the latest developments and best practices for each language. This will help you stay ahead of the curve and remain competitive among your peers. Sites like PHP the Right Way to can provide you with a single resource where you can learn a ton of things at once. You'll also want to learn to develop the Drive to Learn when interviewing developers in the past, the passion and drive to learn is what I look for the most in a developer, and candidates that had these skills stood up far above and beyond the other applicants that treated programming as just another job. Once you are familiar with all of the programming languages involved, you'll want to gain a really solid understanding of the Magento platform and its architecture. You can do this watching online courses, reading documentation, and coding up some real world code from tutorials that you may find after going through these resources. Start by installing Magento on your local machine and then just experiment with the platform. This will help you gain hands on experience as you actually work through code. If you don't already have a development environment set up for M2, I'd very much recommend Docker Magento. It works on all platforms and I even have a completely free course for it which guides you through every step. Once you start developing some Magento code, you are going to need some help. Join some online communities. Some of the most popular ones are the Magento Engineering, Slack Channel and Magechat. In all of these communities, be sure to ask a lot of questions so you can learn from other Magento developers who've already went through this learning process. This will also help you find new ways and methods of improving your own development skills that you otherwise just wouldn't pick up. If you want to save a ton of time, taking online courses about Magento and attending other webinars and online workshops is also a great way to learn about specific topics in M2. This can include the different ways to customize and extend Magento, learn about its many design patterns, and make sure you are following best practices so your code just doesn't start falling apart after something like a platform upgrade. I'd be doing you a disservice if I didn't mention McAdemy here. McAdemy is my magento learning platform and includes courses that will take you through the journey of kickstarting your Magento development, then learning the ins and outs of front end development, and then progressing all the way through some more advanced topics and complex issues. You can think of McAdemy as a holding hand which sort of guides you through every step of learning Magento Part of McAdemy is Campus, a private community where myself and hundreds of other Magento developers ask and answer questions that may come up during development. The ability to bounce questions off of a sounding board of other knowledgeable Magento devs and get quick feedback is an absolute game changer. When you are looking for your first Magento job, there's always a situation that comes up that I call the experience Catch 22 how can you get an entry level job as a Magento developer without any experience when even junior level jobs require previous experience with the platform? When I started out developing websites many years ago, I used a hack to build up my portfolio. What I did was create a few demo projects which simulated real client websites. Not only did this help me gain experience when creating that demo project, but it also helped me build a portfolio of work related to this experience. Many don't realize that your portfolio doesn't need to be a list of live production Magento websites. There are many other ways to show off your experience, including creating open source Magento modules on GitHub or helping out someone else that maybe have a bug or issue that they may come across. Another hack I do even to this day is that when I want to learn something in more detail, I'll try to help someone out by answering their question. I do this all the time on campus. In case you didn't know. I don't know everything there is about Magento 2. It's such an expansive framework and it's nearly impossible to know everything about it. But I have the drive to learn and the ability to solve problems on my own. This helps me provide a solid understanding of what's going on in the framework. Then, once I start becoming familiar with that topic, I can perhaps put my newly found knowledge to work by either building a custom module and creating a pull request for some open source repo, or submitting a bug fix to the Magento core. Also, the best potential employees now build in public. Your portfolio doesn't have to be a list of client websites. It can be a link to your GitHub, Stack Exchange or LinkedIn or Twitter profile. When you learn something, post it up on social media to help others out with a link to the code, screenshots or anything else that helps teach that concept. The ability to learn and then help spread your teachings to others will make you an absolute standout among other applicants. It also shows that you're very active in the community, willing to dig through some hard problems and come out stronger on the other side, while also helping others along the way. If you like this video so far, remember to hit that like button to support my channel. Your next step is to start networking, which will begin to open up new opportunities to become a full time Magento developer. We've already touched base on joining online communities and forums related to Magento development and learning and improving your programming skills, but these can all also be great places to connect with others in the Magenta world and start building out your personal connections. These connections can help you learn about a new job opportunity before it comes up, rather than being reactionary and submitting a job application to a position later on in the process when it's already hitting a job board. Attending any sort of meetup, conference or event focused on Magento development also gives you a huge leg up. Try to go to in person events if at all possible. Having attended events like Imagine and Meet Benzo in the past, I can tell you firsthand that there are so many merchants and solution providers at these events that are itching to find that new hire at the conference. Just showing up at these events, chatting with potential employers and following up with them after the conference will not only put you just one, but two or three steps ahead of those that apply virtually, since this potential employer has already met you in person and made a personal connection with you. Taking this into account, if you can't attend one of these Magento specific conferences in person, you can alternatively become involved and active within a chat of a virtual meetup. The more someone sees your name in different places, communities or meetup events, the more likely you are to stand out from the crowd. You can also find Magento related blogs and comment on them, listen to podcasts which may contain advertisements about new potential positions, and connect with employers through social platforms such as LinkedIn. You have no idea how many positions I have been solicited for through LinkedIn by a potential recruiter. After making only a few comments or posts about something I learned about Magento on that specific day or week. And LinkedIn isn't the only place developers are quite active on Twitter, and sending DMs through these private channels is a great way to network and make connections. Most hires don't happen in public, they happen in these back channels, but I need to mention that it's a good idea not to solicit for positions directly through any sort of direct message, as that can come across as being needy, desperate or annoying. It's better to help someone out and perhaps passively hint that you are open to a new position. You're much better off helping someone out to create that personal connection with the potential that they may be able to help you at some point down the line, rather than trying to use them for the sole purpose of advancing your career overall, the key to getting a job as a Magenta developer with limited or no experience is to gain a strong understanding of the languages the platform runs on, become intricately familiar with its coding structure and architecture, build a portfolio of work publicly from demo projects and open source contributions, then continue to network with others and work on developing strong personal connections with those that may be hiring within the industry. There is one other thing that you can do that will take a ton of work and require a really strong commitment from you, but it will absolutely, positively help you land a job as a Magento developer, and that is to get Magento certified. If you are looking to do that, I cover all the steps you need to go through to do that in the next video.










