Senior developers are responsible for ensuring their code meets client expectations and solves the business problem prior to a release. Developers will work on tasks including bug fixes and change requests across a number of different solutions while identifying and mitigating risk when possible. Developers actively participate in the entire support development lifecycle over extended periods of time. The ideal candidate would possess solid programming skills and provide high-quality results to our clients. Developers also manage maintenance updates, upgrades, and releases of code and features geared toward solving identified client needs. Responsibilities Development The senior developer should always maintain best practices for all codework and do their best to follow through on project processes for quality work performance. Troubleshoot, write or edit code, make configurations, and use tools necessary to implement solutions to web applications. Produce quality code in all layers of web applications, including business logic and front-end areas. Work closely with team members on production issues, ensuring that issues are resolved in a timely manner. Follow best practices regarding code quality, peer review, commit and PR history (including descriptive code comments, git commit messages, annotated release tags, etc) Maintain quality code work. Documenting QA test steps and validation procedures for feature sets and functionality. Provide adequate developer testing before delivering development work for internal or client QA. Communicate notes and instructions regularly with QA to ensure thorough and effective testing. Adhere to established deadlines and proactively communicate impediments to meeting deadlines to internal stakeholders and/or clients. Raise risks internally related to application health, including tasks, solutions, timelines, etc. Execute the tasks outlined to mitigate risk and track progress through completion. Provide frequent and clear updates to project managers and/or account managers. Regularly review code in a systematic way for bugs and help others who become blocked in debugging Maintain up-to-date documentation, including account credentials, hosting data, ticket status and comments, and time logs. Ensure all standard internal SOP documentation is up-to-date and readily accessible. Ensure account-specific documentation is kept up-to-date and added to as needed. Utilize best practices with regard to source/version control, commit comments, and clean coding practices. Ensure development infrastructure is set up and configured according to the company’s established best practices, including areas such as source control, continuous integration, and building scripts. Participate in the creation and validation of development estimates for use in project planning. Senior Developer holds the responsibility of being the approver for all technical audits. Communication Communicate requirements, scheduling, and quality expectations to internal and client stakeholders. Actively participate in client communication to provide technical insight and details. Available to co-workers and clients during regular business hours, overlapping at least 6 hours with business operating hours of 9 a.m. to 5 p.m. Central Time. Works with customers or departments on technical issues, including software system design and maintenance. Performs screencasts for internal use for completed sprints to help maintain quality production. Creates professional screencasts for clients to use as training resources for tools and features that have been implemented on their web properties or applications Clearly and regularly communicates with management and technical support colleagues Consults with staff to evaluate software interfaces and develop specifications and performance requirements. Delivers work by agreed-upon deadlines and communicates with internal stakeholders regarding changing scope or risks to meeting that deadline beforehand. Identifies and communicates missing requirements for projects before starting tasks, or as early as possible once a task is started. Identifies and alerts management to scope changes before starting new or reopened tasks or tickets Alerts internal stakeholders to identified bugs and/or unanticipated development work before spending any time beyond the original estimate. Communicates with account and/or project managers regarding handoffs of work to ensure that the proper context has been communicated before work begins Background Skills and Qualifications BS in Computer Science or a related field, or equivalent experience 4+ years of experience programming in procedural OOP with PHP 7.x+ and 8.0+ 3+ years of experience working in Drupal 8 or higher 3+ years of experience working with WordPress 3+ years of experience working in an agency environment Knowledge of enterprise-level design and development Experience working with JIRA is a plus Strong command of OOP Proficient at writing reusable and modular code Proficiency working with git branching, pull requests and annotated tagging Solid understanding of all phases of the Software Development Life Cycle (SDLC) Ability to own development tasks within assigned projects Ability to make day-to-day development decisions without assistance from lead engineers or practice leads Ability to debug and find problems within existing systems Ability to work on multiple account projects Nice-to-Have Skills Woocommerce experience Shopify and/or BigCommerce experience Laravel experience Mautic experience NodeJS experience Ionic experience
WooCommerce OOP PHP Git SDLC Shopify Node.js BigCommerce Laravel mautic Jira WordPress ionic-framework Drupal Software Developer