If you are looking for a spoon feeding course you may need to stop reading from here. This guide will simulate the real world company environment that you have to work in.

In a company, you will not be spoon feeded but you will be guided to overcome difficult situations. When you are a software developer, your best friend will be “Google”. 99% questions you encounter have been previously experienced by someone in the industry and those good developers posted the issues and answers on the internet (You should do the same once you become a level to figure things out on your own). You just need to improve your skills to break down your problem to smaller portions and turn into lexicals and past in the search box.

So if that is the case why do you need training. You need the training for two parts.

  1. To understand the problem and break it to pieces.
  2. Alter the solution you found to match with your problem.

Other than that, you have to learn how to resolve a solution when no help is available (very rarely in the Software Community).

As we mentioned above, we have guidance or most of the time ‘terms to search’. What you need to do is follow the tasks step by step. Only follow the date guid if you are allocating your full time. Do not worry about the duration. Sometimes you will get stuck for days to find a solution for a small issue or a bug created because of a typo. In my opinion more you encounter with those situation, you will get more knowledge. What is important is to grab the knowledge as much as can during your training. As spartans says “SWEAT MORE IN TRAINING — BLEED LESS IN BATTLE”

We are always there to help you. But you must make sure at least you try 2 days to resolve your issue and if you have no luck, you can comment your questions below. We will surely reply to it but may take two 3 days to come back. By that time if you have found the answer (Probably you would), you can post your answer here before we do.

Day 1:

Install Magento, and experience the admin area

  1. Install Ubuntu
  2. Install LEMP: https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-ubuntu-18-04
  3. Create a virtual host neosolax.test
  4. Install Magento community with composer: https://www.simicart.com/blog/magento-2-composer/
  5. Enable Sample data
  6. Install PhpStorm
  7. Setup the project in PhpStorm.
  8. Install xDebug
  9. Subtasks
  10. From the Magento frontend
    1. Add product to the cart
    2. Add product to the wishlist
    3. Complete an order
    4. Create a user
    5. Logout with the user
    6. Log in with the user
    7. Add products to wishlist
    8. Compare products
    9. Add products to cart
    10. Complete the orders
    11. Add new address to the user from the customer account section
    12. View the orders
    13. ReOrder the previous one.
    14. From the magento admin:
    15. Create a category
    16. Create a simple product
    17. Create a Configurable Product
    18. Create Group Product
    19. Create Bundle Product
    20. Create Virtual Product
    21. Create Downloadable product
    22. Create Website
    23. Create Stroe
    24. Create Store View
    25. Create CMS page
    26. Create CMS Block
    27. Include CMS Block in to CMS Page
    28. Change the currency to LKR
    29. Change the timezone to Sri Lanka
    30. Create product attribute
    31. Create product attribute group
    32. Create front-end customer
    33. Create customer group
    34. Create tax group
    35. Create a backend order
    36. Change the order status to invoice
    37. Change the order status to ship
    38. Do a Credit Memo
    39. Create an order from the frontend and cancel it.
    40. Create a paypal sandbox account.
    41. Create a promotion for all the product to give 50% discount at cart
    42. Add a new url to the product that you created before.
    43. Export all the products
Day 2:

Magento Extension Development

To prove you need to learn:
  1. https://inchoo.net/magento-2/how-to-create-a-basic-module-in-magento-2/
  2. https://www.mageplaza.com/magento-2-module-development/how-to-create-crud-model-magento-2.html#step-1-setup-script
Day 3

Magento Theme

To prove you need to learn:
  1. https://www.mageplaza.com/devdocs/how-to-create-magento-2-theme.html
  2. https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/themes/theme-apply.html
  3. https://www.mageplaza.com/magento-2-module-development/view-block-layout-template-magento-2.html
Day 4/5:

Start Developing the first Magento Model with the knowledge you absorbed

Go through the following tasks and provide detailed estimation in a google sheet before starting the exercise.

  1. Create a sample module NeoSolax_Staff.
  2. Create a database table called employees with below fields.
    1. employee_id
    2. name
    3. email
    4. mobile_number
    5. marital_status
    6. created_at
    7. updated_at
  3. Create a route called {base_url}/neosolax/employee/details
    1. On this route, the user should be presented with a grid that has all the details of the users. (Employee ID, Name, Email, Mobile Number, Marital Status).
    2. Should have another column as “Action” at the end of the column set
    3. It should have two links as ‘Edit’, ‘Delete’. The respective function should trigger upon clicking on them
    4. Also should have a “New” button. The respective function should trigger upon clicking on them
  4. Upon clicking “New” button, it should redirect to {base_url}/neosolax/employee/new. In here, the user should be able to
    1. User should be able to enter the details through a form.
    2. User should be able to save the details.
  5. Upon clicking “Edit” button, it should redirect to {base_url}/neosolax/employee/edit. In here,
    1. User should be presented with existing data.
    2. User should be able to update the details through a form.
    3. User should be able to Save the details.
  6. Upon clicking “Delete” button, it should popup a message for delete confirmation and if the user accepted need to proceed with the delete.
    1. Once delete is the success it should come to the grid view. ({base_url}/neosolax/employee/details)

Note:
Any action should be presented with respective error, success, warning messages.
Concern about the styling as well.
Should add the proper validation.

Day 6:

Magento 2 – Handling dynamic frontend content

  1. https://amasty.com/blog/tips-and-examples-of-using-knockout-in-magento-2/
Day 7:

Magento 2 – Database

  1. https://www.mageplaza.com/magento-2-module-development/how-to-create-crud-model-magento-2.html
Day 8:

Magento 2 – Apply your frontend knowledge

Redo the Day 5 task using KO Js.

Day 9 to 100:

Learn from Magento Guru

https://alanstorm.com/category/magento-2/
  1. Magento 2 for PHP MVC Developers (Tutorials)
  2. Magento 2: Advanced Javascript
  3. Magento 2 and Composer
  4. The Magento 2 Object System
  5. Magento 2 UI Components
  6. Magento 2: uiElement Internals

Once you are done with above, it is recommended to finish below.

https://devdocs.magento.com/guides/v2.3/frontend-dev-guide/bk-frontend-dev-guide.html

If you have followed this guide till the end, I would guarantee you that you will become a Magento superstar. Not only that, you would learn any technology within one to two weeks.

One last thing to note, follow the best practices as much as possible and try to write efficient and well documented code always.

With you all the very best for your software engineering career!

More reading

How to Hire a Great Magento Developer (or Magento 2 Developer)

ABOUT THE AUTHOR

Muditha Ediriweera is passionate about Magento and has nearly a decade of experience in Magento eCommerce development. He has developed a lot of Magento 1 and Magento 2 sites with both OpenSource (CE) and Commerce (EE) platforms. His experience is not limited as a Developer as he guides a lot of people to discover Magento platform capabilities in both code level as a Magento Trainer and features wise as a Magento solution consultant. Muditha is currently helping merchant to sell products online with Magento as a Founder & CEO at NeoSolax with his high calibre Magento development team.

Leave a Reply

Your email address will not be published. Required fields are marked *