Java - Full Stack Software Engineer
What We'll Bring:Neustar is seeking a Senior Full Stack Software Engineer to join Trusted Call Solutions team who will be responsible for developing and delivering mission critical services in the field of voice and data applications to global carriers and enterprises. The ideal engineer would be working in a fast-pace DevOps environment with an entrepreneurial mindset of solving real world problems by designing, developing and maintaining features, solutions and scalable production grade micro-services in collaboration with other product and engineering teams. The engineer will also work very closely with clients and partners to understand various use cases and real-world problems to solve them with code.
What You'll Bring:
- Bachelor’s (B.S) or Master’s (M.S) degree in Computer Science or related field
- Minimum 5+ years of software development experience
- Minimum 5+ years of object-oriented design and object-oriented programming experience
- Solid understanding of RESTful systems and principles of good API design. Should have proven experience in building and deploying production grade, highly scalable solutions based on cloud-native micro-services architecture.
- Proficiency in one or more modern programming languages such as Java, C++, Python, Go
- Experience with Spring framework including Spring boot, Spring batch, Spring Data
- Proven experience with RDBMS, and NoSQL DB (MongoDB/Cassandra preferred)
- Computer Science fundamentals in data structures (document form, JSON/YAML), problem solving, algorithm design and analysis
- Understanding of cryptography, encryption, and PKI Digital Certificate Management (X.509) using crypto libraries
- Good familiarity with open-source development. Any hands-on experience with integrating open source components into projects would be an advantage.
- Design, develop, test, deploy and maintain stateless micro-services in various environments (Public/Private Cloud, On-premises in customer domain) using modern techniques of CI/CD
- Contribute in improving best practices to deliver high quality solutions leveraging open source tools/toolkits and utilities with automated builds, tests and deployments
- Collaborate effectively with cross-functional organizations including system architects, project managers, product managers and operations.
- Manage and execute integration tests with potential customers/partners/participants using a cloud based international test bed.
- Follow Agile development methodology leveraging tools like GIT (SCM), JIRA (User Stories), SLACK (Auto Notifications/Channels)
- Create solution design documents for customers including acceptance tests.
Impact You'll Make:
NICE TO HAVE
- Infrastructure: OpenStack (KVM Hypervisor, qcow2, HEAT Orchestration Template), AWS (AMI, CloudFormation), VMWare (OVA’s, ESXi Hypervisor)
- Container based deployments: Docker, Kubernetes
- Orchestration: Ansible (Python based custom modules)
- Automation: Cucumber (Ruby, Java)
- Messaging: Streaming with Pub/Sub architecture (Kafka)
- Monitoring/Alerting: Prometheus, Grafana, Splunk
- Documentation as code techniques
- Protocols: SIP (Session Initiation Protocol), DNS (Domain Name Service), HTTP, SSL, STIR/SHAKEN, OAUTH2 (3rd party Authentication/Authorization)
- 3rd Party Network Elements: Asterix (Opensource IP-PBX), Free Switch, Acme/Oracle SBC, Cisco Call Manager (CUCM)
- UI Development techniques using Angular/React JS or similar frameworks
TransUnion Job TitleEngineer, Software Development