US Engineering Job Openings
Below are current software engineering job opportunities in our Silicon Valley and North America offices. Please include your cover letter and CSV with employment status. If you are a viable candidate and meet the listed job requirements, one of our recruiters will be in touch.
Entry-level technical member of team, contributing to low level design, coding, testing, test procedures, integration, bug fix and test, test reports, user documentation and review of similar work done by peers. Completely accountable for quality and timely delivery of own work (which includes properly reviewing similar work done by peers as assigned)
Participate in design, development and implementation of software applications
Participating in proof of concepts and interface detailing as per ecosystem requirements.
To work closely with developers and testers to ensure requirements and functional designs are translated accurately into working technical designs and that test plans and scripts serve customer needs.
Should be able to estimate the assigned tasks and highlight risks to the management.
Understands requirements and closely working with engineers and other stakeholders for feasibility and design.
Requirement: Bachelor's degree in computer science, software engineering or other related IT field.
Senior Software Engineer
Technical team member, contributing primarily to medium level design, coding, testing, test procedures, integration, problem fixes, review of work done by peers and by SE's, test reports, and documentation.
Software development of devices drivers for embedded devices.
Firmware development of Embedded products.
Interfacing various peripherals using protocols
Implementation of communication protocols on hand held devices.
Accountable for own work and work that is reviewed
Estimate, plan and organize own work
Requirement: Bachelor's degree in computer science, software engineering or other related IT field.
A technical leader for a software module / subsystem is responsible for the technical output for assigned modules - this output may be work done by TL or work assigned by manager, to software engineers under his/her technical supervision. Also Interacts with customers to develop functional specifications for assigned portions, resolve software design issues, for problem solving of difficult S/W Problems etc.
- Technical leaders oversee a team of personnel focused on technical issues, including software development, software product releases, and software engineering tasks.
- Delegate software development work assignments to the team
- Collaborate with colleagues to identify and repair technical software issues.
- They often evaluate their team's work processes and best practices and implement changes to streamline operations.
- Create service goals for their team;
- Ensure current software applications are updated and aligned with the implementation of new applications;
- Evaluate end users' needs; and selecting applications to meet those needs. Other tasks may include developing troubleshooting programs and supervising system modifications.
- Technical leaders will also create and implement risk mitigation processes and conduct security audits to determine weaknesses in software applications.
Requirement: Bachelor's degree in computer science, software engineering or other related IT field plus 1-2 years of experience
Senior Technical Leader
Senior Technical Leader is technically responsible for a complete software sub-system or a part of a complex sub-system for its specifications, software design , code, test and integration.
The STL may be a team-member for system design responsible assigned sub-systems – and is able to raise end-to-end issues that affect the subsystem(s) he/she is responsible for.
- To conceptualize| design and deliver software product / sustenance delivery through the team as per defined scope and standards in a particular technology
- To review on the architecture and design of software deliverables.
- To architect| design and develop (through Team) software solution for product/project & sustenance delivery
- To ensure knowledge up-gradation and work with new technologies so that the solution is current and meets quality standards and the client requirements
- To gather specifications and deliver solutions to the client organization based on understanding of a domain or technology
- To recommend client value creation initiatives and implement industry best practices (on specific technology/product)
- To support as an Subject Matter Expert
- To train and develop team so as to ensure that there is an adequate supply of trained manpower in the said technology and deliver risks are mitigated working with system design team to resolve system level issues faced during implementation
Requirement: Bachelor's degree in computer science, software engineering or other related IT field and 1-3 years of experience.
Engineering Project Manager
An Engineering Project Manager project manages software development and implementation done by a team of software engineers. The EPM is responsible for project management, process implementation and team management for a medium sized team. The EPM also interacts with customers to develop functional Specifications. for assigned portions, report project status and conduct project status reviews. The EPM resolves scope and implementation level issues and where changes to scope / schedule / resources affect the monthly project budget - escalates to next level management for resolution with customer. He/ She provides technical oversight by stating project design and test goals and non-goals explicitly - ensuring that derived requirements (including error handling) if any have been developed and that design alternatives have been considered. Acts as key reviewer for HLD, and during LLD for module organization, data structures, and choice of low-level SW algorithms.
- Developing/managing the software specification to which the team is delivering
- Quality of technical output of implementation team (all artifacts, design & test documents, code, config. Management, proper defect management, test-reports) and that the requirements / design specifications are met
- Ensuring that gaps between system design and the implementation are closed with system design team
- Developing estimates (size, effort, budgets) and plans (schedule, dependencies, deliverables, equipment planning, staffing plans)
- Adherence to software development and management processes by team
- Highlighting problem areas (with enough time to act) and taking action to mitigate at own level or to effectively escalate to higher level(s) of engineering. Management
- Training / Mentoring / Coaching for team members to create a solid implementation team well versed in technical and development methodology aspects
- Lead the development of integrated business plans, manage and track project budgets, product cost, and capital, and establish return on investment.
Requirement: Bachelor's degree in computer science, software engineering or other related IT field and 3-4 years of experience
Senior Engineering Project Manager
The Sr. EPM project manages a large software application / project (with multiple sub-projects) or multiple projects with a team. The Sr. EPM has complete project planning and management responsibility for a large project –includes driving project planning and management of sub-projects led by software engineers under him/her – and integrating these into master project planning and management. The Sr. EPM is responsible for ensuring all sub projects align to ensure that overall delivery and cost goals are met. The Sr. EPM is also responsible for customer interaction for project issues, and manages/meets customer "needs" and "expectations" for project(s)
- Should be expert in two or more domains and be able to independently able work, design and implement new software features. Should have capability to analyze, propose software development solutions and engage in technical discussion with the customers/stake holders.
- Responsible for a large software application / project (with multiple sub-projects) or multiple projects under his/her supervision
- Responsible for proposals of 300-400 person-months - driving implementation scope that will meet customer requirements and delivery goals in a cost competitive manner.
- Proper assessment of execution and technology related risks for all projects under his/her supervision
- Ensuring those customer’s needs are understood and the requirements address customer needs in a cost-effective manner.
- Effective planning, management and delivery of a large project (and it’s sub projects) with multiple parallel developments within cost/ timelines.
- Ensure high Quality of technical output of all his/her implementation teams (all artifacts – customer specifications, system specifications and derived requirements, design & test documents, code, config. management, proper defect management, test-reports….)
- Ensuring projects are executed within time and budget
Requirement: Bachelor's degree in computer science, software engineering or other related IT field and 3-5 years of experience
Principal Systems Engineer
A PSE technically responsible for multiple software application - for its spec, system design and design analysis , test and integration strategy, solving interface issues and application wide issues during integration - ensuring that critical areas are properly designed (high/ low-level)
Is sensitive to budget impact of software design choices, and the implementation cycle stage- and works with software engineering management to come up with the most appropriate choices.
- Technical responsibility for multiple software applications that are part of a large/complex system or single complete system
- Success and satisfactory closure of customer software design reviews
- Organizing/Chairing technical reviews with software development teams
- For proper software design / data-structures / algorithms etc
- Speedy resolution of software design / ICD issues that surface during implementation
- For proper development Test Plan Scope / and resolution of difficult SI / Acceptance problems ensuring these are closed effectively
- Key technical choices for one or two complex software applications ensuring high level of technical acceptability of the products
- Training / Mentoring / Coaching for spreading technical expertise and ability to analyze system level choices
- Contributing to organizational initiatives (e.g. improving technology / methodology, building new technology skills.)
- Firm grasp of least one software technology domain area across multiple sub-systems - and deep knowledge of full systems in that domain - and how customers/end-users use these systems
- Ability to work with customers and lead technical team to develop architectural software specifications
Requirement: Bachelor's degree in computer science, software engineering or other related IT field and several years of experience.