This role is for a programming developer. The programming developer is responsible for developing software according to specification and standards for a packaged software application.
Technical experience is required, and domain knowledge within the functional components is a plus.
Software developer responsibilities include.
Perform programming activities to deliver software according to specification and standards.
Work with project manager and functional lead to ensure clarity of specification.
Perform software build activities to ensure compliance with standards and best practices for the software package.
Demonstrate ability to perform programming tasks.
Must be a self-starter; possess excellent communication and organizational skills along with the ability to work well under pressure.
Assist with the development of procedures and processes to improve operational efficiency.
Work in an environment that adheres to work plans/schedules and status reporting.
Work effectively with internal and external clients.
Additional duties as assigned.
Education/ Work experience requirements:
Bachelor degree or equivalent. Equivalent combination of education and experience may be substituted for degree.
Strong skills in web application components such as PHP, SOAP, Tomcat, Struts, JSP's, and MySQL.
Familiarity with object oriented programming techniques and common design patterns
Working knowledge of Linux is highly desirable
Experience with Web Services a plus
Demonstrate a strong track record as a programmer
2+ years programming experience in web application environment
Demonstrate the ability to meet deadlines and solve issues.
Possess good judgment, positive attitude and professional demeanor.
Dependable, with excellent organizational skills.
Strong interpersonal skills, and be flexible in a dynamic team environment.
Recently on his blog Cormac has posted a quick little tutorial on making things a bit faster when rejecting file uploads in PHP that are just a bit too large.
Discovered today you can report to a user if the file(s) he/she is uploading is too large without having to wait for the file to finish uploading by checking $_FILES.
The key is the "error" field in the $_FILES array that actually returns its value before the upload is finished if the size of the file is larger than the MAX_FILE_SIZE set in the POSTed information of the form. The Content-length header is sent before the actual payload (the file upload data) so PHP can interpret that before the upload starts and kick it back with an error if it's too large.
On the SitePoint PHP blog, David Petersonshares some of the comments and thoughts that Rasmus Lerdorf (creator of PHP) had recently on a good range of topics (including frameworks).
This is the fist time I have heard Rasmus Lerdorf speak and it was entertaining to say the least. Refreshing would another way to describe it, I enjoy hearing real opinions and not holding back - Rasmus doesn't hold back.
He talked about frameworks (and why they're not the best thing for the job), how you can make PHP fast (or can you?) and some mention of the semantic web and Drupal.
I've released PECL OCI8 1.3.2 Beta - the latest release of PHP's OCI8 extension with support for Connection Pooling and Fast Application Notification. The release is based on the current PHP 5.3 development branch.
He notes another change in this release - a "session release" bit of functionality persistent connections will do when nothing is referencing them anymore, mking them work a bit more like normal connections. Issues that could be caused by this can be corrected with a new setting (oci8.old_oci_close_semantics) in your php.ini.
Nick Halstead has pointed out a website, written in PHP he's created to help make a little bit of sense out of the links that go flying past in your twitter client - tweetmeme.
What is it? It tracks the public timeline from twitter and picks up any links that get posted. It then follows each link to find final destination and then categorizes the content into blogs / video / images / audio. This project really shows what is possible using PHP if you know what you are doing.
Most of the work was done by another developer, Stuart Dallas as one of four that worked on the project together. It's written in PHP5 and uses only about 20 PHP files to get the job done. You can also check out the launch post over on tweetmeme's blog for more information on the service.
Jonathan Street has a few tips for developers out there looking to speed things up on their site - seven tips towards "lightning fast sites".
I was recently creating a small tool in PHP and found myself hitting the max execution time and getting a fatal error. As it was only for my personal use I just bumped up the max execution time but it made me stop and think about how I could improve the speed of those scripts I do put up for public use. Most people aren't going to wait for 60 seconds for a page to load. Naturally I hit the internet looking for tips.
The tips he came across (each including the simple benchmarks to show the differences) were:
sizeof vs count
is_int vs is_integer
chop vs rtrim
doubleval vs floatval
fwrite vs fputs
implode vs join
ini_alter vs ini_set
Be sure to also check out his follow up post talking about building better benchmarks to test the sorts of tips he's given above.
David Coallier has posted about a database abstraction layer that he's been developing for PHP 5.2.x only systems and wants some opinions on his methods:
I made a very light DBAL that uses PHP5.2.x only (Since many people seem to want that) and it has the exact same DSN syntax as MDB2 for now and the query method are also called the same (No API Changes). [...] The main goal of the DBAL is to have a very effective and light way of switching RDBMS but also the possibility to change your DBAL to something more "0feature complete" as such as MDB2.
He includes the list of query method names and the types of databases that he wants it to support (as well as mentioning the fact that it would be unit tested for reliability).
The IBM developerWorks website has posted the first part of a series looking at boosting the performance and throughput of your PHP applications through an opcode caching software, specifically XCache.
PHP is a scripting language most often used to create Web applications. It's easy to learn and produces visible results quickly. However, because PHP is interpreted, PHP code is parsed and translated to opcodes every time it executes. An opcode cache eliminates that rework, making PHP applications faster.
They start with the installation of the software (just XCache, they assume everything else is installed) and what to edit in the php.ini file to get things up and running. They follow this up with a sample benchmark for a local phpmyadmin installation.
The IBM developerWorks site brings the community another great tutorial today, this time looking at the CakePHP framework and the creation of a simple application with it.
In "Cook up Web sites fast with CakePHP, Part 1: Adding related information and services", they build a sample application (Tor) from the ground up (installation guide and all) that will take in a username and password on a login page. Their goal is to show you how much time you could safe by using the framework over just the usual library-based (or procedural) programming methods.
You will need to be a bit familiar with PHP and the Model/View/Controller design pattern before you get started here, but if you have that down, you can just jump right in. You'll also either need to register with the site or log in with your account information to get to the good stuff.
Paul Jones has run some benchmarking on four different frameworks - CakePHP, Solar, Symfony, and the Zend Framework - to check for overall speed and has come up with some interesting results.
Anger-inducing broad-brush overview: Solar is 4x faster than Zend, and almost 2x faster than Symfony. Read on for all the nuances and caveats.
Throughout the rest of the post he talks about the methods that he took for testing the frameworks and that his goal was the fastest response time only, nothing about the actual functionality. The test was as simple of a "hello world" that he could get in each one.
He's provided the benchmarking results, as provided by Apache's ab testing script for the base (just PHP manually) and then for each of the frameworks, providing the code used as well. There's also a helpful bit on which classes get loaded for each of the frameworks to see what the overhead is. Symfony tops off this list with 43 total libraries for what ends up as a simple echo statement.