- PeterMoulding.com
- Author
- Trainer
- Speaker
- Business Coach
- How to write a How To book
- PHP Courses
- Speaking
- Web Architect
- Australia
- Books
- Authors
- Akkana Peck
- Alex Berenson
- Andrew Nugent
- Ben Sanders
- Brock Clarke
- Chris Simms
- David Mercer
- Dianna Mullet
- Don Winslow
- Dori Smith
- Harlan Coben
- Jack McDevitt
- James Wines
- Jerry Yudelson
- John Grisham
- Kevin Mullet
- L. E. Modesitt Jr.
- Laurell K. Hamilton
- Marshall Karp
- Martina Cole
- Michael Marshall Smith
- Michel Roux Jr
- Nadia Sawalha
- Philip Pullman
- Raymond Khoury
- Richard North Patterson
- Robert Masello
- Sally Roth
- Sarah Langan
- Stella Rimington
- Stephen Booth
- Stephen King
- Stephen Leather
- T.C. Boyle
- Tom Negrino
- Tony Hillerman
- Urban Waite
- Val McDermid
- Valerio Massimo Manfredi
- Beginning GIMP
- Beginning Visual C++
- Culturalism
- Fiction
- A Drink Before The War
- A Talent for War
- Bag of Bones
- Blood and Ice
- Burn
- Dark Lady
- Dead Line
- Eclipse
- Empress of Eternity
- Exley
- Flipping Out
- Just One Look
- Nightfall
- Pet Sematary
- Savage Moon
- Skinwalkers
- Starvation Lake
- The Fallen
- The Gardens of the Dead
- The Jump
- The Last Templar
- The Mermaids Singing
- The Midnight Mayor
- The Secret Soldier
- The Summons
- The Terror of Living
- The Testament
- The Tower
- Under the Dome
- Virus
- AJAX and PHP
- Aging with Grace
- Food books
- Green Architecture
- Life Is So Good
- SQL: The Complete Reference
- The Backyard Bird Lover's Ultimate How-to Guide
- The Garden Gurus
- Authors
- Sustainability
- -18 hours left to decide the future of Australia
- Campbells vegetable stock or Massel vegetable stock?
- Carbon Sequestration
- Carbon tax for Australia is a fraud
- Copenhagen will fail
- Cost of living in Australia
- Dick Smith jumps on the population bandwagon
- Dry Run: Preventing the Next Urban Water Crisis
- Energy Saving Lights
- Garlic
- How many people can live in Australia?
- Its obsolete, throw it out!
- Julia Gillard offers 9.9 billion dollars bribe to Rob Oakeshott
- Laundry detergent
- Petrol or Diesel?
- Reflective foil batts kill
- RoHS
- Sea level to rise 3mm due to climate change
- Solar power
- Spring again in Sydney
- Sustainable fuels
- The CRUD Tax is back
- The people who make building regulations do not own houses
- Water efficiency
- Which insulation is safer, foil or wool?
- Will Australia reduce greenhouse gas emissions?
- Technology
- Android or Blackberry or iPhone or a flip phone?
- Apple versus Google 2011
- Cameras
- Cars
- Colour
- Burgundy
- Colour Blindness
- Colour Names
- Dulux colours
- Pantone colours
- Safe Colours
- Seculine ProDisk Mini colour balance card
- What Causes Colour Blindness?
- Hardware
- Batteries for the Digital Age
- Cables
- Cases
- Computer reliability
- Computrace
- Disks
- Astone ISO Gear 481E
- Best SSD for your notebook computer
- Disk block size
- Hitachi disk HDS722020ALA330
- LaCie USB 2.0 250 GB mobile hard drive design by F.A. Porsche
- SMART disk
- Samsung 2 TB HD204UI quiet low power disk for mass storage
- Seagate and Samsung merge disk business
- Select the right disk for your RAID array
- USB disk speed
- Western Digital WD20EARX 2 GB SATA 3 disk
- How long should computer hardware last?
- Keyboards
- Mainframe
- Memory cards
- Monitors
- Netbooks, notebooks, tablets, and xPads
- Network Attached Storage
- OLED Displays
- PC's are a thing of the past
- Printers
- Quiet
- Samsung Galaxy S
- Speed
- Television
- Tools
- USB
- Worst computer movies
- Xserve is dead. What next?
- Your backup will not work
- Z68 motherboards
- iPad or Acer Aspire One?
- IQ
- LG Intello Washing Machine
- Lack of a challenge
- Networks
- 802.11n wireless networking
- D-Link DIR-655 wireless router
- D-Link DWA-160 Xtreme N dual band USB adapter
- D-Link DWA-556 Xtreme N PCI Express desktop adapter
- MIMO
- NBN spends another $12 billion of our tax money on nothing
- National Broadband Network
- Netgear wireless modem router DGND3300 with 300 Mbps 802.11n
- Refrigerator kills wireless broadband
- Small Wireless Network
- TP-LINK TL-SG10005D 5 port gigabit switch
- TP-Link TL-WR1043N wireless N gigabit router
- Telstra Pre-paid Mobile Wi-Fi
- Where are the router plus proxy server combinations?
- Open Source documentation
- Software
- 7-zip
- Accounting
- Asterisk
- Audacity
- Backup software
- Bloat only in Windows
- CAD
- CDex
- Disk imaging software for copying and backup
- Exact Audio Copy
- Filezilla
- Firefox
- Java
- LibreOffice or OpenOffice?
- Linux
- 1 in 5 servers will ship with Linux
- Android phones outsell iPhone
- Another Move to Linux
- CentOS 5.5 installation on SSD and RAID 5
- Debian
- Debian 5.0.5 AMD64 installation
- Debian 5.06 installation
- Fedora
- Fedora or Ubuntu?
- Gnome or KDE?
- K9copy
- Linux 2.6.38
- Linux Gnome login settings lost
- Linux Mint
- Linux RAID, a rant
- Linux Speed
- Linux Time
- Linux reliability as demonstrated by Ubuntu 10.10
- Linux reliability as demonstrated by Ubuntu 11.4
- Linux still a struggle in 2011
- Linux workstation disk RAID 1
- Linux, NT, Windows, and SETI
- Linux, three years of progress
- London Stock Exchange switches to Linux
- Mandrake Linux 9.2
- The partition is misaligned by 48128 bytes - warning from Linux RAID
- Ubuntu
- How to fix the scroll bars in Ubuntu 11.4 Gnome
- Kubuntu 10.10 alternate installation on desktop with RAID 1
- POWbuntu
- Ubuntu 10.10 after 6 months use
- Ubuntu 10.10 alternate installation
- Ubuntu 10.10 desktop RAID 1
- Ubuntu 10.10 desktop RAID 5
- Ubuntu 10.10 desktop install on a netbook
- Ubuntu 10.10 desktop installation
- Ubuntu 10.10 netbook install on a netbook
- Ubuntu 10.10 server AMD64
- Ubuntu 10.10 upgrade to version 11.4 beta 2
- Ubuntu 10.4
- Ubuntu 11.10
- Ubuntu 11.10 first upgrade
- Ubuntu 11.4 after one month use
- Ubuntu 12.04 beta1 desktop amd64
- Ubuntu One
- Ubuntu by Microsoft?
- Ubuntu desktop upgrade 10.4 to 10.10 failed because I did not check the media
- Ubuntu strikes again
- Upgrade Ubuntu to Linux Mint 12 LDXE for extra speed
- Yes, use Linux but not that distribution!
- Nero
- OpenOffice
- OpenOffice is now Apache Office
- Project management
- Scribus
- Software for Windows and Linux
- Text editors
- Time
- Todo applications
- Tomboy notes
- Top text editors
- Version control
- VideoLAN VLC media player
- Visio
- Webmin
- Webmin installation on CentOS for Web development
- Webmin installation on Ubuntu
- What is the most popular open source software today?
- Windows
- Another Windows person goes Linux
- BAD_POOL_CALLER
- Cygwin
- Microsoft Malicious Software Removal Tool cannot find a common virus
- One of the developers of Windows XP is criminally insane
- There are unused icons on your desktop
- W32time
- Which Windows version?
- Windows 7 Home Premium
- Windows XP Stop 0x0000007B during installation
- Windows XP is a disaster
- Windows processes
- XML
- Zip, bzip, gzip, or 7zip?
- configFree
- Technology Succession Planning
- VoIP
- Web Sites
- Drupal
- Do Drupal themes have to use the GPL?
- Drupal 7
- A better search facility for Drupal
- Drupal - performance or flexibility
- Drupal 7 Fields are hard to fix
- Drupal 7 new features
- Drupal 7 ships on January 5
- Drupal 7.14
- Drupal 7.4 hits PeterMoulding.com
- Drupal function sequence
- The evolution of a module
- Undefined index: headers in DefaultMailSystem->mail() (line 54 of /modules/system/system.mail.inc).
- Undefined index: to in DefaultMailSystem->mail() (line 83 of /modules/system/system.mail.inc).
- implode(): Invalid arguments passed in DefaultMailSystem->format() (line 23 of /modules/system/system.mail.inc).
- Drupal 8
- Drupal Code Load Cut
- Drupal How To
- Drupal Modules
- Backup and Migrate
- Browscap
- CKEditor with Drupal WYSIWYG
- Captcha
- Cel
- Colorbox
- Content Construction Kit
- Content type
- Devel module for Drupal
- Drupal Rules as an automation language
- Drupal Spam add-on module
- Form alter to node
- IMCE
- IMCE Wysiwyg bridge
- ImageAPI
- Jdog
- Lightbox2
- Module variable
- Node Gallery Access
- Node_Gallery
- Path
- Path redirect
- Pathauto
- Pet
- Search
- Service links
- Session Variable
- Statistics
- Taxonomy
- Token
- Token ex
- Transliteration
- Trigger
- Watch
- Other modules
- Drupal Training
- Drupal access controls need a major rewrite
- Drupal coding tricks
- Drupal performance
- Drupal themes for the future
- Drupal.org colours
- Import existing data into Drupal
- Multiple Web sites made easy using Drupal multisite and the right start
- drupal_lookup_path()
- Adobe PDF
- Apache
- Apache Mahout
- Audi.com
- Bleet
- CSS Strikes Again
- CSS or xCSS
- Can you believe Facebook or email?
- Content Management Systems
- Databases
- Facebook scam
- Font
- Fonts
- HTML
- Install Apache, MySQL, and PHP 5 in Ubuntu 11.4 using the Ubuntu Software Centre
- Language Codes
- Marketing
- Memcache
- Nginx
- Open source development hits another roadblock
- Oscars
- PHP
- SPDY
- Search software
- Techoni.com.au
- Theme themes
- Things to hate on Web sites
- U.S. Patent No. 6,985,875
- Virtual Private Server
- Visible Improvement
- Web 4.0
- Web browser usage
- Web browsers
- Web site development
- Bluefish
- Crying over spilt code
- Eclipse and PHP
- Getting a Git client, a story of ancient technology and pain
- HTTrack
- MVC
- Netbeans
- PHP or ..., CakePHP/Symfony/ZF versus ...
- Programming
- Superfish
- Web browser emulators for testing your Web site
- Web development frameworks
- Web site books
- Web site development on your own computer
- Webmin or phpMyAdmin or cPanel for creating databases?
- aiki framework
- jQuery
- Views development - Learn Fields first
- Views development - Learn Actions and Rules
- jQuery .each()
- jQuery .has()
- jQuery .is()
- jQuery and Firefox Firebug
- jQuery children
- jQuery for people not using Drupal - Installation and getting started
- jQuery hover
- jQuery hover de-duplication example
- jQuery or CSS?
- jQuery performance
- jQuery tests
- Web site hosting
- Westpac Web site still broken after two years and ten months
- Wordpress wins another CMS survey
- Drupal
Know It All?
technology:
I sometimes check job advertisements for PHP programmers to see the general market trends. Some of the adverts include an impossible list of requirements. Usually a below average salary accompanies the impossible list. What is the most impossible list you have found?
One job advert required a specialist who is an expert in all of these: PHP, HTML, XML, CSS, Perl, ColdFusion, JavaScript, VBScript, ASP, Java, J2SEE, EJB, Swing, JSP, SQL, RDBMS, UML, SOAP, and Struts.
I can understand PHP, VBScript, and ASP. I teach people how to convert VBScript and ASP to PHP. The work is easy, the results are excellent, and the customer substantially cuts their long term costs.
Java to PHP conversions makes sense for some Web sites. I helped convert a few and produced faster, easier to maintain sites. If you use PHP5, you can mix Java and PHP during the conversion.
Perl to PHP is a common conversion because PHP is a better fit for web sites. Yes, I have converted Perl sites to PHP.
While all this intermixing and conversion is possible, there are few people who can perform all those conversions and produce great Web sites. You are better off with a PHP expert who can perform the most common conversion, from ASP to PHP, and bring in outside help for the other work.
The company offering the job mentioned above, was offering a salary that would not get a great PHP programmer or someone who is good with databases. At most they would get someone who has purchased a book on each area. There would be a lot of reading on the job.
Photoshop
In Australia the job placement agencies tend to add Photoshop to the list of requirements. As soon as they see an information technology job that says Web, they add Required: Photoshop
.
Good programmers are rarely good photo editors and the type of photo editing required for the Web rarely requires Photoshop. Most sites have one multiple image banner that requires good editing. The rest of the images are just resized images with borders trimmed off. You hire an image expert for the one off banner creation and then show a junior trainee work experience kid how to correctly resize the other images.
Junior Trainee Work Experience Kids
There are a huge number of jobs you can give to a JTWEK. If they know how to use an editor, I can teach them to perform most of an ASP to PHP conversion. The skill is slightly easier to learn than making a great latte.
What do you look for when adding a JTWEK to your team? If your team is messy, look for someone who is neat. If your team likes caffeine, make sure your JTWEK knows all the appropriate delivery methods, tea, coffee, chocolate, headache tablets, and Guarana.
If your team is all male, add a female. Do the reverse for all female teams. Teams are more polite and cooperative when there is a member of the opposite sex present.
If your team has no concept of colour, look for a JTWEK that has studied colour. Good use of colour makes web pages 35 percent more effective.
Teaching HTML is a bore and everyone learns HTML at school so get a JTWEK who knows HTML.
Even the best universities fail to teach students the real differences between client and server programming so teach that yourself.
Give the JTWEK Gimp and a good book on GIMP. If your scanner arrived with Photoshop Elements on CD, still start the JTWEK on GIMP so they know there is something other than Photoshop. Paint Shop Pro is another good starting point if most of your work is on Windows and most of the work is simply resizing images. Remember to teach them about JPEG damage.
You now have a person who can take care of all the Coldfusion and ASP conversions with just a few hours introduction to PHP.
How Many Skills Do You Need?
If you are hiring a Web developer, the skills list should start with PHP then databases, development skills, a selection of team or business skills, and then, perhaps, another programming language. If you want a range of other languages, hire them one at a time while you build your development team.
Java is difficult to learn because there is so much you have to learn before you can do anything useful. Your first Java person really needs to be an expert. Do not limit that person's Java skill by hiring a generic programmer with a little knowledge of many languages. Get a person who focused purely on PHP and Java.
Put Web development ahead of Perl and all those other specific skills. Learning XML is easier than learning Web development. I teach both. People learn XML easily because it is an extension of what they already know. Only XSL creates problems because XSL is different to everything else.
People either understand Web development or struggle for a long while because they learn so many wrong ways to develop Web sites. If you have a team working on one Web site, they will lose more time due to team members overlapping their work than they will lose through XML problems.
CVS is promoted as a solution to team development problems but is just a small step toward a solution. You have to learn to use CVS and learn all the things not handled by CVS. There are products that automate much more than CVS but those products are seen as a hindrance by most developers because the developers have not learnt all the steps needed for a good final product. Avoid people who say that CVS will solve all your problems without needing an investment in planning or training.
Why do all those job adverts have many languages listed but no mention of CVS or basic Web development skills? Why do some adverts emphasise must be a team player
without the company every hiring a team coach?
Mentoring
You can transfer skills from experienced developers to inexperienced developers using mentoring. Unfortunately some companies want mentors to spend 100 percent of their time writing code. Those companies then expect the less experienced staff to somehow absorb the experience by cutting and pasting the code written by the experienced developer.
The cut and paste approach does not work. Copying code transfers code but not experience. Mentoring requires the discussion of the why
behind the how
. Mentoring requires the allocation of time for both the mentor and the people being mentored.
Marketing Party
Marketing people like to advertise Web development companies as specialising in everything
. They like to have a long list of things they can sell as yes, we do this
. If you can hire only one developer and that developer has one day of experience with every Web language, the marketing people can sell Web development to anyone.
The alternative is to hire one person who specialises in one language and try to market that language as the solution to everything. Some prospective customers will walk in the door with the idea that they need Java or some other fashionable technology. Marketing people will have to work harder to get open minded prospects through the door. You will miss out on some sales.
Which is the better approach? You will miss out on some sales no matter which way you go. You will get better long term results by having staff who do a good job. You will get far more repeat sales when your staff do a good job. If you have the opportunity to focus on one direction, you will get customers walking in the door from word of mouth references. Start with one good focused developer instead of the scattered jumble of skills loved by marketing people.
Long Term Cost
What happens when you start a project with someone who knows a little bit of everything but not much about anything? The project starts at too low a level of capability to create the final product. The customer pays an increased long term cost through continual rewrites of the Web site components.
I have worked on a number of projects that started too low, typically in cases where I was brought in to fix someone else's work or to finish a project that someone else could not finish. I was often asked to finish a complex Web site and stick to using techniques designed for simple projects. The simple
approach does not work.
When we fly around the world, we use aeroplanes powered by jet engines. Jet engines require far higher levels of technology than the simple reciprocal engines used in early aeroplanes. To most people watching a working model engine, the jet engine actually looks simpler. The result is that the most complex technology looks the simplest to the end user of the technology, the most complex technology gives the best service.
Web sites are often the same. If you go from a large Web site with no database to an equivalent Web site that uses a database, a whole lot of Web site development and Web site usage becomes far easier. There is a small extra load up front to get the database working but everything else becomes easier.
When you hire staff, you need someone who can work at least one level above the most complex site you work on. That person can then predict when you need to step up to a higher level approach. To get staff with that level of knowledge and experience, you cannot hire someone with just a small drop of knowledge in each language. You need a higher level specialist. If you want to develop in several languages then you need at least one high level specialist for each language.
Conclusion
Many Web development job advertisements read like a shopping list for a marketing party rather than a serious attempt to select skills. The marketing people get to show the public a long list of skills provided by the company while the accountants pay just a few salaries. The customer pays the long term cost of fixing up the mistakes of the seriously over stretched developers.








