This site uses cookies. To find out more, see our Cookies Policy

Java Engineer in Tampa, FL
Masonite Corporation

Date Posted: 4/28/2018

Job Snapshot

Job Description

Our vision is to be the best provider of building products in the eyes of our customers, employees, shareholders, suppliers and communities.

At Masonite, we understand that people are key. We are a composite of diverse people who come together by showing support and respect to one another.

We hire people that demonstrate integrity under pressure. Integrity is at the foundation of everything we do. It is in each door we make, in our commitment delivery and in our honest and sincere communication.

Our employees are flexible, versatile and resilient. Our ability to weather any storm, to bend without breaking, is what allows us to hear the knock and open the door with confidence, no matter what's on the other side.

At Masonite, we hold the door open for each other and for new ideas. We want everyone to freely contribute ideas and add value, so we are positive and encouraging. This collaborative environment is what makes Masonite a transparent, fair company- one that doesn't hide behind closed doors.

We continuously strive to improve both our products and our customers' experiences. This drive leads us to revolutionize the door industry and help people walk through walls.

Responsibilities

We are looking for experienced JAVA developers responsible for building JAVA applications, including anything from back-end services to their client-end counterparts. Your primary responsibilities will be to design and develop these applications, and to coordinate with the rest of the team working on different layers of the infrastructure.  Provide expertise in the use of the Spring Framework, including best practices and design patterns. Significantly contribute to software design and architecture, develop both new applications and improve our existing ones in performance, capability, and reliability.  Therefore, a commitment to collaborative problem solving, sophisticated design, and quality product is essential.

  • Daily Standup ceremonies where we share personal accomplishments and identify impediments.
  • Backlog Refinement sessions that define what we are going to build and estimate the work involved.
  • Sprint Planning Sessions where stories and designs are broken down into development tasks.
  • Sprint Retrospectives where the team provides the feedback to continuously improve our development process.
  • Contribute to the team by employing best practices in utilizing a broad platform of technologies within a cloud native development environment
  • Leverage development expertise to achieve business objectives for the development of the project
  • Embrace change in a dynamic environment that is tool agnostic. Be flexible enough to use the tool that will best fit the requirement.
  • Be a champion for relentless refactoring to realize the customer's needs
  • Design, build, and maintain efficient, reusable, and reliable JAVA code
  • Ensure the best possible performance, quality, and responsiveness of applications
  • Identify bottlenecks and bugs, and devise solutions to these problems
  • Help maintain code quality, organization, and automatic testing
  • Support your development team thru collaboration and mentoring when necessary
 

Qualifications
  • Proficient in JAVA with a good knowledge of its ecosystems
  • Experience using the Spring Framework
  • Strong understanding of object-oriented programming
  • Experience using IoC and dependency injection containers
  • Experience utilizing ORM tools
  • Experience with MVC
  • Experience building and consuming RESTful web services. Familiarity with best practices of SOA design
  • Exposure to AWS, MS Azure service bus, or other cloud provider.
  • Skill for writing reusable JAVA libraries
  • Familiar with various design and architectural patterns
  • Knowledge of concurrency patterns in JAVA
  • Familiarity with Microsoft SQL Server, MySQL, MariaDB
  • Knack for writing clean, readable JAVA code
  • Understanding fundamental design principles behind a scalable application
  • Fundamental understanding of DB design and normalization
  • Ability to creating database schemas that represent and support business processes
  • Experience implementing automated testing platforms and unit tests
  • Proficient understanding of code versioning tools {such as Git, SVN, and TFS}
  • Familiarity with continuous integration tools
  • Participate in peer code reviews and technical meetings
  • Mentor engineers in coding practices and process
  • Work in an Agile Scrum team process, collaborating closely with fellow developers, DBAs, QA, team leads, and stakeholders
  • Troubleshoot and support system and application problems

#CB

#LI-BP1