We are looking for a Principal Software Engineer who will be responsible for working cross-functionally to understand architecture needs by multiple functional teams. To be effective in this position, you must feel comfortable owning the entire development process from inception to completion.
Responsibilities
- Conduct architectural evaluation, design and analysis of systems.
- Ensure Application teams delivers robust solution based on the architectural decisions.
- Develop, enhance and maintain established service design procedure and process to assure apt and robust service design.
- Provide technical leadership based on business inputs.
- Provide solutions to problems not just point out problems and conceive initiatives.
- Analyze technology, resource needs, and market demand, to plan and assess the feasibility of projects.
- Coordinate multiple projects, making detailed plans, to accomplish goals and directing the integration of technical activities.
- Direct, review and approve product designs and changes.
- Understand the needs of the business, and drive initiatives to improve the business.
- Deliver on your commitments and proactively report changes in plan along with recommended solutions.
- Support impact assessment and decision related to technology choices, design /architectural considerations and implementation strategy.
- Collaborate with data scientists, frontend developers and software developers to implement solutions that are aligned with and extend shared platforms and solutions.
Technical Experience
- Strong experience in developing large scale enterprise grade applications using Core Java and Java ecosystem frameworks.
- Strong in architecting and design
- Familiar with PostgreSQL, NoSQL databases, Distributed Caches and Data-Grids.
- Experienced with Git, Maven, Jenkins and Continuous Integration.
- Exposure to Apache Camel and Smooks is a plus.
- Experience with container-based deployments using Dockers.
- Experience with Middleware technologies preferred.
- High level of proficiency in handling concurrent processing in a multi-threaded environment.
- Develop and implement IT standards and procedures to aid in the development of high-quality software.
- Train and integrate new team members and proactively support the continued development of existing team members.
- Strong ownership, bias for action and product sense. Drive change to implement efficient and effective strategies as advised by management
- Work closely with the stakeholders on issues related to business requirements.
- A “go-getter” attitude with oceans of optimism, humility and self-motivation.
- Previous start-up experience with high levels of ownership and commitment or contribution to any open source project is a plus.
- BTech, MTech, or PhD in Computer Science or related technical discipline (or equivalent).
- 9 years and above exposure in the Information Technology domain.