Summary of Role :
The Principal Software Development Engineer (PSDE) will be responsible for developing and maintaining Software applications.
As a member of the Development team, reporting to the Software Development manager, the candidate will participate in every phase of the software development lifecycle, from design stages up to the final product release.
The candidate will play a critical role in driving the development phase of the software development life cycle and supporting the application.
The candidate will work closely with developers, project managers, testers and end users. Responsibilities include design and development of software, creating unit tests, performance testing, and code reviews.
The main tasks will focus on design, writing and debugging code, reporting bugs, testing and participating in component design reviews and usability testing.
Candidate should be able to drive and execute development with effectiveness and thereby reduce maintenance costs.
Essential Responsibilities :
Understanding specifications and come up with a design document
Estimate development efforts for the software release
Developing and maintaining build scripts(Maven / ANT)
Should handle projects independently and mentor junior team members
Help write and optimize SQL statements(Oracle / SQL Server)
Writing shell scripts in Linux / Unix environments
Prepare application deployment documents and assist Release Management team with deployment
Develop and maintain unit tests / integration tests
Work with testing team to help developing testing scenarios, test plan
Collaborate with quality assurance team and end users to resolve software defects
Work with teams across multiple geographic locations around the globe
Support Factory Systems applications in production environment (Level 3 support)
Required Qualifications :
A bachelor's degree in computer science, software engineering or relevant field
At least 7 years of software development experience
Preferred Qualifications :
Advanced degree in computer science, software engineering or relevant field with at least 5 years of experience
Understanding of software development life cycle (SDLC)
Broad knowledge of software development methodologies, project management using waterfall, Agile, lean development methodologies
Experience using defect tracking tools(Atlassian JIRA) and reporting functionalities
Experience using test cases for unit testing and requirements verification
Experience in application servers JBOSS, Weblogic
Experience build automation like Apache Maven and Ant
Experience in using software development tools such as Eclipse, IntelliJ IDEA and profiling tools(XRebel,FindBugs).
Experience in producing detailed software design specifications
Experience in writing SQL scripts with Oracle / SQL server
Experience with monitoring and analytic tools Elastic / Kibana
Experience with AWS cloud technologies
Excellent written and verbal communication skills
Experience in semiconductor industry