Vacancy expired!
Job Title: Senior Software Engineer
Level: P3Job Family: Engineering / Product DevelopmentJob PurposeThe Senior Software Engineer writes and maintains code, as part of an integrated solution, to implement product capabilities and features, fix defects, improve performance and maintainability, while reducing technical debt.All of this functions are in alignment with product and technology roadmaps. The engineer has a role in (Agile) planning, providing advice and guidance, while continuing to monitor and research emerging technology trends. The goal is to address availability, reliability, performance, and security items for each system.The engineer must be a student of technology and driven to become an expert across all of the internal and external systems. They are the backbone of our team velocity, taking defined work and driving it through to completion day-in and day-out. Along with strong technical skills, the engineer must have a tenacious desire to learn and understand business principles, concepts, and strategy.Thorough knowledge across the entire delivery "stack" is essential. Autonomy Works under general direction within a clear framework of accountability.Exercises substantial personal responsibility and autonomy.Plans own work to meet given objectives and processes. Influence Influences customers, suppliers, and partners at account level.May have some responsibility for the work of others and for the allocation of resources.Participates in external activities related to own specialism.Makes decisions which influence the success of projects and team objectives. Complexity Work includes a broad range of complex technical or professional activities, in a variety of contexts.Investigates, defines, and resolves complex issues. Business Skills Selects appropriately from applicable standards, methods, tools, and applications.Communicates fluently, orally and in writing, and can present complex information to both technical and non-technical audiences.Facilitates collaboration between stakeholders who share common objectives.Plans, schedules, and monitors work to meet time and quality targets.Rapidly absorbs new information and applies it effectively.Maintains an awareness of developing technologies and their application and takes some responsibility for driving own development. Agile Planning- Works with Product Management to understand the challenges that customers and end users face in their day-to-day work and partner with them to design viable solutions.
- Recommends viable solutions to processes, technology, and interfaces that improve the effectiveness of the team and reduce technical debt.
- Foresees capacity requirements for component usage and identifies limitations.
- Provides input into story sizing, backlog grooming, and release planning.
- Contributes to product and solution designs to address critical issues and complex problems.
- Builds software applications across multiple platforms in response to the needs of stakeholders.
- Understands technical architecture and writes software and automated tests that are aligned with agreed upon standards.
- Performs trouble-shooting efforts and investigations when necessary.
- Provides ongoing support, monitoring, and maintenance of deployed products.
- Actively works with less experienced software engineers providing technical guidance and oversight.
- Actively participates in the engineering community, staying up to date on new software technologies and best practices and shares insights with others in the organization.
- Control system design practice within an enterprise or industry architecture.
- Influence industry-based models for the development of new technology applications.
- Develop effective implementation and procurement strategies, consistent with business needs.
- Ensure adherence to relevant technical strategies, policies, standards and practices.
- Design, code, test, correct and document programs and scripts from agreed specifications, and subsequent iterations, using agreed standards and tools, to achieve a well-engineered result.
- Take part in reviews of own work and leads reviews of colleagues' work.
- Establish standards and procedures across the technology service lifecycle (including the development lifecycle) in the areas of systems integration and testing and ensure that practitioners adhere to them.
- Manage application enhancements to improve business performance.
- Internet-based environments, hands-on development using current Microsoft tools and technologies - C#, ASP.NET, .Net Framework and Visual Studio
- Strong knowledge of object-oriented design concepts and design patterns required - Experience with XML/JSON, SOAP/REST, WCF and multi-tier distributed systems, GHE, TeamCity
- 5+ years professional experience building complex, highly scalable front-end applications utilizing JavaScript
- Strong understanding of UI, cross-browser/device compatibility, general web functions and standards
- Excellent problem-solving skills
- Self-motivated, directed and passionate about what you do
- Actively participate in agile team activities
- Participate in problem solving and troubleshooting for the assigned applications, functional areas or projects.
- Respond quickly and effectively to production issues and taking responsibility for seeing those issues through resolution.
- Creating and supporting applications running in AWS
- Coding within multiple technology stacks (e.g., Front-end: browser and device typically using common client-side technologies - React, HTML, CSS, JavaScript; Back-end: server, application, database using languages like PHP, Python, Ruby)
- Past experience profiling and tuning performance of front-end applications
- Realizing applications from conception and design to implementation and support
- Application lifecycle methodologies (e.g. agile, iterative)
- Share knowledge by effectively documenting work.
- Stay current with changes in the technical area of expertise
- Develop new, or maintain existing programs based on specifications - Develop, implement, and maintain unit tests of programs; participate in functional test planning and testing for the assigned applications, functional areas, or projects.
- Communicate clearly, strongly, and effectively to small and large groups.
- Follow designated best practice design and modeling.
- Bachelor's degree in Computer Science or related field or equivalent combination of industry related professional experience and education.
- Scrum Developer Certification or equivalent (desirable)
- 5 - 8 years of working experience