Title: Senior Java Software Engineer - Only USC/GC can apply - on W2 Rate
Location: Madison, WI
Type : Contract Hybrid
Qualifications:
? BS degree in Computer Science (Masters preferred)
? 5+ years of experience with Java
? Experience developing applications on Unix/Linux platforms
? Experience with servlet containers (e.g., Tomcat), JAXRS, Spring, and related technologies
? Experience with Agile development methodologies
? Experience using source control (esp. Git) and bug tracking systems such as JIRA in a team environment
? Experience in object-oriented analysis and design
? Experience developing web services using JSON, XML and RESTful API design
? Experience building scalable systems with very high levels of concurrency and transactions.
? Experience in building high-performance and cloud based scalable web services.
? Experience with design and implementation of modern web services architecture and API frameworks
? Experience implementing services backed by NoSQL data stores
? Strong understanding of engineering best practices – requirement gathering and analysis, design and develop secure and scalable code with unit tests, participate in code reviews and documentation; experience with open source based technology stack
? Ability to handle periodic on-call duty, and defensive engineering to minimize impact
? Strong ability to do root cause analysis / troubleshooting production issues in a high traffic volume environment
? Strong written and verbal communication skills
Role Responsibilities
? You will design and implement RESTful Web Services API and algorithms
? You will produce excellent, thorough design and development documentation
? You can work independently, under tight time constraints, respond to evolving requirements and strategic shifts in direction
? You are familiar and comfortable with Agile/Scrum software development methodology
? Participate as a member of the development team and work well within a team environment.
? Perform in-depth analysis of functional or business requirements.
? Achieves team consent and buy-in; perceived as a positive and constructive collaborator especially in code reviews.
? Prepare and execute unit and integration tests.
? Apply advanced technical knowledge to innovate in a technology area (e.g. Java).
? Be able to suggest solutions and designs for complex problems.
? Implement end user or enterprise infrastructure or services prepared by senior technologists.
? Provide time / resource estimates for assigned tasks.
? Able to identify and debug issues with high volume traffic in a N-tiered system without direct access to the machines.
? Develops according to specific requirements with awareness of scalability, hardware capabilities and cross environment and platform implication.