Job Description

LiveAction is seeking a Technical Lead to help take LiveAction to the next level. This position will be responsible for playing an active role in the analysis of requirements, design, and programming of our software solutions. Our Technical Leads apply and uphold industry standard methodologies of systems design and architecture. This position performs analysis and identifies solutions to complex technical problems. We are looking for Lead Engineer(s) who can understand complex problems, address them architecturally, develop corresponding high-level and low-level designs and drive development using our development ecosystem.

Duties:

  • Has the ability to address complex technical problems architecturally
  • Will help take high-level requirements to engineering requirements—ensures requirements are accurately implemented (coding level) and verified
  • Designs, develops, and tests software solutions. Uses software design methodology to implement real-time software systems
  • Embodies knowledge and understanding of programming data-structures, databases and algorithm implementations
  • Adheres to all development standards while implementing features
  • Identifies solutions on medium complexity technical problems
  • Provides insights into project standards and practices
  • Prepares code review documentation and participates in code reviews
  • Displays professionalism in all activities
  • Establishes, implements and monitors project standards and practices
  • Works effectively as a team member in order to maximize team initiatives and meet overall company goals
  • Communicates appropriately to team members and supervisors
  • Continually grows technical skills and understanding of engineering and project requirements
  • Requires little supervision in carrying out work assignments

Specific Java Skill Set:

Should be strong in (most or all of):

  • Java language and platform (JVM, ecosystem, libraries, tools)
  • Data structures and algorithms
  • Concurrent programming (locks, semaphores, latches, blocking queues, producer/consumer, etc.)
  • Databases (SQL, NoSQL, acid, transactions, distributed databases, eventual consistency, etc.)
  • Big data processing (streaming, batching, data grids, performance at scale, etc.)

Preferred (as many as possible of):

  • General interest and experience in architecture, infrastructure components, services
  • Service-oriented architectures (REST, Web Services, OSGi, actor-based, etc.)
  • Message-based concurrency (shared-nothing, asynchronous, even-driven programming, etc.)
  • Middleware, messaging, enterprise service bus (JMS, ActiveMQ, Camel, AKKA, etc.)
  • Distributed computing (RMI, cloud platforms, web apps, etc.)
  • Structured data formats and data versioning (Protobuf, JSON, XML, etc.)
  • Data manipulation and communication (serialization, encoding, compression, encryption, etc.)
  • Performance benchmarking and optimization
  • Security (RBAC, cryptography, SSL, PKI, etc.)
  • Networks, communication protocols, sockets
  • Dynamic programming (reflection, dynamic proxies, etc.)
  • Other JVM languages (Scala, Clojure, etc.)
  • Interest and experience in functional programming 
  • Unit testing and mocking

Qualifications:

  • Bachelors of Science degree in computer science, engineering or any related field—equivalent certifications and experience
  •  7+ years of experience in developing software engineering solutions
  • Java experience a must
  • Knowledge of the network preferred
  • Must have strong knowledge in object-oriented design
  • Knowledge of functional programming is a plus
  • Knowledge of Scala a plus
  • Experience in agile development process such as scrum is a plus
  • Team player with good interpersonal/communication skills
  • Excellent written and oral communication skills required
  • Ability to implement, monitor and maintain quality control standards

Email your resume to careers@liveaction.com to be considered for this opportunity.