Senior Full Stack Developer
This is a full stack developer role for a self-motivated individual with excellent software engineering skills, familiarity with python and expertise in Java frameworks and technologies. The candidate will be extensively involved in hands-on activities including POCs, design, documentation, development and testing. Candidate must be flexible to switch tasks based on team's needs, and should be capable to work across the front end/UI (API, Web Service, UI, mobile apps etc.), middle layer (data ingestion, analytics, business logic) and back end (DB, Big Data, AWS, Load balancing, High Availability Services) across the needed technology stacks.
As a full stack developer for data applications you will work with a team of experienced researchers, data scientists and application developers taking on challenges posed by the Experian customers and internal product units.
This role combines:
- Building data products where products mean APIs/mobile appps/web services to expose Experian analytical insights to a wider client base for B2B and B2C businesse
- Experience with mobile app development (Android/iOS) along with the backend cloud AWS support for the mobile technology stack
- Practical knowledge of working with scalable platforms for processing of huge data sets and various databases
- Scaling from minimum viable product up to shippable scalable-operation-ready data products
- Building and maintaining innovative new products from the ground-up.
This is a hands-on individual contributor self-starter role with a future scope to build and grow the development team under the right candidate.
- Work on development of new products iteratively by building quick POCs and converting ideas into real products - Rapidly build, iterate, test and deploy new features and products
- Work autonomously on complex issues where use cases or data availability require defining the scope and thus build the needed code, across all levels of the solution stack, from database to browser, including external libraries.
- Architect and develop high performance stable and highly available web services / APIs
- Lead technical vision across Front-end and Back-end and Maintain a high-quality robust codebase
- Responsible for data science algorithms implementation, computer programming, software development, software tools & numerical solutions optimization to enable successful deployment of advanced analytics solutions via cloud based and/or local based systems.
- Interact and collaborate with global IT teams and business stakeholders to deliver high quality products and services that meet business requirements and expectations while applying the latest available tools and technology.
- Present technical solutions, capabilities, and features in business terms. Effectively communicate status, issues, and risks in a precise and timely manner.
- Sever management to ensure the health of applications
Experience and Skills:
- BS/MS in Computer Science, Computer Engineering, or related field.
- 7+ years of software design, architecture and development experience on various Java frameworks.
- Experience in working in different Operating Systems such Linux, Unix, Windows
- Experience on different databases. Relational (eg. PostgreSQL, MySQL) or NoSQL (eg. MongoDB, CouchDB, Cassandra)
- Experience working with cloud services like AWS (S3, EMR, SWF), Heroku or Google cloud platform
- Extensive REST API / Web Services development experience and solid understanding of the full web technology stack (e.g. Flask, HTTP, cookies, asset loading, caching, REST, Thrift).
- Experience in HTML, CSS, JQUERY, AngularJS/JQuery
- Strong experience in building large scale applications using open source and J2EE/Big Data technologies.
- Any experience on the Big Data ecosystem like Hadoop, Spark, Map Reduce, H-Base, MongoDB, Yarn, Kafka etc. is a plus
- Working knowledge of tools like Jenkins, Maven, Chef, Git and Docker.
- Experience in native mobile application development in iOS / Android (NDK) is a big plus
- Hands on experience in Scala and Python are a plus.
- Excellent verbal and written communication skills, a team player with strong analytical, problem solving, debugging, and troubleshooting skills.
- Hands on product development experience is must.