Monthly Archives: March 2013

Why Using Cheap Web Developers is a Bad Idea

Web development and design is an often under-valued industry. Almost every web developer has had at least one prospective client respond to a quote with “How much?! My nephew is good with web stuff, he said he could do it for $50!”. To those clients, a web page is just a bunch of pixels on a screen – they have no idea what goes into creating a professional looking website.

Freelancing is Not Free

When you’re hiring a professional designer, you’re paying for far more than just a WordPress or OS eCommerce installation. The designer arranges your@
• Hosting
• Email marketing
• Stock photography
• Fonts
• Design
• Plugins
• Modifications
• Support and training
All of those things take time and money.

The Professional Touch

The mythical nephew might be able to choose a cheap host for you, install a CMS and change the theme – but are you sure what you’re getting is unique and legal? Amateur web designers may download “nulled” themes (premium themes which have been cracked so that they can be used, illegally, without paying the designer), and then customize those themes with images they found in Google Image Search. The site might look nice – but you could find yourself on the wrong end of a lawsuit if the owner of the theme or the images finds out that you’re using them illegally.

You Get What You Pay For

If you are looking for someone to redesign your website, don’t make that choice based purely on price. Spend some time getting to know a few different designers, and look for one that understands what you are looking for and is willing to work with you to create the perfect page. Make sure that they will give you after-sales support, updates for your CMS, and training so that you can add new content yourself.
It will cost you more than $50 for a professional website – but it will be worth every cent.

Why Invest in Magento Extensions

Magento is a free and open source eCommerce platform, and like most other popular open source platforms, it has a huge library of extensions available for it – some free, some paid.
If you’re a small business owner on a budget, then it may be tempting to stick to using free Magento extensions to build your store. It’s certainly possible to do this – many of the free extensions are well made, feature rich, and flexible, but there are benefits to purchasing extensions in many cases.

You Are Paying for More than Code

When you purchase a paid-for extension, you get more than just code for your money. Many extension developers offer installation services (sometimes for a nominal extra fee). You also get technical support to setup Magento extension, bug fixes and patches for a given period after the purchase.
If you download a free extension, you’ll have to install it yourself (or pay to professional programmer to do it). You will get updates – if the developer chooses to update the package, but you have no guarantee that your questions will be answered or that any bugs you report will be fixed. If the extension doesn’t work with your server software, or doesn’t play nice with other extensions then you are on your own.
Professional extension developers make their living by producing plugins. It’s in their best interests to stay up-to-date with the latest Magento releases, patch issues and pay attention to their users.

Making Your Site Unique

One of the biggest problems with using free themes and extensions is that you end up with a website that looks exactly the same as thousands of other sites out there. If you’re selling an expensive product and need to inspire trust in your customers then this is not a good thing! Paid extensions have a smaller user base, so your site will appear more professional and look less like a turnkey store.

Improving Your Programming Skills Through Kata

Programming is a complex skill, and there is usually more than one way to solve a given problem. Many self-taught programmers fall into the trap of assuming that if their program compiles and does the job they wanted it to do, then they’ve done a good job and they are good, to say, Magento programmers.
While this may be true if all you want to do is hack together scripts to make your own life easier or speed up repetitive jobs at work, when you’re producing commercial software your code must be fast, robust and error free. How can you test and improve your programming skills so that you go beyond “writing code that works” and learn to write code that is easy to read, fast and secure?

Code Katas

The Japanese use katas for almost everything. A kata is a series of steps that is repeated over and over to learn the right way to perform a task. Martial artists use kata to practice kicking, punching and blocking. Kata are also used for tea ceremonies and other things that must be done in a proper order, with a lot of attention to the details. Programming definitely lends itself to the use of kata.
Think about the kinds of problems you solve every day. How many of them involve sorting algorithms? How many of them require you to compare strings? What about parsing complex text documents or web pages?
Instead of just cobbling together solutions on the fly, try learning how to do those things using a few different libraries, algorithms or approaches. Practice each method as a Kata, until that algorithm is, essentially, hard wired into your programming and web design muscle memory.
It may seem like an odd approach, and solving trivial problems may seem menial at first –but once you can do data extraction, hashing, and trigram analysis in your sleep you’ll be glad that you made the effort to learn.

How to Pick the Right Magento Extensions

When you install Magento for the first time, it’s easy to be overwhelmed by the admin panel. Even out-of-the-box, Magento has a stunning array of features and it takes people some time to get used to it. At first, you may find yourself wondering why anyone would want to add even more plugins! It is well worth learning how to use Magento Extension.

Assessing Your Needs

Some people make the mistake of installing every “must have” extension, whether they need it or not. This is a mistake because each extension adds extra complexity and performance overhead to your site. The more you have running on your site, the more can go wrong.
Before installing an extension, think about what you need it for. Some extensions, such as SEO ones, are well worth having on any site – but others, such as light-boxes, video feeds, programming tests and one-step checkouts may not always be necessary.

Avoiding Extension Overload

When you are designing your eCommerce site, think about what it is that you want your site to do, and map out the full purchasing experience for your visitors. Try to make the shopping experience as close to your goal as you can, without using extensions. Test your shopping cart in its stock form and make a note of things that are missing. Track the conversion rate of the site in its stock form.
Once you have a few week’s worth of data, start adding features to the site and tracking what they do to the conversion rate. You may be surprised at the effects that some extensions have. Not all demographics appreciate flashy shopping carts or one-click purchases. Expanding your site gradually over time will give you the opportunity to get to know your demographics and figure out how to improve your conversion rate.

