As a Full Stack developer you will have strong skills in API and Microservices development and want to work within multidisciplinary agile teams of developers, designers and researchers focused on products. You will provide technical leadership, working closely with the wider team to ensure high quality code is delivered in line with the project goals and delivery cycles. You will work closely with designers to deliver rapid prototypes as well as production code for which you'll ensure high accessibility standards are upheld. We expect familiarity with modern frameworks and languages, as well as working practices such as Clean Code, TDD, BDD, continuous integration, continuous delivery, and DevOps.
Job Specific Responsibilities:
Framework conceptualization
- Conceptualizing the framework to be manufactured, making succinct prerequisites from customer meeting or market examination.
- Planning the conveyances, sprints, emphases, and assessing the assets required and the cost, organizing errands as indicated by prerequisites.
- Designing framework engineering.
Creating application and space models
- Planning and normalizing the database.
- Advancing plan by applying configuration designs.
- Picking innovation stack for building the arrangement.
- Making application and space models.
Collaboration amongst framework and clients
- Constructing the product and composing unit tests assuming any.
- Designing and enhancing collaborations amongst framework and clients.
Create/writer clean code
- A full stack engineer should be gifted at all layers of innovation stack - it might be a front-end outline and conduct, middleware, backend, database questions and so on.
- Creating robotized or manual test suits to thoroughly test for bugs.
Working with internal teams
- Liaise with developers, designers and product managers to identify new features
- Proactively advise on the best practices during feature-conceptualization
- Tailor the requirements to customize features that leverage native Android resources and patterns
- Proactively advice on best practices
- Assist in the budgeting process.
Essential Skills:
- Follow Clean Code/Solid principles
- Adhere and use TDD/BDD.
- Outstanding ability to develop efficient, readable, highly optimized/maintainable and clear code.
- Scala, Play, Akka, Spray
- Micro services, Rest.
- Messaging (One of RabbitMQ, ZeroMQ, ActiveMQ or any such others).
- Mocking (any of the following Mockito, ScalaTest Spock, Jasmine, Mocha).
- IDE Intellij or Eclipse.
- Build tools (One of SBT, Gradle, Maven).
- SQL Database (One of Oracle, MS SQL Server or Postgres).
- NoSQL MongoDB.
- Ensure all software built is robust and scalable.
- Experience building server-side web applications.
- Detailed understanding and experience of front-end web development (HTML/CSS/JS).
- Understanding of and experience with a range of approaches to testing application code and systems for behavior and performance (any of Selenium, Geb, Wiremock, Jmeter, Gatling, Sauce Labs).
- An ability to communicate technical concepts to a non-technical audience.
- Working knowledge of unix-like operating systems such as Linux and/or Mac OS X.
- Knowledge of the git version control system.
- Ability to quickly research and learn new programming tools and techniques.
- Understanding of the use of Responsive Web Design.
- Deep knowledge of accessibility standards and developing web products that can be used easily by users with a range of assistive technology needs.
- Mentor and train other developers in a non-line management capacity.
- Experience mentoring or helping colleagues optimise their code.
- Knowledge of relational and non-relational database systems.
- System administration and configuration management skills
- Other JVM languages (Groovy, Scala, Clojure, Kotlin etc)..
- Experience presenting work at user groups, business and to peers.
- Experience of building and scaling high-traffic websites.
- Experience of handling large data sets and scaling their handling and storage.
- Experience of working with JavaScript libraries.
- Experience of designing and maintaining public HTTP APIs.
- Experience of handling large data sets and scaling their handling and storage.
- Ruby.
- Other NoSQL databases such Neo4J, Cassandra, Redis etc.