The point where experts and best companies meet
Share
Principal Software Engineer
Assists in decomposing the product architecture into multiple components and modules and defines architectural specifications for each module utilizing knowledge of architectural principles; systems and environment behavior; architectural styles, patterns, and plans; architectural standards; non-functional system performance parameters; technology strategy. Creates/applies the right architectural pattern across the module as indicated in the architectural plan to obtain the right result. Defines the architecture blueprint for the various components within a product/solution. Analyzes system performance impacting the complete product for non-functional requirements like reliability, operability, performance efficiency and security. Conducts requirement and scoping analysis including traceability matrix; risk analysis methodologies; cost analysis; business objectives; classification of requirements; user stories to explore relevant products/solutions from an existing repertoire, that can address business/technical needs. Assesses gaps/updates/modifications between the customer/business expectations and the existing product/solutions. Classifies requirements into applicable types (functional/non-functional, derived/imposed/emergent). Anticipates the solution risks/issues during requirements gathering phase, informs relevant stakeholders and recommend corrective steps. Contributes to the creation of user stories for component/application/complex for agile methodology. Conducts solution design by utilizing software architecture; distributed systems; scalability; design patterns; disaster recovery; tech stacks; minimum viable product- MVP; non-functional requirements; and telemetry. Assists in the creation of simple, modular, extensible, and functional design for the product/solution in adherence to the requirements. Evaluates trade-offs while designing across multiple components in a product based on the business requirements. Converts HLD to create detailed design using mock screens, pseudo codes and detailed functional logic of the modules for specific modules / components of a product. Understands nuances of designing for disaster recovery. Designs and creates MVP to clarify requirements and design and uncover risks. Independently refines the MVP design for early defects and revised customer requirements. Performs coding by utilizing coding standards and guidelines; coding languages (JavaScript, Python, C#), frameworks (ActiveX, .Net, Cocoa, Android application framework etc.), tools (E.g., Monday.com, Linx, Embold etc.) and platforms (Microsoft Azure, AWS, Apple IOSetc.); quality, safety and security (PCI) standards; Emerging tools and technologies and Telemetry to select appropriate frameworks (ActiveX, .Net, Cocoa, Android application framework etc.), platforms (Microsoft Azure, AWS, Apple IOS), and environments for software coding/configuration and scripting. Guides the team on coding patterns, languages, and frameworks in line with evolving trends in the industry (Ex: reactive vs. imperative etc.) and drives scalability and security. Drives implementation of telemetry features by determining data/metrics requirement within the domain. Supports ad-hoc reviews of software code to ensure baseline mitigations for known risks. Creates/configures minimalistic code for entire product/system and ensure the product is meeting business requirements, non-functional requirements, low-maintainability, high-availability, and high-scalability needs. Oversees codes executed by team in line with specified technical/business requirements. Arranges project requirements in programming sequence by analyzing requirements.
Bachelor’s degree or the equivalent in Computer Science or a related field plus 5 years of experience in software engineering or a related field.
Must have experience with: JAVA; Spring IOC; Spring Boot; Spring ORM; Spring Batch; Spring Web Flux; Spring Web Services; Maven; Rest API; SQL; Solutions Design. Employer will accept any amount of experience with the required skills.
These jobs might be a good fit