Java Software Engineer

OVERVIEW OF POSITION:

We are considering candidates ranging in experience for Software Engineering positions which focus on Java Development to help us maintain and develop our current Java front and back end as well as help us to develop our web client. The candidate will join our team of developers building the next-generation of wireless. Responsibilities include, but are not limited to, the following:

RESPONSIBILITIES:

  • Design, develop, and configure software systems to meet market and/or client requirements either end-to-end from analysis, design, implementation, quality assurance (including testing), to delivery and maintenance of the software product or system or for a specific phase of the lifecycle.
  • Write detailed specifications for substantial software functions
  • Apply knowledge of technologies, applications, methodologies, processes and tools to support a client, project or entity.
  • Responsible for design and development of Java code. The system is focused on making risk assessments and has very demanding response time, availability, and transaction requirements.
  • Work with other developers to meet customer needs and deadlines
  • Analyze and review business, functional, and technical requirements
  • Development new feature functionality, Enhance and maintain existing code base, Build Unit Tests, and Participate in regular planning, status, specifications, and design meetings
  • Support production and customer response teams as issues arise; investigating issues and delivering patches as needed
  • Interact closely with team members responsible for establishing business requirements, generating overall system design, server side implementation, User Interface, database, and testing
  • Perform frontend and backend JAVA development
  • Work in a fast-paced, iterative development environment with minimal supervision.
  • Own your work starting from product discussions to deployment in our infrastructure
  • Willingness and ability to mentor interns and junior team members
  • Thoroughly document ongoing software problems found in new and existing products
  • Add new features to the software in existing products

EDUCATION, EXPERIENCE AND SKILLS:

  • 2-5 years of software development experience
  • Bachelor’s degree in Computer Science, Computer or Electrical Engineering, Information Technology, Telecommunications, Math, Physics or similar (or equivalent experience)
  • 2+ years of experience building high performance, highly scalable, Java based application platforms, hands-on software development experience. Experience programming in multiple languages.
  • Strong organizational, prioritization, and time management with ability to focus on a deadline
  • Demonstrated problem solving ability and attention to detail
  • Ability to thrive in a fast paced, hybrid agile type of environment with a sense of urgency and attention to detail
  • Willingness to learn & develop professionally
  • Lead a small team of engineers develop market defining features.
  • Willingness to work flexible hours in line with the needs of an international company
  • Strong interpersonal communication skills; comfortable translating between “business-speak” and “tech-speak”
  • Strategic mindset, ability to quickly prioritize business needs and conceptualize creative and effective software solutions
  • Scrappy, tenacious, and self-motivated team player
  • Able to work independently and in a team atmosphere. Commitment to working collaboratively & cross functionally
  • The passion and drive to be a catalyst in a dynamic, ambiguous, fast-paced, and high-pressure environment
  • Experience with Unix-based and Windows Operating Systems

REQUIRED PROGRAMMING SKILLS:

  • Java
  • SQL
  • HTML5
  • CSS
  • Java Script

PREFERRED PROGRAMMING SKILLS:

  • JDBC
  • RMI
  • Reflection
  • Postgres
  • React.js
  • Java EE

DISCLAIMER: The above statements are intended to describe the general nature and level of work being performed by employees assigned to this classification. They are not intended to be construed as an exhaustive list of all responsibilities, duties and skills required of employees assigned to this position. Therefore employees assigned may be required to perform additional job tasks required by the manager.