Senior Software Developer/Engineer

3 - 9 years

12 - 14 Lacs

Posted:2 weeks ago| Platform: Naukri logo

Apply

Work Mode

Work from Office

Job Type

Full Time

Job Description

Job Requirements

  • Contribute to the elaboration of product/system specification & architecture, in collaboration with cross-functional teams
  • Define the software requirements specifications
    • Define the functional requirements, operational requirements, interfaces requirements and the requirements linked to performance, safety, cybersecurity, Reliability Availability and Maintainability (RAM)constraints
    • Ensure that all the requirements can be verified (testability, )
    • Ensure the traceability of the software requirements through the development cycle
  • Define the software architecture
    • Elaborate the functional and structural breakdown into software components
    • Allocate the requirements to the software components
    • Define the interfaces between the software components
    • Define the dynamical behavior of the software
    • Validate the feasibility of the solution: model simulation, mock-up
  • Take main technical choices for software development
    • Select development tools, methodology (ex: UML, ), programming languages, coding strategy and coding rules, strictly following internal process/methods & tools recommendations
    • Contribute to the selection of the execution environment (processor, operating system, middleware, basic software), together with the product architect, system engineering manager and hardware architect
  • Designing and implementing DevOps strategies:
    This includes creating scalable frameworks (GitLab CI/CD components), integrating tools (compilation, SCA, SATS, etc) and processes, and aligning DevOps practices with business objectives.
  • Building and maintaining CI/CD pipelines:
    Automating the build with powershell, python; automatic deployment processes to enable rapid and reliable software releases.
    Managing cloud-based infrastructure: Overseeing the deployment and management of cloud infrastructure using tools like Terraform and Kubernetes.
  • Collaborating with other teams: Working with development, operations, and security teams to ensure smooth and secure software delivery.
  • Monitoring and optimizing system performance: Ensuring the system is running efficiently, is scalable, and is secure.
  • Guiding and mentoring junior engineers: Helping to foster a culture of continuous improvement.
    Implementing Infrastructure as Code (IaC): Defining and managing infrastructure using code to bring agility and consistency.
  • Ensuring security: Implementing security measures, identity management, and compliance controls.
  • Arbitrate and validate major software design choices
  • Mentor developers and provide technical leadership within the team
  • Perform software/software integration, together with the software designers
  • Perform hardware/software integration, together with the hardware architect
  • Specify, design, prepare and perform tests and verifications of his/her deliverables
  • Sustain the software
  • Organize the software Design Reviews
  • Keep informed of the evolution of technologies through techno watch
  • Contribute to standardization by reusing existing solutions or by defining reusable solutions, including COTS
  • Apply and ensure application of processes and standards
  • Contribute to continuous improvement (RoE: Return of Experience, process)
  • Organize and lead software development activities so that to ensure QCD commitment, till the end of software development:
    • Coordinate software development activities (software design - including activities performed by subcontractors)
    • Participate to the product CCB (Change Control Board) for software part (i. e. manage commitment and change to software requirements)
    • Alert the reporting structure for any event that could impact software development QCD commitments

Work Experience

Mandatory:

  • Proven experience as a Software Architect with a strong portfolio of successful projects.
  • Proficiency in Python and C programming languages.
  • Knowledge on communication protocols [Ethernet, TCP/IP, UDP, NTP, etc. ]
  • Knowledge of software development methodologies and lifecycle.
  • Understanding of agile development practices.
  • Familiarity with version control systems, such as Git.
  • Knowledge of user interface design principles for desktop applications.
Experience in performance optimization and code refactoring

Desirable:

  • Knowledge of software development methodologies and lifecycle.
  • Experience with railway signaling software or other transportation-related systems.
  • Vital or secure software development
Knowledge of databases [MySQL, InfluxDB, MongoDB, NoSQL, Prometheus, RethinkDB or Redis], and communication protocols [Profibus or Modbus] would be a plus.

Competencies & Skills

  • Strong understanding of CI/CD: Proficiency in setting up and managing continuous integration and continuous deployment pipelines using Gitlab; should be knowing configuration of CI/CD components for various activities like code compilation, SCA, unit test, antifactory management, component test, integration test, performance tests.
  • Cloud computing expertise: Knowledge of different cloud services and platforms (e. g. , AWS, Azure, Google Cloud).
  • Containerization and orchestration: Experience with containerization technologies (e. g. , Docker) and orchestration platforms (e. g. , Kubernetes).
  • Automation and orchestration tools: Familiarity with tools like Terraform, Ansible, Puppet, and Chef.
  • Monitoring and logging: Experience with tools for monitoring and logging system performance and activity.
    Security knowledge: Understanding of security best practices and vulnerabilities.
Problem-solving and communication skills: Ability to identify and resolve technical issues and effectively communicate with different teams
  • Agile, Inclusive, Responsible
  • International mindset
  • Strong problem-solving skills and ability to think critically and independently.
  • Excellent English communication skills, both written and verbal.
  • Ability to work effectively in a collaborative team environment and lead projects autonomously.
  • Detail-oriented with a commitment to delivering high-quality software solutions.
  • Ability to work with remote collaborators

Mock Interview

Practice Video Interview with JobPe AI

Start Python Interview
cta

Start Your Job Search Today

Browse through a variety of job opportunities tailored to your skills and preferences. Filter by location, experience, salary, and more to find your perfect fit.

Job Application AI Bot

Job Application AI Bot

Apply to 20+ Portals in one click

Download Now

Download the Mobile App

Instantly access job listings, apply easily, and track applications.

coding practice

Enhance Your Python Skills

Practice Python coding challenges to boost your skills

Start Practicing Python Now
Quest Global Technologies logo
Quest Global Technologies

Engineering Services

San Jose

RecommendedJobs for You

Pune, Maharashtra, India

Pune, Maharashtra, India