Senior Software Engineer
Applicants selected will be subject to a security investigation and may need to meet eligibility requirements for access to classified information.
Our client is looking for Senior Software Engineer
candidates for a position located in Rome, NY
Responsibilities and Duties:
- Design, development and delivery of software applications in research environments and product development.
- Designing software architectures, as well as the integration of machine learning technology / frameworks and/or algorithm optimization.
- Ability to apply expertise in computer science, software development, and the latest technologies to analyze and implement software infrastructures, new tools, new processes, or innovative architectures. Ability to convey results and other information at technical and non–technical levels is also required.
- Maintain quality and ensure responsiveness of applications, code integrity, organization, and documentation.
- Ability to analyze problems and provide design recommendations for proposed solutions to these problems.
- Requires significant ability, flexibility, and exposure to both front-end web development and back-end software development.
- This position will also play a supporting role in testing, documentation, and integration of software into larger systems.
- Ability to analyze, explore and examine data from multiple disparate sources and types, including structured or unstructured text, images, and video with the goal of discovering patterns and previously hidden insights in the data for future research and development.
- At least six years of experience in Computer Science, Software Engineering, Data Science or closely related field required.
- Prefer Master's degree in Computer Science, Software Engineering or closely related field.
- Will consider Bachelor's degree in Computer Science, Software Engineering or closely related field in combination with experience.
At least four years of full-time professional experience with, or exposure to, the following:
- Experience building and maintaining complex software systems
- Comfortable with Agile software development processes, experience within Scrum framework is a plus
- Experience with Test-driven development (TDD) and writing Unit Tests in JUnit or similar
- Knowledge of Linux and Microsoft Windows platforms
- Experience with Relational Database platform, SQL or NoSQL Databases
- Experience working with IDE's such as Eclipse, IntelliJ
- Experience with developing software within cloud platforms, such as Amazon Web Services (AWS), Heroku, Pivotal Cloud Foundry (PCF).
- Experience with functional programming, Java lambdas, and Python.
- Experience with Machine Learning frameworks (Tensorflow, Caffe)
- Experience with various data processing and streaming systems (Hadoop, Scalding, MapReduce, Hive, Storm, Spark, Pig, Flink, Kafka, etc.)