
Desktop Software Engineer - Delivery
SLB · Pune Division, Maharashtra, India
This listing has closed — view similar roles below.
- On site
- Full-time
- $120,000 / year
- Pune Division, Maharashtra, India
Job highlights
- Develop desktop applications for Windows.
- Design, develop, and maintain software products.
- Collaborate on requirements and user stories.
- Ensure code quality through testing and reviews.
- Analyze and resolve software defects.
About the role
Desktop Software Engineer
The Desktop Software Engineer is responsible for developing desktop applications, leveraging frameworks and utilizing shared components to enable end user workflows in a thick (Windows) application.
Essential Responsibilities And Duties
- Analyze, design, develop, document, and maintain products and assist in their commercialization in agreement with project technical and timing objectives.
- Ensure that product code and artifacts are managed and safeguarded in a configuration management system in accordance with procedures and guidelines.
- Help identify and organize requirements and produce user stories.
- Apply usability procedures and principles as defined at the project or product-line level or through customer input.
- Evaluate alternative implementations and select the one that maximizes the value of the product and minimizes the risk and technical debt.
- Build prototypes, products, and systems suitable for testing; set up and run lab simulations.
- Design testing procedures and coordinate with others to implement and automate tests.
- Develop and execute unit tests.
- Ensure and monitor source code quality by using appropriate tools and participation in peer code reviews.
- Provide timely corrective actions on assigned defects and issues.
Key skills/competency
- C#
- C++
- Software Engineering Principles
- Object-Oriented Programming (OOP)
- Design Patterns
- Multithreading
- Test-Driven Development (TDD)
- Real-Time Systems
- Configuration Management
- Root Cause Analysis
Skills & topics
- Desktop Software Engineer
- C#
- C++
- Software Development
- Windows Applications
- Object-Oriented Programming
- Design Patterns
- Test-Driven Development
- Software Engineering
- Troubleshooting
How to get hired
- Tailor your resume: Highlight C#, C++, OOP, and test-driven development experience.
- Showcase engineering principles: Emphasize your understanding of data structures, design patterns, and multithreading.
- Demonstrate problem-solving: Provide examples of your troubleshooting and root cause analysis skills.
- Address qualifications: Clearly list your degree and years of relevant industry experience.
- Prepare for technical interviews: Be ready to discuss software design and coding challenges.
Technical preparation
Master C# and C++ for Windows development.,Practice object-oriented design and patterns.,Implement unit tests and TDD principles.,Study multithreading and real-time systems.
Behavioral questions
Describe a complex technical problem you solved.,How do you ensure code quality and minimize debt?,Explain your process for analyzing and fixing bugs.,How would you mentor a junior engineer?
Frequently asked questions
- What are the core programming languages for the Desktop Software Engineer role at SLB?
- The core programming languages for this Desktop Software Engineer position at SLB are C# and C++. Proficiency in these languages is essential for developing desktop applications.
- What level of experience is required for the Desktop Software Engineer at SLB?
- For the Desktop Software Engineer role at SLB, a Bachelor's degree with a minimum of 5 years of industry experience is required. A Master's or PhD degree with at least 3 years of experience is also acceptable. Senior-level candidates require a minimum of 7 years (BS) or 5 years (MS/PhD).
- Does SLB emphasize specific software development methodologies for this role?
- Yes, SLB emphasizes test-driven development (TDD) and solid knowledge of software engineering principles, including data structures, OOP, design patterns, and multithreading for this Desktop Software Engineer position.
- What additional skills are desired for senior Desktop Software Engineers at SLB?
- For senior Desktop Software Engineers at SLB, additional desired skills include effective communication with multi-disciplinary teams, the ability to mentor junior engineers, and knowledge of acquisition, control, and automation systems.
- Is knowledge of the oilfield service domain important for the Desktop Software Engineer at SLB?
- While not strictly required as a basic qualification, knowledge of the oilfield service domain is desired for the Desktop Software Engineer role at SLB, suggesting it can be a valuable asset.
- What type of applications will a Desktop Software Engineer at SLB be developing?
- A Desktop Software Engineer at SLB will be developing desktop applications, specifically thick Windows applications, leveraging frameworks and shared components to enable end-user workflows.