Job ID: 100-02-01.05
Location: US: San Ramon (San Francisco Bay Area), CA
Category: Engineering/Software Development
rfxcel Corporation, founded in 2003, is headquartered in Reno, NV. rfxcel is a pioneer in Product Serialization, Traceability and Compliance, Cloud Solutions for the Life Sciences, Food and Beverage industries. Leading manufacturers, distributors, packagers and retailers use rfxcel Traceability SystemTM (rTS) for complete traceability of raw materials, ingredients and finished goods across the supply chain, to meet government drug tracking regulations worldwide including the US Drug Quality and Security Act (DQSA), and those in China, Brazil, India, Argentina, Turkey, Europe and others, and also to increase market share, profitability and product safety through enhanced supply chain visibility.
By integrating with the IoT devices that host multiple sensors, rfxcel has entered the fast emerging IoT space. Our applications are used for real-time environmental monitoring and for real-time analysis of massive volumes of IoT data to not only allow real-time track and trace of the products in the supply chain but also for geo-fencing, cold-chain monitoring, product tampering detection, theft detection and prevention, diversion detection and prevention, etc.
We are a dynamic and growing software company with a strong sense of dedication to our customers. This is a very collaborative and inclusive work environment where individuals strong on aptitude and attitude will have an opportunity to grow their professional careers through working with some of the most advanced technology and talented developers in the business. rfxcel’s enterprise solutions are deployed as either SaaS applications or as on-premise applications and are integrated with multiple trading partner systems.
We are growing and looking for talented personnel to join our core team. We are looking for a hands-on Java Developer to join our development group. The ideal candidate is proactive, entrepreneurial, methodical and process-oriented while battle tested through years of product development and SDLC processes. The candidate will need to work with cross functional teams including development, QA, support and professional services.
Responsibilities – What you will be doing
The Senior Software Engineer is responsible for designing and writing code as well as leading and delivering software development projects. The candidate will significantly contribute to the design, development/coding, testing and/or support of various software modules.
- Design software, write code, write unit test cases, test code and review code on a daily-basis.
- Lead multiple project modules and development teams simultaneously and ensure the quality of their deliverables and their timely deliver.
- Create/enhance scalable, high performance and fault-tolerant architectures
- Use caching, queuing, sharding, concurrency control, etc. to improve performance and scalability
- Enhance zero-downtime architecture during product deployment upgrades
- Design complex and distributed software modules
- Design complex and distributed software modules using Java/JEE, Streaming Data and Big Data technologies, integration technologies
- Develop and enhance highly scalable, high performance and fault tolerant architectures across all tiers of the software and develop modules based on the architecture
- Integrate with IoT devices using a data ingestion pipeline that allows application of configurable real-time rules
- Identify the performance and scalability bottlenecks and provide solutions to resolve them
- Provide support for production issues and diagnose root causes (RCA)
- Write the functional requirements and technical specifications for software development
- Estimate the effort required for the software design and development
- Develop/write software for the development of rfxcel products on a daily-basis
- Write unit test cases, execute them and record results on a daily-basis
- Perform code reviews, provide feedback and oversee code corrections to ensure compliance with the development guidelines on a daily-basis
- Provide technical expertise in the diagnosis and resolution of issues, including the determination and provision of workaround solutions
- Stay up-to-date on emerging technologies, especially open source technologies, and how they might relate to rfxcel’s products
- Follow and improve Agile SDLC processes. Train other team members about SDLC processes and oversee the processes as required.
- Spend substantial time interfacing with the offshore team in India on a daily-basis. Provide critical and timely coordination between different US and India teams including development, QA, product management, professional services, operations and customer support.
- Provide hands-on help for automating the operational aspects of the software development including the following: Continuous integration, Deployment of all software components, Zero downtime deployments, Configuration management, Monitoring and system health dashboards
- Perform the following tasks if and when required: Troubleshoot and resolve customer problems; Configure customer systems; Help setup product demos.
Qualifications – What you will need for this position
- Must have experience designing and writing software for at least two software companies that build software products/applications and release software frequently (at least once every quarter).
- Must have 5+ expertise in Spring, Elasticsearch, RDMBS/SQL
- Must have at least 7 years of overall software development experience in multi-tier web applications development using Java/JEE/J2EE technologies that includes all of the following areas:
- Java/JEE experience
- Middle/business logic tier: Struts, Spring MVC, etc.
- Data access tier: Hibernate, JDBC, MyBatis, jOOQ, SQL, etc.
- Services hosts: Spring Boot, Tomcat, JBoss/WildFly, WebLogic, WebSphere, etc.
- Databases: MySQL, PostgreSQL, Oracle, SQL Server, DB2, Elasticsearch, etc.
- Software development tools: Eclipse, IntelliJ, Visual Studio, etc.
- Build tools: Maven, Gradle, Ant, etc.
- Testing: Junit, Selenium, Protractor, Postman, SOAP UI or other testing technologies
- Reporting and visualization engines: Kibana, D3, BIRT, Tableau, etc.
- Scripting: Python, Perl, Shell, Windows batch, etc.
- Scrum tools: JIRA, SpiraTeam, Pivotal Tracker, Trello, Basecamp, Rally, Version One, etc.
- Must have experience in at least two of the following areas:
- Must have 5+ years of experience architecting high performance, high scalability and fault-tolerant software. The experience must include designing high performance data processing architectures that require concurrency management, cache management, performance bottleneck detection, code profiling, database tuning, etc.
- Must have 3+ years of experience in designing SOA, web services (WSDLs) and XSDs and and REST web services. We are looking for deep expertise in developing web services using the bottom-up approach by designing WSDL and XSDs from scratch in a text editor and then implementing web services in Java (not using the top-down approach of web services development by converting Java classes/interfaces into web services using a tool). Development of REST web services and creation of Open API specification.
- Must have 2+ years of hands-on experience with two or more of the following integration technologies: Camel, Mule, NiFi. Spring Integration.
- Must have recent hands-on experience with Linux/UNIX
- Must have hands-on experience with software security practices, security/vulnerability testing
- Must have hands-on experience with different authentication and authorization methods
- Must have hands-on experience with cloud environments (AWS/Azure/GCP)
- Must have very strong demonstrable software design experience that includes translating requirements into creative software design and software architecture
- Good understanding of design patterns and writing reusable, configurable, modular code
- Experience designing and developing distributed architectures that include multiple services or application servers deployed in parallel or other scalable and fault-tolerant architectures
- Streaming Data and Big Data experience a big plus: Beam, Spark, Flink, Apex, Heron, Storm, Kafka, ZooKeeper, HBase, Couchbase, MongoDB, Cassandra, Redis, Neo4J, InfiniteGraph, etc.
- IoT devices integration experience is a big plus
- Experience in mobile app development, Angular, D3 or blockchain integration is a big plus
- Experience working with product development on zero downtime product deployments is a big plus (ensuring system uptime during new product version deployments)
- Must be a self-starter and proactive who takes ownership of opportunities; works independently, manages multiple simultaneous priorities and projects, and deals well with ambiguity and last-minute changes.
- Ability to balance multiple priorities, meeting specific deadlines utilizing strong organizational skills
- Strong attention to detail while maintaining sight of the big picture.
- If required, willing/able to provide after hours, on-call and escalation support of rfxcel’s 24x7 hosting environment, including system outages and incident response
- Undergraduate degree in Computer Science, Information Systems, or a related technical discipline; advanced degree a plus
- Willing to travel domestically and internationally
- Applicant must be US Citizen, Permanent Resident (Green Card holder) or must have a work visa in the US
- Selected candidate will be required to pass a background check
Benefits – What’s in it for you
- Work for the industry leader and innovative company
- Work for a profitable and well-funded startup with a great upside potential
- Work with multiple leading edge technologies including IoT, Streaming Data, Big Data/NoSQL, high performance messaging and searching, and SaaS technologies
- Excellent compensation
- Opportunity to join the core team at a relatively early stage and influence the company future
- Job satisfaction – you will be an important part of the company, and your contributions will have visibility all the way to the top and your contributions will have direct impact on the company’s future
To apply for this job email your details to firstname.lastname@example.org