Our client is looking for a Lead PHP Developer to head up and grow the dev solution in SA. If you enjoy coding, sharing ideas and love being part of a collaborative team within a fast growing, award-winning, international agency, then this is the role for you.
The client is a diverse digital marketing agency which means you’ll work on anything from simple content managed websites to advanced mobile apps and lead generation projects.
Day to day you’ll be working with our dedicated Project Management team and internal studio. You’ll be responsible for building and maintaining different applications and sites for our external clients and several Jellyfish-owned products and services. We add to these all the time so there’ll always be new challenges to work with.
Responsibilities
Day to day responsibilities:
- 50% development, 50% management and scoping (technical specifications)
- Be willing to take ownership of projects and to be able to present your proposed solutions to the wider team and to non-technical staff in an understandable way
- Managing deployment and improving deployment processes
- Automating repetitive tasks
- Proactively suggest, plan and integrate new tools and methods to improve productivity and reduce costs
- Proactively help the team to be more efficient and improve the development environment in their day-to-day duties
- Proactively improve integrations with other areas of the business
- Frequent reviews of your team’s progress across offices (worldwide)
- Effectively conduct meetings, tutorial sessions and code reviews and mentor developers
- Ensure staff are tracking their time correctly and following employee guidelines
- Ensure staff are fully booked and handle resourcing issues
- Conduct interviews, staff reviews and daily scrums
- Create a progress plan for every staff member
- Jellyfish developers work in a DevOps capacity and you will be expected to be relatively competent in maintaining development servers and migrating work in progress to UAT/testing servers as per the team standard – which you will maintain
- Ensure that other team members provide those in other teams in the business with high quality information at every step of the build process (provide Project Managers with clear, concise responses)
- Understand and enforce the importance of team members delivering to schedule and deadline
- Encourage conformity to Development Guidelines
- Mentor developers and ensure they become excellent team members with effective communication and that they follow code standards. Encourage developers to learn and demonstrate advancement in their skillset
- Encourage staff to cross-train across platforms (framework & CMS)
- Encourage full use of existing business and development tools
- Assess and recommend new tools to the Technical Director
- Be willing to work in a research capacity – to find and test and critically review open-source frameworks and technologies
- Encourage automated test procedures and defensive programming
- Be willing to aid external contractors where required
- Maintain and enforce a good standard of coding (PSR-1 & 2) and adhere to the same conventions as the rest of the team
- Leave code better than you found it (and fully commented)
- Test your code, be it client or server-side
Experience Required
Skill Requirements
- 8 years’ experience in PHP development
- Experience in other languages a bonus (such as .net, Python and C++)
- Knowledge of PSR standards
- Experience with back end frameworks and/or content management systems such as:
- Laravel / Lumen
- WordPress
- Drupal
- Joomla
- Magento
- You will be expected to be proactive in educating yourself in Frameworks / Content Management Systems you may not already know
- Prior management experience
- Ability to assess new business and respond with a full list of targeted questions to ensure accurate estimates are created
- Ability to scope a project based on a technical brief and work with the DevOps and QA teams to provide a detailed project plan including:
- Data Flow Diagrams for process flow
- Database Schemas & Normalisation
- Recommended software / plugins / architecture
- Scalable environment architecture suggestions
- Hosting, storage, load balancing and caching suggestions
- Performance considerations
- Security considerations
- Assumptions & Exclusions
- A complete and accurate estimate for the project
- Ability to research solutions to technical problems
- Standardize and automate scoping processes where possible
- Experience creating modules for CMS / Frameworks
- Prior experience in mentoring small teams and providing technical documentation
- Experience with JavaScript (APIs / jQuery)
- AngularJS / ReactJS is a bonus
- An understanding of socket based communication and ESB/Microservice solutions is a bonus
- Knowledge of Docker is a bonus
- Robust experience with Linux command line, bash scripting, configuration, installation, maintenance and monitoring.
- Experience with Git / GitHub
- Robust experience with Databases or Key-Value stores (MySQL / Maria DB / MongoDB) including command line usage
- Experience with message queue software
- Good experience of parsing data formats such as XML/JSON and using 3rd party API’s
- Experience with Curl / similar
- Experience of programmatic generation of documents / data
- Experience creating importers / validators / exporters
- Experience maintaining high profile, high traffic websites
- Good communication skills for client interaction
- A working understanding of Apache & Nginx configuration and virtual hosts
- Experience with Jenkins or other Continuous Integration tools
- Experience with Puppet or other server automation tools is a bonus
- Knowledge of additional programming languages
- Front end process and tool understanding is a bonus
- Sass & CSS
- BEM
- Bootstrap / Foundation
- A good standard of front end development and understanding of UX is expected
- Knowledge of Google / Amazon Web Services a bonus
Key Attributes
- Strong verbal and communication skills – able to communicate with clients effectively
- Good time management skills
- Pro-active & self-motivated with a sense of ownership
- Flexible, versatile and copes well under pressure
- A team player with high energy
- Listening and acting on Team comments
- Good prioritisation skills
- Ability to perform effectively to tight deadlines, work well both independently and as part of a team
- Self-managing within the scope of the role
- Educated to degree level in Computer Science or equivalent
- Be open, honest and direct. Be comfortable in giving and receiving constructive feedback
- Be proactive in doing what needs to be done; ensuring deliverables are a success
- A proactive attitude to problem solving and an understanding of the role of development in a creative environment
- Good documentation skills
- A good understanding of the change request process