Job Overview
We are looking for high performing individual contributor who acts as a mentor to more junior engineers, applies new engineering principles to improve existing systems, and is responsible for leading complex, well-defined projects.
What you’ll do:
-
Develops and tests complex or non-routine software applications and related programs and procedures to ensure they meet design requirements.
-
Effectively applies knowledge of software design principles, data structures and/or design patterns and computer science fundamentals to write code that is clean, maintainable, optimized, modular with good naming conventions.
-
Effectively applies knowledge of databases and database design principles to solve data requirements.
-
Effectively uses the understanding of software frameworks and how to leverage them to write simpler code.
-
Leads/clarifies code evolution in code reviews.
-
Brings together different stakeholders with varied perspectives to develop solutions to issues, and contributes own suggestions.
-
Thinks holistically to identify opportunities around policies/ processes to increase efficiency across organizational boundaries.
-
Assists with a whole systems approach to analyzing issues by ensuring all components (structure, people, process and technology) are identified and accounted for.
-
Identifies areas of inefficiency in code or systems operation and offer suggestions for improvements.
-
Compiles and reports on major operational or technical initiatives (like RCAs) to larger groups, whether via written or oral means.
Who you are:
-
Maintained/ran at least 4 software project/product in production environments (bug fixing, troubleshooting, monitoring, etc.).
-
Has strength in a couple languages and/or one language with multiple technology implementations.
-
Identifies strengths and weaknesses among languages for particular use cases.
-
Creates API’s to be consumed across the business unit.
-
Selects among technology available to implement and solve for need.
-
Understands how projects/teams interact with other teams.
-
Understands and designs moderately complex systems.
-
Tests and monitors code at the project level.
-
Understands testing and monitoring tools.
-
Debugs applications.
-
Tests, debugs, and fixes issues within established SLAs.
-
Designs easily testable and observable software.
-
Understands how teams goals fit a business need.
-
Identifies business problems at the project level and provides solutions