We are seeking a highly skilled Software Developer to join our team. The successful candidate will be responsible for designing, building, delivering, and maintaining software applications and services. You will work across various areas, including machine, cloud, platform, and application development. This role encompasses the full software lifecycle, including requirement analysis, documentation, and implementation.
Roles and Responsibilities
- Collaboration. Work closely with system engineers, frontend developers, and software developers to create and implement solutions that enhance and extend shared platforms and systems.
- Software Development Lifecycle (SDLC). Apply SDLC principles and methodologies such as Lean, Agile, and Extreme Programming (XP). Ensure adherence to CI (Continuous Integration), software and product security, scalability, and best practices in documentation, refactoring, and testing.
- Coding. Write high-quality code that adheres to standards and delivers desired functionality using the technology stack selected for the project.
- Feature Development. Build and integrate features, including web services and queries on existing tables.
- Performance Assessment. Understand and evaluate performance parameters to assess and optimize application performance.
- Algorithm Implementation. Work on core data structures and algorithms, implementing them using the language of choice.
Education Qualification
- For Roles Outside the USA. Bachelor’s Degree in Computer Science or a related STEM (Science, Technology, Engineering, and Math) field with relevant experience.
- For Roles in the USA. Bachelor’s Degree in Computer Science or a related STEM field with a minimum of 2 years of professional experience.
Desired Characteristics
Technical Expertise
- Experience with front-end technologies such as JavaScript, HTML5, CSS, and frameworks like AngularJS, BackboneJS, EmberJS, and KnockoutJS.
- Proficiency in database tools (e.g., JPA, Hibernate, JDBC, Spring Data).
- Familiarity with rules engines (e.g., Camel, Drools, JRules) and modern tooling (e.g., Gradle, Maven, Git, SVN).
- Experience in building features such as web services and executing queries on existing tables.
- Knowledge of Lean, Agile, and XP methodologies, and familiarity with continuous integration (CI) practices.
- General understanding of the impact of technology choices on the software development lifecycle.
Business Acumen
- Ability to decompose problems and estimate development task timelines.
- Awareness of current technology trends and new technologies; ability to bring innovative ideas to the team.
- Understanding of the project's value proposition for customers and commitment to delivering optimal solutions.
- Familiarity with the organization's vision and decision-making framework; ability to align personal and team goals with the organization’s objectives.
Personal/Leadership Attributes
- Capable of articulating opinions and providing clear, data-driven rationale.
- Demonstrates a proactive approach to problem-solving and solution implementation.
- Manages assigned tasks with a focus on quality and timely delivery.
- Takes initiative in identifying opportunities for innovation and experimenting with new software frameworks.
- Adapts to new environments and changing requirements efficiently.
- Engages in continuous learning and seeks guidance as needed.
Note
To comply with U.S. immigration and legal requirements, roles within the USA require a minimum of 2 years of experience. For roles outside the USA, specific years of experience are not specified but should reflect substantive experience in the role.