Sr. Software Engineer -

Sr. Software Engineer

Website rfxcel rfxcel Corporation

Safety through traceability


  • Design software, write code, write unit test cases, test, and review code.
  • Lead multiple project modules and development teams and ensure the quality of their deliverables and their timely delivery.
  • 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 the 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 software design and development.
  • Develop/write software for the development of the company’s products.
  • Write unit test cases, execute them, and record results.
  • Perform code reviews, provide feedback, and oversee code corrections to ensure compliance with the development guidelines.
  • 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 (e.g., Big Data), and how they might relate to the company’s products.
  • Follow and improve Agile SDLC processes. Train other team members about SDLC processes and oversee the processes as required.
  • Interface with the offshore team in India. 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 software development, including the following:
    • Continuous integration
    • Deployment of all software components
    • Zero downtime deployments
    • Configuration management
    • Monitoring and system health dashboards

Knowledge and Skills Applied:

  • Design and write software for at least two software companies that build software products/applications and release software frequently (at least once every quarter).
  • Software development experience in multi-tier web applications development using Java/JEE/J2EE technologies that include all of the following areas:
    • Java/JEE.
    • Presentation tier: SPAs (Angular, Bootstrap, React, Backbone, etc.), HTML, CSS, AJAX, JavaScript, JSP, JSF, jQuery, Node.js, etc.
    • 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.
  • Experience architecting high performance, high scalability, and fault-tolerant software.
  • Design high-performance data processing architectures that require concurrency management, cache management, performance bottleneck detection, code profiling, database tuning, etc.
  • Design SOA, web services (WSDLs), and XSDs and REST web services.
  • 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.
  • Integration technologies: Camel, Mule, NiFi. Spring Integration.
  • Linux/UNIX.
  • Software security practices, security/vulnerability testing.
  • Different authentication and authorization methods.
  • Cloud environments (AWS/Azure/GCP).
  • 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.
  • Design and develop 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 devises integration experience.
  • Experience working with product development on zero downtime products (ensuring system uptime during new product version deployments).



Master’s degree in Computer Science, Computer Information Systems, Computer Applications, or foreign equivalent + 3 years of experience.

Job site San Ramon, CA. Email resume to

To apply for this job email your details to