Current Opening

Senior PHP Developer


(Be sure to take a look at where you'll be working if you land the gig.)

We need a senior developer with MVC experience (we use the Kohana framework) who can step in and help guide the growth we're expecting in the near-term. We've gotten along now for a few years with some great developers, but no one with structured experience who can bring our architecture and coding methodologies to the next level. That's who we're looking for.

We're also looking for someone that knows how to write clean and efficient PHP5 object oriented code at the enterprise level. Here is a list of our "absolutely-must-have" requirements:

  • PHP 5 - object oriented experience
  • SQL knowledge: basic and advanced (i.e. stored procedures, views, triggers, etc)
  • HTML (can code by hand or in sleep)
  • Subversion or other version control systems
  • Some HTTP experience (you should know the difference between GET versus POST, what a 404 is versus a 200, 301 redirect, etc)
  • Regular expressions (at least able to understand them even if they give you horrible, horrible nightmares)
  • Model-View-Controller (MVC) experience (via frameworks such as Kohana, Zend, Cake, or Symfony for example)
  • AJAX by way of jQuery, YUI or any other popular libraries
  • Knowledge of design patterns
  • Apache and mod_rewrite experience
  • Linux system administration skills
  • Extensive Javascript and CSS knowledge
  • Experience with at least one other language (C, Perl, Java, Python, Ruby)
  • Using and writing APIs

We need someone on site in Tempe, Arizona, but we're open to helping people relocate. (We'd prefer someone already out here, though.)

We're a younger group of motivated web developers and our company is growing rapidly. We keep things fun and interesting, have great office space in the downtown district, and do our best to give back to our community. Find more out about us at our site.

This is your first test, so don't screw it up...
To apply, send ALL of the following to jobs at synapsestudios dot com:

1. Your resume
2. Some samples showing off what you can do
3. Include the job title in the subject line of the email

 

Back to our job list

 

HTMList.com: Synapse Studios' Blog

Extending PHP 5.3 Closures with Serialization and Reflection

PHP 5.3 has brought with it some powerful and much-needed features like late static bindings, namespaces, and closures (also referred to as anonymous functions and lambda functions). Anyone who is experienced with JavaScript or who has worked with programming languages like Scheme or Lisp should realize the value that anonymous functions can bring to PHP. The PHP Manual explains closures like this: Anonymous functions, also known as closures, allow the creation of functions which have no specified name. They are most useful as the value of callback parameters, but they have many other uses. Closures can also be used as the values of variables; PHP automatically converts such expressions into instances of the Closure internal class. PHP has very few predefined classes that are part of the core language, so naturally I was intrigued by the Closure class. The PHP Manual has this to say about the class: The predefined final class Closure was introduced in PHP 5.3.0. It is used for internal implementation of anonymous functions. The class has a constructor forbidding the manual creation of the object (issues E_RECOVERABLE_ERROR) and the __invoke() method with the calling magic. The invoke magic method is also a new feature in PHP 5.3. It is called when an object is used in the context of a function (e.g. $object($parameter);). Since Closure objects will be used like functions, this is a critical feature of the Closure object. The Closure class may be perfectly equipped to act like an anonymous function, but it does not provide any extra utility beyond that. A var_dump() of a closure will reveal the functions parameters, but there is no way to get any other information about the Closure (like the actual code of the function). Trying to serialize the Closure throws an Exception and json_encode() just returns an empty JSON string. To make matters worse, the Closure class is final, so there is no way to extend it. That simply wasn't going to cut it for me. I wanted to make my own Closure class that was at least able to do the following:

Posted on January 28, 2010 by Jeremy LindblomRead More »

Who's using Synapse Software?

Herhsey's Discount Tire / America's Tire Troon Golf
Arizona State Board for Charter Schools Arizona Department of Transportation: Motor Vehicle Division Gila River Casinos

Synapse on the side

Threadcakes Cake Competition Give-a-weigh Charity Weight Loss Fundraiser