Job details
Principal Software Developer
- Java
- Node.js
- GraphQL
- TypeScript
- MongoDB
- SQL
- React.js
- C++
This job might be expired
Reasons could include: the employer is not accepting applications, is not actively hiring, or is reviewing applications.
Posted: 1 year ago
Our development organization has transformed into a Scaled Agile environment and is seeking a Software Developer professional. In this role, you will be working in conjunction with a team of Software Developers within a Scaled Agile Framework (SAFe)-based organization aimed at delivering best-in-class process automation products built across web, cloud, PC, and embedded platforms integrated with internally developed devices. The ideal candidate has multiple years of experience with IT/engineering and/or operating complex software systems supporting the maintenance and lifecycle of products and understands a range of customer use cases across industries. The successful candidate should be able to work in a dynamic and fast-paced environment and communicate effectively with a wide range of people, experience levels, and technical backgrounds.
Essential Job Functions
Essential Job Functions
- You will need to deliver high quality potentially releasable incremental value of the product regularly by being a member of a self-organizing and self-managing cross-functional team producing complete working features in short increments.
- You will be leading the requirements analysis, architecture and design, implementation, testing, deployment, debugging and/or maintaining existing code as well as new features accepted by the team during a sprint, including determining the right level of documentation and processes required for the project.
- You will be creating and executing manual and automated unit, integration, and other functional & non-functional testing (e.g. security, performance, robustness, etc.) in alignment with customer requirements.
- You will need to refine the requirements of features with product owners and other stakeholders to reduce or eliminate technical ambiguities
- You will be promoting and driving application of software development best practices
- You will work with the stakeholders to determine the level of definition needed for each feature and to ensure clear, achievable acceptance criteria
- You will need to be able to present to stakeholders and clearly articulate technical details, progress and work status
- You will need to continuously learn appropriate domain knowledge, technologies, skills, and tools needed for process improvements spanning multiple product domains.
Required Skills
- Bachelor's degree in Computer Science, Engineering, or related discipline
- At least 8 years of experience in software product development or technology division
- In-depth knowledge of at least one object-oriented programming language like C#, C++, or Java
- Expert in one or more technologies like ASP.NET, .NET Core, Angular, REST, TypeScript, Containerization, GraphQL, NodeJS, ReactJS, MongoDB, Neo4j, SQL databases and modeling
- Strong SDLC experience in delivering projects on time with high quality, covering requirements analysis, design, implementation, and testing
- Strong in OOP and OOA/D including experience in using UML and software design patterns
- Experience in Cybersecurity, Cloud-based development/deployment, DevOps
- Experience working with version control, build, deployment, test management tools, and CI/CD tools (like GIT, Azure DevOps, Visual Studio, etc.)
- Experience in developing automated test-cases, Test-driven-development or utilizing any kind of test automation framework
- Experienced in leading technical direction of large projects on time, with quality, and within requirements .
- Experienced in driving and developing software and/or quality measures with expertise to conceptualize strategies, patterns, and architecture
Desired Skills (Nice To Have)
- Experience in Agile software development methodologies and framework like Scrum and SAFe
- Knowledge in any Mobile, AI, Analytics, or Data Science application development
- Knowledge of Process Control Systems