Senior Java Developer

ID
2016-541
Job Location
US-Tampa
More information about this job:

Summary:

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.
  • Participate in paired programming environment where the development deliverable is an ecommerce solution.
  • Requirements gathering sessions that defines what we are going to build and develop more detailed story as we follow Agile/Scrum framework
  • Development assigned by the Application Development Manager by priority of stories.
  • 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.
  • Translate application storyboards and use cases into functional applications
  • 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
 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. Exposure to AWS, MS Azure service bus, and 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, MongoDB
  • Experience with popular web application frameworks, such as Angular/ Bootstrap/ Material Design
  • 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.
  • https://careers-masonite.icims.com/jobs/5411/senior-java-developer/login?mobile=false&width=860&height=500&bga=true&needsRedirect=false&jan1offset=-300&jun1offset=-240