Software Engineer (PM experience)
You have significant experience in both project management and people management and are a natural born leader. You can easily switch between proactive and reactive and can work in an environment with various dynamics that often lead to the change in direction. You’re comfortable taking on the responsibility of managing a team of engineers, with a history of mentoring / coaching and team leadership.
You’re results driven and can focus your time and efforts on your own work load, but can also provide guidance and support to the rest of the team when required.
For the best possible fit, we are looking for someone who communicates well and who can set the path for software development.
Our must haves are someone who has:
- 5+ years’ experience in software engineering
- BS degree in Computer Science or Engineering
- A minimum of 2 years’ experience in project management in an engineering environment and experience with project management tools
- Experience in hands-on development and troubleshooting on embedded targets.
- Solid programming experience in C and C++
- Proven experience in embedded systems design with pre-emptive, multitasking real-time operating systems
- Familiarity with software configuration management tools, defect tracking tools, and peer review
- Excellent knowledge of OS coding techniques, IP protocols, interfaces and hardware subsystems
- Adequate knowledge of reading schematics and data sheets for components
- Strong documentation and writing skills
- Live within a reasonable commute of our Croydon based office (45 minutes max)
You will also be able to get going on your own accord - will be a leader and someone who can be relied heavily upon for ensuring the team reaches targets and deadlines. You can focus on your work without losing sight of what’s going on around you and the wider company objectives.
You will need to wear two hats - Embedded Software Engineer & Project Manager
On the software side, you will be responsible for:
- Designing, developing, coding, testing and debugging system software
- Reviewing code & design
- Designing & implementing software of embedded devices and systems from requirements to production and commercial deployment
- Analysing and enhancing efficiency, stability and scalability of system resources
- Integrating and validating new product designs
- Support software QA and optimize performance
- Provide post-production support
- Interface with hardware design & development
- Assess third party and open source software
- Software repository management
- Embedded software development
On the project management side, you will be responsible for:
- Establishing project schedules and technical requirements, managing project from initiation to transfer
- Review daily project schedule and identify problem areas
- Assess causes of problems and provide technical support and direction to project team/product manager to resolve issues
- Communicate requirements, specifications and project schedule and budget constraints to cross-functional teams, including engineers, senior management, production team, and consultants
- Maintain plan documents, procedures and project deliverables
- Assist in the management of larger projects / programmes
- Recommend policy/procedure changes that may prevent or rectify ongoing problems or issues
- Interact frequently with the management team and individual product managers
- Leading a team, providing guidance, structure and mentorship along the way