Sr. Software Engineer - rfxcel.com
EnglishFrenchGermanItalianPortugueseRussianSpanish

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).

 

Requirements

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 rfxapply@rfxcel.com

To apply for this job email your details to hello@rfxcel.com