Athena Core – Developer Tools (London)
Job description: Athena is a cross-asset platform transforming technology at JP Morgan. It delivers innovative and efficient applications to a wide range of firm’s business, including sales, trading, operations, risk and research. Athena combines the best of open source technologies with innovative components developed internally, which gives a potential candidate ability to contribute to wide range of exciting projects. Our developers enjoy working with front office, quants and other technology teams.We are looking for a hands-on software engineer to work on designing and implementing tools that will improve productivity of hundreds of developers, and to drive best practices in the developer community. You will be working in a fast-paced environment in a variety of programming languages, as part of a team of highly skilled professionals passionate about their work. Benefits:
- Work on one of the largest Python codebases in the world (20+ million lines of code).
- Work in a fast-paced continuous deployment environment where you can see the impact of your work as soon as it is ready. Overall there are 1000+ changes deployed to production every day.
- High-impact work. Any changes you make will have impact on the daily work of 1000+ developers.
- Light on bureaucracy. You will be responsible for streamlining the development process so that Athena developers can focus on what is really important.
Example work items include:
- Developing an IDE plugin that suggests the most applicable tests to run for a given change.
- Designing and implementing static code analysis rules for detecting and auto-fixing common coding errors.
- Implementing a testing framework for generating randomized trade booking scenarios.
- Implementing a tool for detecting unused code in a very large codebase.
- Implementing a release control that warns the developer when changing highly-used code.
- Coming up with and implementing features and tools that improve developer productivity.
- Managing entire development lifecycle of features – from talking to the users, through implementation, testing, documentation and deployment.
- Work with varied development teams to understand how they work and help them by developing the right tools, or helping them to make the best use of existing ones.
- Coordinate with developers from business-aligned teams to manage their contributions to the shared toolset.
- Drive best practices across the community of 1000+ developers.
- Passion for best practices in software development.
- Passion for quality and testing backed by knowledge of related concepts and libraries.
- Ideally at least 3 years of professional work experience or equivalent, e.g. open-source contributions.
- Knowledge of inner working of development tools highly desirable, e.g. refactoring, static analysis, code compilation and execution, deployment, test coverage tracing.
- Experience writing or extending IDEs and code editors highly desirable, e.g. Visual Studio, PyCharm, Eclipse, and Sublime Text.
- Experience with internals of version control systems highly desirable, e.g. Git, SVN, CVS.
- Track record of improving your own or your team’s development experience whether that was part of your primary role or not.
- Ability to take loosely defined requirements from conversations with developers and turn them into features that improve every developer’s experience.
- Flexibility and eagerness to learn new concepts.