Hola Workaneros! Estamos buscando programadores/programadoras para codificar tareas de backend en el core de la plataforma Workana. Quienes apliquen deberán tener amplia y reconocida experiencia en:
* PHP (5.4+)
* PHPUnit
* Doctrine2 (y librerías como Doctrine Migrations, y Doctrine Extensions)
* Framework reconocido como Symfony2, Laravel, CakePHP, o Zend Framework 2
* jQuery
En cuanto a técnica, teoría, y mejores prácticas de programación también es necesario contar con amplia experiencia en:
* Internacionalización (conocimientos de Gettext recomendados, pero no necesarios)
* Patrones de programación como DI (IoC), Adapter y Facade, Proxy, Registry
* Principios de APIs REST (implementación e integración)
* Integración con procesadores de pagos (como Stripe, Paypal, WorldPay)
* Continuous integration (vía Jenkins, TravisCI, o similar)
* Message queues (para procesamiento de tareas como Gearman, RabbitMQ, 0MQ)
También es beneficioso (pero no imprescindible) tener conocimiento en:
* Desarrollo de extensiones PHP usando la Zend API
* Mobile development (vía ObjectiveC, Android, PhoneGap o Titanium)
* Frontend skills (maquetación, particularmente con Twitter Bootstrap)
* AWS stacks (creación y mantenimiento de instancias EC2)
* Vagrant (y máquinas virtuales en general)
* Python
* Golang
Sólamente se tomarán en cuenta las propuestas que:
* Incluyan referencia a un perfil en Github con código publicado, o referencias a código fuente cuya autoría sea verificable
* Expliquen qué hace el siguiente código, y cual es el objetivo de cada línea:
(function($) {
$(function() {
console.log("I <3 WORKANA");
});
)(jQuery);
* Expliquen porqué en PHP esto es una mala idea, y qué mejores prácticas y técnicas podrían mejorar esto considerablemente (sentite libre de recomendar todo lo que pienses podría mejorar esto, desde toda perspectiva):
class UserRegistration extends BaseController {
public function register() {
if (!empty($this->request->data)) {
$user = new User();
$user->set($this->request->data);
$errors = Validation::validates($user, $user->rules());
if (!empty($errors)) {
Email::send('registered', [
'email' => $user->getEmail(),
'name' => $user->getName()
]);
return $this->redirect('/registered');
} else {
Flash::error(_t('Please fix the ' . Count($errors) .
' Errors below'));
}
}
return compact('user');
}
}
Esta es una oportunidad única para ser parte del equipo que construye el núcleo de Workana, la mejor plataforma de trabajo remoto. Espero tu propuesta :)
Duración del proyecto Más de 6 meses