Software Engineer II - Java
Opportunity Summary
We are looking for an enthusiastic engineer with experience building enterprise distributed Java applications. You will be working both across and within our agile development teams and be involved throughout the full development lifecycle with particular responsibility to ensure the development & maintenance of our software platforms. You'll be involved in all aspects of the team including the creation and elaboration of business requirements, functional/design specifications, development and maintenance of our software and driving innovation into our product suite.
What would you do?
- Solve unusually complex technical problems and provide solutions that are highly innovative and ingenious.
- Plan, design, develop, test, and deploy software that solves these problems.
- Develop and maintain scalable and robust enterprise (J2EE) applications.
- Maintain exceptionally high standards of design and code quality at all times, including but not limited to adherence to architectural, security and scalability standards and principles.
- Share responsibility for determining feasibility of project plans.
- Work as part of cross functional, passionate agile project team, ensuring high quality delivery is at the heart of the development process from requirements definition through to delivery.
- Regularly communicate with other developers and product managers to enhance software design.
- Disseminate technical information in a manner that is understood by a wide variety of audiences, including non-technical ones
- Work with other team members in accomplishing group objectives and participating in code reviews.
- Ensure that all relevant parties are kept up to date on progress of projects and give feedback on an ongoing basis.
- Contributing to coding standards and ensuring the team’s adherence to the standards
- Mentoring lower-level team members
Technical Skills
The following skills are needed for this role.
Experience:
- 3-5 years of experience in full stack Java enterprise application design and development
- Bachelor’s Degree in relevant discipline or equivalent experience
Primary Skills: The candidate must possess the following primary skills:
- Strong background in Java development
- Test driven / Behaviour driven (TDD/BDD) Java software development with Maven & Junit
- Experience with the Spring Framework
- Highly competent with HTML SPA, knowledge of React
- Working within Linux based environments
- Enterprise SQL databases (preferably PostgreSQL)
Secondary Skills: It would be advantageous if the candidate also has the following secondary skills:
- Experience with AWS services such as Lambda, SQS, and API Gateway
- Experience with Jenkins build pipelines
- Experience or understanding of enterprise systems deployed as micro-services through code pipelines utilizing containerization (Docker)
Soft Skills:
- Thrives collaborating in a team environment with a diverse range of people.
- Able to have a change of mind, and able to change the minds of others.
- Writes clearly and concisely.
- Capable of working without a company office, with a fully remote team.
Growth Skills:
- Possesses a good work ethic; a self-starter with a desire to grow.
- Always looking for better ways to get the job done.
Qualification
A Bachelor’s degree in Computer Science or equivalent
This role requires overlap with multiple time zones for planning meetings, status updates etc. on a regular basis. The duration of these overlaps can change depending on the type of meeting. Upland India has the flexibility to manage your working hours accordingly to help in your work-life balance. You can find out more about this during your interview conversation.
Upland Software is an Equal Employment Opportunity Employer. All qualified applicants will receive consideration for employment without regard to race, color, religion, sex, sexual orientation, gender identity, national origin, disability, veteran status, or other legally protected status.
About Rant and Rave
Rant and Rave customer engagement software manages millions of customer interactions for leading brands across several industries. We transform customer engagement, capture feedback with ease, and deliver outstanding experiences. Including Feedback collection, sentiment analysis, data visualization, customer recovery, and front line engagement.
About Upland
Upland Software (Nasdaq: UPLD) helps global businesses accelerate digital transformation with a powerful cloud software library that provides choice, flexibility, and value. Upland India is a fully owned subsidiary of Upland Software and headquartered in Bangalore. We are a remote-first company. Interviews and on-boarding are conducted virtually.