Senior Java Software Engineer - Worldwide
We are looking to expand our Technical Services Team, by adding a highly capable and motivated senior developer to help us deliver customer implementations. Our platform is highly workflow-driven which differs from customer to customer.
This role will be responsible for helping to define, contribute, and improve the system architecture. The candidate chosen will work closely with others to create, plan, and execute engineering strategies needed to help scale our systems and support rapidly growing business growth.
We are looking for a long-term relationship, a talented individual that will become part of the team and grow within our company.
- Work efficiently and routinely deliver the right things with limited guidance. The work focuses on complex, ambiguous problem areas in existing or new software initiatives.
- Take the long-term view. The candidate should consider where each system is at in its lifecycle and where appropriate, proactively fix architecture deficiencies.
- Make existing systems simpler (e.g. by consolidating redundant systems, deleting unnecessary code, or removing/updating out-of-date documentation).
- Take the lead on large projects that require the work of the team.
- Knows how to divide a software project into parallel work that can be performed by the team and then reassembled successfully into a cohesive launch.
- Understand the business impact of the systems and show good judgment when making technical trade-offs between the team’s short-term business or operational needs and long-term technology needs.
- A key influencer in team strategy.
- Drive mindful discussions with customers and peers.
- Bring perspective and provide context for current technology choices and guide future technology choices.
- Make appropriate architectural trade-offs
- Code submissions and approach to work should be exemplary – your solutions are inventive, secure, easily maintainable, appropriately scalable, and extensible.
- Write software that is easy for others to contribute to.
- Take ownership of team architecture, providing a system-wide view and design guidance.
- Make things simpler.
- Drive engineering best practices (e.g., Operational Excellence, Security, Quality, etc.) and set standards.
- Work to resolve the root cause of endemic problems including areas where the team limits the innovation of other teams (bottlenecks).
- Actively recruit and help others leverage, by coaching and mentoring in the organisation.
- Provide technical assessments for promotions to SDE II and SDE III.
- Contribute to the professional development of peers, improving their technical knowledge and the engineering practices.
- Minimum 5 years in professional Java programming with experience in application design, software development, and maintenance
- A BSc in Computer Science or similar field
- English language fluency and very good communication skills
- Good team player and ability to exchange information and support with co-workers
- Solid understanding of engineering best practices
- Good knowledge of Object-Oriented Programming techniques
- Good knowledge of Scripting languages like Groovy
- Good knowledge of SQL and database systems such as Postgresql, MySQL, etc.
- Quick learner and adapter of new frameworks and technologies
- Attention to details and some creativity on how processes could be improved as well as business requirements could be met
- Good knowledge and practical experience in automated test practices (Unit, Integration Acceptance)
- Practical experience working with REST APIs and Microservices
- Good knowledge working with Cloud provider technologies (e.g.: AWS, Azure etc)
- A strong passion for Software Engineering, Innovation, and challenging the status quo
- Good knowledge of (CI\CD)
- Solid understanding and practical experience in Dev Ops
- Knowledge of development tools including Git, Maven, Eclipse
- Experience working with Spring and\or Spring Boot
- Experience working with ORM technologies such as Hibernate
- Solid System and Architectural skills for distributed systems
- Solid understanding of Agile methodologies and practices
- Good understanding of Containers and Orchestration (Ideally Docker and Kubernetes)
- Good knowledge in J2EE Technologies (e.g. Servlets, JTA, JMS, web containers)
- Excitement for the latest trends in application design and Software Architectures
- Relaxed yet enthusiastic attitude
- Experience in front-end frameworks like Vue.js or React is a plus
- BPMN Framework like Activity
- Work from anywhere in Peru - we are a fully remote company.
- Flexible PTO - We offer 25 days of paid holiday per year + 3 Public Holidays.
- Connect and socialize with the team during our company socials and off-site events.
- We celebrate special occasions with you - like your birthday! Additional PTO for all employees during their birthdays.
- Receive Competitive Pay - Our team makes sure to provide a highly competitive rate based on your skills and location.
- Work with a diverse, international team.
- Tons of amazing career opportunities in a fast-growing in demand industry.
Originally posted on Himalayas