The Best Programming Tests and Certifications

Proving your programming knowledge can be difficult. Even experienced developers often have relatively small portfolios – if you have spent a lot of time working as part of a large team, or on projects that are heavily protected by Non Disclosure Agreements, then you may find that next time you go looking for a job, you have little to show by way of example code and finished projects.
One way around this is to get yourself certified. There are many certifications available. The MCSD is a popular Microsoft certification for developers, and CompTIA also offer certifications that may be useful for people looking to work in IT. Unfortunately, these certifications are expensive, and you have to re-take them regularly.
There are some free certifications available which can be useful for proving your skills. Brainbench.com offers certifications in a whole range of programming languages, operating systems and technologies. Some of the certifications are free, others cost money – but there are regular discounts and special promotions, so you can build up an impressive collection of certifications over time.
The National Computer Science Academy also offers certifications in a range of programming languages, including Visual C++, Cold Fusion and Javascript as well as basic certifications in HTML, Windows, Mahento extentions and Microsoft office. There are also premium tests that focus on more specialised areas.
W3Schools.com offers a certification program, for a fee. You can earn W3Schools diplomas in HTML, CSS, Javascript, JQery, ASP, PHP and some other web technologies. If the actual certification itself is not important to you, but you would like to test your knowledge, you can study free classes online and then take quizzes to test your skills.
Free certifications can be a good way to boost your confidence. They may be free, but to some employers they prove that you are a self-starter and that you were willing to take the initiative to learn on your own time and take a test. Even if they are not well respected qualifications, you lose nothing by taking them ether you develop Magento extensions, educational software, working for web design company or for hosting company. If you are thinking of spending money on a certification, however, you should search the web to find out what the general sentiment towards that certification is before paying for it. Not all certifications (even paid ones) carry weight with employers.

Must Have Free Magento Extensions

Magento is a free and open source ecommerce platform based on the Zend Framework. It has a large and active community of users, and it is easy to modify or extend its functionality via extensions which usually follow top trends in web design. Here is a quick look at some of the best free Magento extensions.

1. Fooman Google Analytics Plus

http://www.magentocommerce.com/extension/171/fooman-google-analytics-plus
Every website owner should watch their Google Analytics carefully. This extension enables you to know exactly what is going on with your website. It allows you to track every single page, track secondary profiles, and access detailed information about user paths on your website quickly and easily.

2. Canonical URLs for Magento.

http://www.magentocommerce.com/magento-connect/Yoast/extension/906/canonical-url-s-for-magento
This extension was created by Yoast and is a must-have SEO extension for Magento users. The extension is quite simple – it adds canonical links to the head of your pages. This one change can make a big difference to your search rankings, however.

3. Bouncing Orange TinyMCE

http://www.magentocommerce.com/extension/1426/bouncingorange-tinymce-wysiwyg-
The Bouncing orange TinyMCE WYSIWYG editor is a fast, lightweight and easy to use editor which is highly configurable. If you’re looking for a good editor that does not require programming knowledge to set up, then you should definitely give this one a look.

4. Checkout Newsletter

http://www.magentocommerce.com/magento-connect/QuickModules/extension/1361/checkout-newsletter
This clever extension adds a “Sign up for our newsletter” option to the OnePage Checkout. Sending out a regular newsletter to former customers is a great way to increase customer retention. There are a few formatting issues with this extension on some popular templates, but the issues are easy to fix if you have some basic coding knowledge.

5. Magento EasyLightbox

http://www.magentocommerce.com/magento-connect/TemplatesMaster/extension/1487/magento-easy-lightbox
Add professional looking lightboxes to your product pages with this simple and easy to use extension. Magento Easy Lightbox is free and open source, and requires no coding experience to install.

Are Programming Tests a Good Idea for Job Applicants?

According to some hiring managers, more than 90% of programming applicants cannot solve even the simplest coding problems. These managers aren’t referring to people who let interview nerves get the best of them and forget how to solve complex mathematical problems because of the difficulty of performing under pressure. Rather, they are talking about applicants who cannot even write a program that uses a loop to print the numbers one through ten on the screen.

The Case Against Tests

Opponents to programming tests believe that tests are a bad idea for several reasons:
• It’s easy to “revise” for the most popular tests such as Fizzbuzz and Check Prime.
• Tests performed online are easy to cheat on.
• Testing basic knowledge at a face to face interview wastes valuable interview time, but many professional programmers are unwilling to take more complex tests because they feel it is like working for free.

Alternatives to Testing

Computing is becoming an almost glamorous field, so there are many people who apply for computing jobs without having even basic knowledge. If testing is not a sensible way to weed those people out, what is?
One of the best ways to assess a job applicants abilities is to look at their existing body of work. Most web and Magento programmers have a fairly strong online presence. Look at their blogs, Twitter pages, gitHub portfolio, Stack Overflow contributions and other popular programmer communities to see what level their contributions are at. If a programmer has little or no online presence, that could be a bad sign – or it may simply mean that they value their privacy. Ask for code samples or a link to their portfolio to get an idea of their skill level.
You will never truly know how good a programmer is until you work with them, but looking at their existing body of work is a good start, and will tell you more than a simple cookie-cutter test with limited parameters.