As a Software Architect, you will be expected to work on high-level architecture problems, low-level design, coding issues and everything in between. We value intelligence, creativity, quality, adaptability, technical leadership, and a strong interest to learn. You will work closely with various development teams who all share a common goal: building highly reliable systems that can handle huge loads without breaking a sweat.
What you will be doing:
- Providing technical leadership across all software and operations groups
- Making fact-based recommendations regarding technology adoption and purchase
- Collaborating with business teams, technical teams, and vendors
- Building and maintaining frameworks, templates, and best practice guides
- Providing direct assistance to teams and projects in solving hard technical problems
- Mentoring staff, increasing awareness of code quality, performance, algorithms, deployment methodologies and operations
- Promoting a positive company image through public presentations, writing, blogging, standards, consortiums, open source projects, mailing lists, industry collaborations, hiring, etc.
What we look for:
- 5+ years of software development experience in recent versions of Java, preferably having Java 8 experience
- Experience with SOA and/or Microservices Architecture using REST Architectural Style
- Strong communication skills. Ability to present and communicate strategies and direction to technical and non-technical personnel alike.
- 2+ years Architecture or High Level Design experience
- Proficiency testing software using JUnit/TestNG and mocking, integration testing, regression testing and state coverage testing
- Proficient with Linux/Unix
- Database and SQL experience, preferably with Oracle, Cassandra, Mongo or Redis
- Experience with Object Oriented design and Software Design Patterns
- Experience with Object Relational Mapping (ORM) tools such as Spring JPA, Hibernate, etc.
- Experience with message-driven systems like Apache Kafka, Rabbit MQ, Active MQ, WebLogic, etc.
- Experience with Enterprise-grade build, continuous integration and artifact management systems, e.g. Git, Maven, Jenkins and Sonatype Nexus
- Familiarity with the Spring Framework
- Familiarity with representation technologies like XML, JSON, Protobuf, Kryo, etc.
- Familiarity with light weight web container technologies such as Tomcat, netty, Node.js, etc.
- Familiarity with Presentation Technologies like React.js, Handlebars, Bootstrap
- Familiarity with Big Data Technologies like Hadoop, Mahout, Apache Spark, Yarn
Bachelor's degree in Computer Science or Engineering or similar technical field or equivalent experience, Advanced degree preferred.