A Software Developer is required within a leading Telecommunications and Satellite and Space Systems Technology Company. The Software Developer will be involved in Production and maintenance of software components, developing software used by engineers to analyse and plan satellite radio communications.
The Software Developer will be involved with development tasks that are similarly varied, ranging from algorithmic development in back-end components to user interface development using web technologies.
The Software Developer will be involved with projects and working with cutting-edge satellite communications technologies and perform research and development into how software can best support management and operation of them.
Responsibilities for the Software Developer
- Perform architectural and detailed design, coding and test of software components in Java.
- As part of a small team, to undertake development of different types of software components.
- Radio frequency propagation analysis, satellite payload visualisations, and application code.
- Develop Service Oriented Architecture and is deployed on Java Enterprise Edition platforms.
- Implementation of databases and database interfaces
- To contribute more widely within the system/ product development life-cycle.
- Supporting requirements engineering, prototyping, integration and test.
- To produce work efficiently and of high-quality according to development and programme plans.
- To provide task estimates and progress information to team leaders and the project manager.
Requirements for the Software Developer
- A good Honours degree (2:1) in a relevant subject (Maths, Computer Science or Engineering).
- A strong interest within Software Development.
- Ability to perform design and development of software.
- Ability to demonstrate software which has been written for private interest/industry is an advantage.
- An understanding of the software development life-cycle is an advantage.
- Knowledge of requirements engineering through to test is an advantage.
- Interest in adapting to different software types is an advantage.
- Knowledge of Graphical User Interface (GUI) and Application level Java.
- An understanding of programming and configuring systems for Java EE.
- Knowledge of System code interfacing with the operating system and middleware.
- Understanding of object-oriented principles and communicate them through documentation.
- Ability to program in Java, or in another OO language with desire to convert to Java.
- Understanding of software engineering principles and software engineering methods.
- An understanding of configuration control and the difference between good and bad software.
- Understanding of satellite communications systems and radio frequency management.
- Understanding of computer architectures and operating systems with ability to program in C++ or C#.
- Programming in C and Experience of Linux is desirable.
- Understanding of networking and network protocols and experience of database design.
Security Clearance will be required for this role due to the nature of the products involved.