$53.75 - $73.75/hr
Contractor
Re-posted 10 days ago
Job description
Software Engineer - Java
Job Summary: Talent Software Services is in search of a Software Engineer - Java for a contract position in St. Paul, MN. Opportunity will be six months with a strong chance for a long-term extension.
Position Summary:
This engineering position will be part of an agile dev-test team responsible for designing, developing, and deploying some of the most visible, exciting, and challenging software on the Internet. Our software solutions are easy to use, scalable, and highly performant. Engineers on the team will be called on to research components or technologies, present findings to the team, document software design, implement business logic, document a test strategy, write automated tests, demonstrate completed work to operations teams or product owners, and communicate with team members to improve our process and efficiency.
Primary Responsibilities/Accountabilities:
- The ideal candidate will have good social and communication skills as well as a strong understanding of the fundamentals of the Java Programming Language, including concurrency and data structures.
- As part of a highly performant agile team, engineers will participate effectively in daily standup meetings, weekly grooming sessions, and product demonstrations. Engineers will be expected to take ownership of product backlog items from design to deployment. Successful engineers will work closely with team members to become familiar with our software components and make a positive impact on software projects as well as team chemistry.
Qualifications:
- Bachelor's degree in Computer Science or a related field
- 8+ years of work experience with object-oriented languages, preferably Java
- Experience with data-structures, algorithms, and computational complexity
- Experience with Linux or Unix operating systems administration
- Experience with scripting languages like Perl, Python, Unix Shell, or others
- Experience with SQL and relational databases
- Experience with test automation tools and strategies
- Experience with deployment automation
- Experience with computer networking protocols, firewall rules, and security systems
- Experience with Docker, Terraform, Jenkins, Ansible, Git and other Continuous Delivery tools
- Experience with performance metrics, profiling, and dynamic code analysis is a plus
If this job is a match for your background, we would be honored to receive your application!
Providing consulting opportunities to TALENTed people since 1987, we offer a host of opportunities including contract, contract to hire and permanent placement. Let's talk!
Frequently asked questions
Q: What skills or qualities help someone succeed as a Java Software Engineer?
A: To succeed as a Java Software Engineer, key technical skills include proficiency in Java programming language, experience with object-oriented design principles, and knowledge of software development frameworks such as Spring or Hibernate. Additionally, strong problem-solving skills, attention to detail, and the ability to collaborate effectively with cross-functional teams are essential soft skills that contribute to success in this role. By combining technical expertise with strong communication and teamwork skills, Java Software Engineers can effectively design, develop, and maintain high-quality software applications, driving career growth and effectiveness in the role.
Q: What is the career path for a Java Software Engineer?
A: A Java Software Engineer's typical career progression involves starting as a Junior Software Engineer, where they focus on coding, testing, and debugging, before advancing to a Mid-Level Software Engineer role, where they take on more complex projects, lead smaller teams, and contribute to architecture decisions. As they gain experience, they can move into Senior Software Engineer positions, where they mentor junior engineers, design and implement large-scale systems, and drive technical innovation. With continued growth, Java Software Engineers can explore leadership roles, such as Technical Lead or Engineering Manager, or transition into specialized areas like DevOps, Cloud Computing, or Artificial Intelligence.
