Position: Software Engineer – Sr
Location: Sunnyvale, CA
· Designs, modifies, develops, writes and implements software programming applications.
· Supports and/or installs software applications/operating systems.
· Participates in the testing process through test review and analysis, test witnessing and certification of software.
· Requires a bachelor's degree in a related area and 4-6years of experience.
· Require Core Java Engineer(Backend)
Our current technology stack includes Linux, Java, Oracle, Cassandra, Tomcat, Spark, Kafka, Couchbase to name a few.
As a senior member of the team, you will be expected to drive the requirements for and own large components of the system throughout their lifecycle: requirements, architecture/design, implementation, testing, and launch. You will need to exhibit strong leadership and communication skills, define and successfully execute on the engineering and release priorities in a very agile application development environment. It's a self-service model where you own your code from design through implementation, test automation and support.
· Bachelor's Degree in Computer Science or related field and 5-7years experience building scalable ecommerce applications or mobile software
· 5+ years object-oriented experience with Java-based systems
· Experience with large-scale distributed infrastructure systems and client-server architectures
· Experience writing multi-threaded high performance applications
· Experience with Cloud Computing platforms: Amazon AWS, Microsoft Azure, Google cloud or similar
· Experience developing using either relational databases such as Oracle, PostgreSQL, and/or MySQL or NoSQL databases such as CouchBase, Cassandra, Mongo DB etc.
· Experience in Unit-testing (Junit, TestNG, Jmock, MockIt, etc.)
· Experience in Source Control systems such as Git, ClearCase, CVS, Subversion
· Proficiency with Active MQ, Rabbit MQ and similar messaging solutions
· Experience developing using Spring framework, Hibernate and JPA
· Experience in Agile methodology and TDD (test driven development)
· Experience profiling Java applications
· Experience with Unix command line tools
· General knowledge of storage concepts and protocols in relation to virtualized/cloud environments.