6

I have an interest in both e-commerce and web development and I would love to do this professionally a few years down the road, particularly Magento development.

I wanted to hear from experts like all of you in this community, which languages/technologies/other skills you feel are relevant to be successful in this industry. I would love if you could break it down by category like server side, client side, software, etc.

For example, I've been using Windows 7 ever since I got into web development, and I wonder if i want to get serious about Magento development do I need to run linux or OSX? Do I need advanced knowledge of server adminstration?

I would like to know which technologies/skills you guys have that assists you in daily development.

8

Magento itself

Everything around magento can be read here:

I am starting out learning Magento with no PHP experience, what are my options?

Debugging

For debugging I wrote a post a while back that might be useful: Site loading speed is very slow

by Sander Mangel

Around magento

IDE

If you already use some kind of IDE or editor stay with it. If it works for you fine. If it is an editor, you might want to think about an IDE, code completion, break points, etc. are useful features.

Many of us use PHPStorm, because there is a brilliant module for it: http://magicento.com/

Debugger

Learn how to use a debugger, like xDebug or Zend_Debugger

Server side

It is great if you know how apache and nginx works. How mysql is optimizing queries and how to improve performance over all. But the truth (at least for me) is, that you can't know everything. Knowing magento and how to work with it, without killing the performance there is the first thing to achieve. Everything else can be learned later.

OS

I think many of us use Linux or OS X, just because it is a lot easier to port all the tools which work on Linux servers to a *nix based OS. But it is no MUST. I know a few developers which use Windows and at the latest a VM solves all your problems.

VMs

Vagrant is a great tool, together with VirtualBox, VMware or Parallels it helps you setting up virtual machines. I like to isolate my different projects, but many of us don't do this but instead just run XAMPP, OS X built in mysql and apache or something else to run the local magento installations

source control

Learn to use git, mercurial, SVN, or anything else. But use it. Source control is important and you want to know who changed what AND WHY (commit messages!)

Backups

Make backups of everything. Your laptop, your servers...

Community

There is a chat room on IRC chat.freenode.net #magento which helps a lot. There are language rooms too, at least #magento-de

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.