Senior J2EE Software Engineer

Project Description

The client is a dynamic, creative, and growing company that provides MVNE solutions for Retail, Wholesale, ETC (Eligible Telecommunication Companies), and Private Label customers. Through our streamlined and proprietary OSS/BSS platform we accelerate solution development and market entry, enabling our clients to reach their sales goals more efficiently, in less time, and with higher quality results. By leveraging multiple national wireless carrier contracts we are able to support, develop, and help our partners build their brands quickly with a price point competitive within the industry. Ready's end-to-end product platform includes integrated billing, eCommerce, standardized service APIs, third-party integration, provisioning, fulfillment, hosted infrastructure, mobile network provisioning and controls, and Customer Service/CRM services.


We're looking for an experienced and motivated fulltime J2EE Software Engineer.
This role offers the chance to drive technical development projects, design solutions within the MVNE platform (based on J2EE), develop and implement platform enhancements with significant positive impact to the company, collaborate with team members on complex projects, and share your skills within the Engineering department.

Our primary application platform technologies are Java 7, Wildfly/JBoss 8+, MariaDB 10, EJB 3, JAX-WS, JMS, JPA, and Eclipse Developer Studio.
Client's OSS/BSS platform is a multi-tenant distributed architecture based upon Wildfly, Java Persistence Architecture (JPA) and many proprietary abstracted business layers implemented with EJB 3 and JMS services. Ultimately, feature functionality is accessed via robust Service Oriented Architecture (SOA) interfaces developed in JBossWS/CXF and available to clients using SOAP/REST web services. Our APIs support external vendor partners, clients, and our own in-house developed user portal.

Our SDLC processes are a hybrid of Agile and V-Model development methodologies to suite the mix of project types our Engineering teams encounter. Product development is an adaptive, continuous enhancement cycle and therefore well suited for Agile. Client initiatives follow a predictive, requirements-driven approach and are better supported through V-Model methods and process.

Skills Required

- Proficiency with Java 7 and J2EE middleware platforms is a must have. We would prefer current Wildfly 8+ experience, but will consider Websphere, Weblogic, Oracle Java EE experience as a replacement if JPA, EJB, and WS technologies were used.
- Demonstrated Object-Oriented development skills are paramount to designing within our multi-tenant product environment. You will need to prove your design skills abstracting business logic into reusable interfaces and then architecting efficient technical object models to implement your designs.
- Direct experience implementing J2EE technologies in an SOA environment. We generate our Web Services "bottom-up" so you'll need to understand and speak to that method and how you have used it in the past or would use it.
- Business process understanding and a willingness to learn are very important. The services you design will be consumed by Ready's front-end developers, our clients, and vendors we partner with so you need to understand their needs and how their systems fit into the overall business architecture.
- Solid knowledge of client database access, schema design, SQL, and Stored Procedures. Experience with any decent relational database will suffice. What we care about is your knowledge of normalized database design and your ability to abstract business logic from data persistence.
- Working knowledge of Linux environments, source code control systems, and release management. We use Linux for everything (even development, but Windows is okay) so to be an effective Designer you really need to understand how your systems will be deployed, how they will scale, how they will perform under load, etc. If you build your own Linux systems and install/configure Wildfly by yourself, you'll be in good shape and ahead of most.
- Documentation thoroughness is very important to us. Do you strive to complete documentation that allows handoff to support teams upon project completion? Are your design documents devoid of logic holes and all-inclusive of client requirements? Are your designs laid-out the same way each project and evolve to include more detail over time? Do you pride yourself on understanding your company's technology architecture and maintaining good stewardship of it? These are examples of traits we care about and will want to know if you have these too.
- Must be able to learn new systems quickly, take initiative to be productive, and be self-motivated. This is a respected role within the organization; you will be expected to manage yourself in large part. We rely upon self-forming teams and self-managed leaders within IT; micromanagement is not our style.
- For education we prefer a degree in Computer Science or Computer Engineering, but one is not required. We are results-oriented so high aptitude, time-tested skills, and proven successful implementations are all that really matter ... so bring your "A Game" and we'll find a spot for you.

Knowledge nice to have:
- Spring framework
- Apache Spark
- Apache Kafka
- Enterprise Integration Patterns
- Telecom experience