Principal Software Engineer (Java)
San Diego, California - PEAK Technical Staffing USA
Works independently and provides technical guidance and leadership on complex software engineering assignments, including analysis, design and implementation. This position typically works under limited supervision and direction. Incumbents of this position will regularly exercise discretionary and substantial decision-making authority.
Essential Job Duties and Responsibilities:
- Participate in scrum team tasks including sprint planning, designing, implementing, unit testing, code reviews and sprint demo
- Contribute ideas for process improvement, including coding practices, standards, and tools
- Serves as team lead and assumes additional technical and leadership responsibilities as needed to solve engineering problems or develop improved engineering processes
- Independently implement, debug, and document advanced sections of code and systems, develop software requirements, related design for new technologies and systems
- Investigate and resolve lab and production issues
- Help manage backlogs and mentor junior engineers
- Show commitment to company values, ethics, safety, security, labor charging, and quality
- Adhere to software team's established processes and tools
- Engage in continuous self-improvement of technical skills and improvements in programming techniques and toolsets
- Assume additional technical responsibilities as needed
Minimum Job Requirements:
- Four-year college degree in computer science, computer engineering or other related technical discipline plus a minimum of eight years of related experience or a master’s degree with six years of related experience.
- Proven ability to perform technical writing in order to describe software requirements and design specifications
- Strong analytical and problem-solving skills
- Expert knowledge of software engineering processes
- Demonstrable ability to mentor engineers of all levels
- Flexibility to adapt to quickly changing circumstances and work priorities.
- Proficient with Unix (Linux, CentOS), Windows, Integrated Development Environments (IDEs), and virtual environments
- Ability to use PC software such as Microsoft Word/Project/Visio, database, spreadsheet and flowchart, and Computer Aided Software Engineering (CASE) tools.
- May be required to travel domestically and internationally to include working odd hours, in-line with customer requirements.
- Good interpersonal and team-oriented skills
- Good verbal and written communication skills