Position: Golang Developer with Java
Location: Irving, TX/Richmond, VA, Chicago, IL
Duration: Long term contract
**Ex-CapitalOne Employees/Contractors Preferred**
Job Summary:
We are seeking a highly experienced Senior Golang Software Engineer with strong hands-on experience in Golang and Java development. The ideal candidate will have extensive experience designing, developing, testing, and deploying scalable enterprise applications and distributed services. The candidate should have strong software engineering fundamentals and experience working with modern application architectures, APIs, cloud technologies, containerization, messaging systems, and databases.
Required Skills & Experience:
- Strong hands-on experience with Golang/Go development
- Extensive experience designing and developing applications and services using Go
- Strong knowledge of Go programming concepts, interfaces, structs, pointers, error handling, packages, and modules
- Strong experience with Go concurrency, goroutines, channels, and parallel processing
- Experience building scalable and highly available applications using Golang
- Strong experience developing and consuming RESTful APIs
- Experience with microservices and distributed application architecture
- Strong software development experience using Java
- Experience with Java 8/11/17+
- Experience with Spring/Spring Boot
- Experience working with applications and services developed using both Go and Java
- Strong understanding of object-oriented and service-oriented design principles
- Experience with unit testing, integration testing, debugging, and performance optimization
- Strong experience with SQL and relational databases
- Experience with NoSQL databases is a plus
- Experience with Apache Kafka or other event-streaming/messaging technologies
- Hands-on experience with AWS cloud services
- Experience with Docker and Kubernetes
- Strong experience with Git and CI/CD
- Experience working in Agile/Scrum development environments
Key Responsibilities:
- Design, develop, test, and deploy scalable enterprise applications using Golang and Java
- Develop high-performance and reliable services using Go
- Design and implement REST APIs and distributed services
- Utilize Go concurrency capabilities including goroutines and channels
- Participate in application architecture and technical design discussions
- Develop integrations with databases, APIs, messaging systems, and enterprise applications
- Build and maintain cloud-native applications and services
- Develop and maintain applications using Java and Spring Boot
- Work on modernization and enhancement of existing enterprise applications
- Implement event-driven solutions using Kafka
- Deploy and support applications across AWS, Docker, and Kubernetes
- Develop comprehensive unit and integration tests
- Participate in code reviews and maintain high-quality coding standards
- Troubleshoot production issues and improve application performance, scalability, and reliability
- Collaborate with architects, developers, product managers, DevOps engineers, and other technology teams
- Participate in Agile ceremonies and contribute to continuous improvement initiatives
Preferred Qualifications:
- Experience developing applications for large-scale enterprise environments
- Experience in financial services or banking environments is a plus
- Experience building highly scalable, highly available, and resilient applications
- Strong understanding of distributed systems and cloud-native architecture
- Experience with application modernization and cloud migration initiatives
- Strong analytical and problem-solving skills
- Excellent communication and collaboration skills
- Bachelor's degree in Computer Science, Engineering, or a related field preferred