Job description:
the successful candidate will be responsible for designing and developing high-volume, low-latency applications for mission-critical systems, ensuring high availability. This involves supporting web-based application development and maintenance, contributing to the growth of our software engineering competency, and providing input and support for full system life cycle management activities.
responsibilities:
* take end-to-end responsibility for projects of increasing complexity that encompass more than their own development
* be independent with little oversight beyond high-level direction, working on complex tasks and completing them despite roadblocks, including debugging techniques
* help large groups of engineers deliver complex projects with drama-free launches, owning the technical testing and performance planning side of these projects
* deliver software on-time and improve the accuracy of team's estimations
* understand the business that their code supports, and possess empathy for the users of their software, using this understanding to influence their task prioritization
* understand the trade-offs between technical, analytical, and product goals, and strive to create solutions that satisfy all business goals
* write consistently high-quality code, deliver features to qa that they believe are well-baked and bug-free, being aware of industry best practices and trends
* be known outside of their core team as a technology leader, working effectively with non-tech members of their pillar. Ability to identify problems with requirements and help their team course-correct around these issues
* research and propose new technologies, and have a broad understanding of the entire architecture, as well as very detailed understanding of their area
* proactively identify and clean up technical debt before it turns into a long-term problem, and encourage and enable their team to do the same
* identify risks in code, features, and design, and communicate these to the appropriate parties
* participate in architecture designs providing feedback and providing designs with guidance from the architecture team, as appropriate
* ability to identify and suggest areas of future work for themselves and others while contributing to the common standards for the team
* balance leadership and individual contribution by providing extensive mentoring of junior team members while maintaining deep individual contribution
* seek evidence to support their ideas and start to build cases for these ideas
* support deployment releases as needed and maintain the application once it's in production
qualifications and education requirements:
the ideal candidate will have a bs/ms degree in computer science, engineering, or a related subject, with expertise in java and enterprise java technologies and development. They should also be familiar with the spring framework (spring, spring mvc, spring boot, spring security, etc), designing and implementing restful web services, building web applications from the ground up, and converting business requirements into technical design documents.
in addition, the candidate should be able to write well-designed, testable, efficient code, have knowledge of or working experience with ci/cd pipelines, including technologies such as docker, jenkins/concourse, and experience with cloud technologies, such as gcp. They should also be proficient in using git for version control and mastering the gitflow workflow. The ability to speak spanish natively is required, and excellent command of spoken and written english is also essential.