Finding the best job has never been easier
Share
Staff Software Engineer
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. Assess gaps/ updates/ modifications between the customer/business expectations and the existing product/solutions (in case of agile methodology, for the iteration). Classify the requirements into applicable types (For example - functional/non-functional, derived/imposed/emergent etc.). Anticipate the solution risks / issues during requirements gathering phase, inform relevant stakeholders and recommend corrective steps. Contribute to the creation of user stories for component/application/complex (For agile methodology). Defect management and troubleshooting including defect life-cycle process, defect tracking tools and methodologies; defect reporting; regression testing; root cause analysis; root cause corrective action. To track and analyze defects for the component/module and carryout regression testing to fix defects in all instances of code changes. Analyze defects from past projects/solutions to avoid recurrence of similar defects. Troubleshoot performance and availability bottlenecks for the application. DevOps orientation including different operating systems; software maintenance tools and techniques; application monitoring tools and techniques; debugging tools; mock screen; pseudocodes; reverse engineering; traceability matrix; system performance, security, integration; data migration and accessibility; design methodologies. To conduct complex maintenance procedures for applications independently. Monitor and evaluate the performance of the application by tracking and analyzing appropriate metrics; perform maintenance (corrective, adaptive, perfective) and re-engineering activities. Analyze application logs, maintenance activity data, performance data and provide analysis; evaluate change requests to identify those which are valid and feasible. Solution design including software architecture; distributed systems; scalability; design patterns; disaster recovery; tech stacks; minimum viable product-MVP; non-functional requirements; telemetry. To assist in design of solutions such that the processes / applications work in tandem for specific components/modules of a product. Evaluate trade-offs while designing a component based on the business requirements. Assist in conversion of HLD (High Level Design) to create detailed design using mock screens, pseudo codes and detailed functional logic of the modules for specific modules / components of a product. Coding including coding standards and guidelines; coding languages (E.g. JavaScript, Python, C# etc.), frameworks (E.g. ActiveX, .Net, Cocoa, Android application framework etc.), tools (E.g. Monday.com, Linx, Embold etc.) and platforms (E.g. Microsoft Azure, AWS, Apple IOS etc.); quality, safety and security (PCI etc.) standards; emerging tools and technologies; telemetry. To select appropriate frameworks (E.g. ActiveX, .Net, Cocoa, Android application framework etc.), platforms (Microsoft Azure, AWS, Apple IOS etc.), and environments for software coding/configuration and scripting (Applicable to IC & PL). Guide the team on coding patterns, languages and frameworks in line with evolving trends in the industry (Ex: reactive vs. imperative etc.) and drive scalability and security (Applicable to IC & PL). Drive Implementation of telemetry features by determining data/metrics requirement within the domain (Applicable to IC & PL). Support ad-hoc reviews of software code to ensure baseline mitigations for known risks. (Applicable only to IC). Create/configure 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 (Applicable only to IC).
Master’s degree or the equivalent in Computer Science, Computer Engineering, Computer Information Systems, Software Engineering, or related field plus 2 years of experience in software engineering or a related field; OR Bachelor’s degree or the equivalent in Computer Science, Computer Engineering, Computer Information Systems, Software Engineering, or related field plus 4 years of experience in software engineering or a related field.
Must have experience with: leading the discovery phase of medium to large projects to come up with high-level designs; partnering with stake holders and driving proof-ofconcepts using Java, Spring Boot and its related technologies; designing, implementing, and supporting RESTful Web Services using Java, Spring Boot, and JUnit; designing, implementing, and supporting highly distributed systems using NoSQL DB such as Redis and Cache; designing, implementing, and supporting even driven architecture using Kafka, SQL server, Cosmos, and Cache to provide scalability and resiliency; reviewing the code developed (in Java, Spring Boot, Kafka, Cache API, and DB queries) by other team members to ensure coding standards and quality; understanding object-oriented programming with Java; and mentoring junior and other senior developers on the team. Employer will accept any amount of experience with the required skills.
These jobs might be a good fit