You will be responsible for\:
Leading the development on the software –
o Taking ownership of the delivery, quality and security of the software
o Leading prioritization discussions and formulating customer requirements
o Identifying development and refactoring areas of work
o Guiding the work and development of junior and intermediate engineers
o Coordinating the testing with the Quality Assurance team
o Structuring team processes on a small development team
o Leading retrospective discussions and continuous improvements of product and processes
· Java coding –
o Understanding complex pre-existing codebase, adding new code, refactoring existing code, removing dead code, and fixing issues.
o Creating/updating Junit tests.
o Front-end enhancements
o Marshalling data between different protocols, querying USB usages and XML data structures, and possibly interacting with native C code through JNI.
· Troubleshooting –
o Investigating security issues to see if they are applicable to the product
o Capturing and analysing USB, Serial or Network (https/http) traffic to detect and fix communications issues.
o Diagnosing memory leak and windows service issues.
· Scripting
o Updating Linux rpm scripts (spec files)
o Writing/updating batch files on windows, shell scripts on Linux
· CI/CD
o Working with GitHub Actions based build system
o Working with Ant build scripts.
o Building DLLs
· Supporting the design and architecture of product solutions as well as engineering documents
· Working with Technical Support on customer issues
We would like to see experience of some of\:· Linux and Windows scripting
· Experience with TCP/IP networks and application-level networking protocols
· Network, Serial or USB protocol analysis experience
· Knowledge of Security (Java keystore, SSL)
· JavaScript (jQuery helpful)
· Ant
· HTML
· CSS
· NullSoft installer technology.
· C
· GitHub Actions