Job Description Role Purpose:
To write, debug, maintain and test our products (existing ones, new modules on existing applications or completely new products). Work with other stakeholders (senior developers, dev managers and technical leads, analysis, test, project management, product owners) to complete the work on the agreed timelines and with the required quality.
Main Responsibilities: Designs and builds component-based applications in a web/internet delivery environment, alone or with other developers I or II.Works on new and existing applications along with enhancements to websites, web applications, and infrastructure.Scopes, implements, tests and deploys new features and versions of core applications, databases and utilities.Performs hands-on coding and assists in the design of solutions.Raises issues during development cycle (running late, blockers, lack of analysis, etc.).Prepares reports, manuals and other documentation on the status, operation and maintenance of software when asked by his/her managers.Provides documentation of user's requirements, development of user stories, and estimates when requested to do so.Assists with providing third-level support to business users.Helps with code reviews.Writes design technical documents.Participates actively on reviews and technical design meetings and provides valuable feedback.Follows company policies regarding development.Mentors Software Developer Engineers I.Completes all special projects and other duties as assigned.Participates actively in planning meetings, retrospectives, daily stand ups, and other meetings as part of the software development process.Updates progress in our systems (i.e. move items to the right status, remaining effort, etc.).Learns from senior team members regarding proper application design and security.Any other duties commensurate to the grade of the role.Qualifications: Bachelor's degree preferred in Computer Science or other relevant field and demonstrable related experience.Working knowledge of all phases of the software development life cycle.Expert in object-oriented programming concepts, unit & integration testing, data and relational databases, technical database design, web architecture and application servers.Strong ability to document development including database design, application design and ongoing documentation of changes and modifications.Knowledge of Agile development methodologies helpful.Strong skills of design patterns.Deep understanding about performance and scalability implications in the development process and experience with performance monitoring tools.Ability to install complex software patches and upgrades.Ability to review code written by others and provide feedback and recommendations to follow coding guidelines.Able to provide estimates.Demonstrated ability to write technical documents including database design, application design and ongoing documentation of changes and modifications.Demonstrated experience with N-tiered applications, multi-tier architecture, and production Internet architectures.Demonstrated ability to learn and adapt to continuously changing technology.Be able to design considering operational costs.Desire to lead a work stream coordinating a small team of developers.Ability to do a risk analysis.Independently productive being able to face most tasks on their own and understand when they need to ask for help.
#J-18808-Ljbffr