JOBSEARCHER

Senior Java Developer #: 24-07041

Successful Software Developers at *** excel in three key areas:Software DeliveryProduct MindsetGrowth MindsetSoftware Development Teams at *** find ways to improve daily work. This means taking an honest look at delivery metrics and asking what we will do to improve them. We expect a team to ask "why has our deployment frequency declined over the last month?" and work towards a solution to improve the situation as a team, under their own direction. In short, we want everyone to invest in continually improving themselves and their ways of working, while achieving product success.You will engage in all aspects of the Product lifecycle and work to grow your skills in Lean Product Development. We expect our engineers to dig in and solve business problems as true partners. We love small solutions and collecting data to draw conclusions.To build new solutions and chase new hypotheses, our teams are constantly learning. We accept failures as learning experiences and use those experiences to build resiliency in our systems.Depending on level, the role is a balance of technical coaching and hands-on development work. All Software Developers write code daily, regardless of level.What you'll doAccountable for software delivery as well as influencing the team to find new behaviors and ways of working based on frequent inspection and rapid feedback.Facilitate team ceremonies in conjunction with appropriate team members.Identify gaps in agile and technical practices and collaboratively seek remedies for them.Identify purposeful ways to question the status quo and lead experiments on alternatives, seeking increased customer value or new learnings or both.Develop soft skills (communication, business orientation, adaptability, constructive feedback). Make use of existing practices, such as pair programming. Work with the delivery manager to identify training and growth opportunities. Recommend personal growth paths in conjunction with Delivery Manager.Help articulate and eliminate team blockers with the Delivery Manager (as needed).Participate in architecture and software design with the Squad - in general, encourages the team to work on new ideas and emergent, iterative design. Focuses on constructively arguing against solutions that are not a fit, if necessary.Partners with the Product Owner (presenting Playback, keeping focus on business value, etc.) as needed to support the overall Squad's delivery.A strong willingness to learn and the ability to show vulnerability when you do not know somethingAll you'll need for successMinimum QualificationsRequired (At least 3 of the following):Proven experience in at least one object-oriented languageProven experience in at least one web framework, preferably including Spring, Spring Boot, or ASP.NET CoreProven experience in SQL and ability to design relational database schemasAbility to function in a Linux/Unix environment using shell commandsAbility to scrutinize applications and services to ensure they adhere to security standardsPreferredPreferred QualificationsWorking experience building business-critical, Internet scale distributed systems or high-volume client/server systemsAbility to work as part of a team, always keeping the team's goal in mindExperience using source control management systemsExposure to using continuous integration/deployment environmentsExperience delivering software using an Agile methodology like Extreme Programming, Kanban, or ScrumProduct Experience With Any Of The FollowingTest Driven Development (TDD)Testing PyramidMulti-threading and concurrencyDebugging, performance profiling and optimizationObject-oriented and service-oriented application development patternsBachelor's degree in Computer Science, Computer Engineering or related fields or equivalent experienceInternally motivated, able to work proficiently both alone and in a team environmentAdept and comfortable communicating with internal team members and external business stakeholdersDemonstrated ability to find creative ways of improving and simplifying solutions, systems, and processes without getting bogged down in blockers or bottlenecksWe may also consider a Senior role for you if in addition, you have at least 4 of the following:Experience leading and managing small to medium-sized development teams of between 5 and 25 developersPrevious experience founding or working as a founding engineer at a technology startup from concept to MVP and subsequent releasesPrevious experience as a designer, product owner/manager, or business role (marketing, sales, finance, etc.)Production DevOps experience and the ability to build CI/CD (Jenkins) pipelinesExperience writing production shell scripts in a Linux/Unix environmentProficiency in Full Stack DevelopmentProficiency And Demonstrated Experience In The Following TechnologiesJ2EE technologies: Java, JSP, JMS, JAXB, JDBC, EJBDatabase and persistence frameworks: Hibernate, Oracle, Object/Relational Mapping, Query performance tuningCloud-based development: Cloud FoundryWeb Servers: Tomcat, tcServer, WebsphereWeb Services: REST/SOAP (JSON/WSDL/XML)Frameworks: Spring Framework, Spring BootFront-end: Angular JS, Ext JS, CSS, jQuery, AJAXBuild/deployment tools: Maven, Gradel, Git, Junit, MockitoOther Dev Ops Toolchain: Selenium, Nexus Repository, Hygieia, SonarQube, Fortify on Demand, Slack, GitHub, Jenkins, ElasticSearch, Logstaash, Kibana, New RelicOther: Linux/Unix shell Scripting, JavaScript, IBM MQ/Rabbit MQ, Tivoli Scheduler, SQL Developer, IDEProficiency in object-oriented design techniques and principlesProficiency in Microsoft Office Tools (Project, Excel, Word, PowerPoint, etc.)Experience in Agile methodologies, such as SCRUMExperience in DevOps Toolchain methodologies, including Continuous Integration and Continuous Deployment