Senior Software Engineer - Android
Job description
Overview
The job profile involves understanding and implementing the latest technologies and closely following the global trends on the web and mobile web development.
Here is what we look for in a Software Engineer Android
It’s all about the users. We have to think like the user and plan all strategies and align content strategy accordingly. The efforts of the Technology team are to keep our primary TG engaged and attract a newer audience.
- Be the USER: Think from a user perspective, and plan content strategies according to what will be relatable to them.
- Deliver WOW: Never settle for mediocrity. Aspire for new user benchmarks. Passionately seek unconventional solutions that have the potential of breaking new grounds achieving exponential reach and engagement.
- Embrace & Drive CHANGE: Embrace curiosity. Accept and enthusiastically encourage change while questioning the status quo and showing initiative. Never let the fear of failing hold you back.
Role
This is a front-end role, but not limited to it. You will be learning a lot about Android development along with other mobile technologies too. Also, we believe in extreme ownership!
And to be honest, everyone loves working with kind and smart people. We are building a kick-ass team with humble and empathetic talent.
What you will do in this role
- Design and build advanced applications for the Android platform
- Collaborate with cross-functional teams to define, design, and ship new features
- Unit-test code for robustness, including edge cases, usability, and general reliability
- Continuously discover, evaluate, and implement new technologies to maximize development efficiency.
- Translate designs and wireframes into high-quality code.
- Design, build and maintain high performance, reusable, and reliable Java code
- Ensure the best possible performance, quality, and responsiveness of the application
- Identify and correct bottlenecks and fix bugs.
Job requirements
What you should have
- 3-7 years of work experience developing complex software.
- Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes
- Good knowledge of design patterns like Creational, Structural and Behavioral patterns, MVP, MVC, etc.
- Familiarity with RESTful APIs to connect Android applications to back-end services
- Strong knowledge of Android UI design principles, patterns, and best practices
- Experience with offline storage, threading, and performance tuning
- Knowledge of the open-source Android ecosystem and the libraries available for common tasks
- Ability to understand business requirements and translate them into technical requirements
- Familiarity with cloud message APIs and push notifications
- A knack for benchmarking and optimization
- Understanding of Google’s Android design principles and interface guidelines
- Proficient understanding of code versioning tools, such as Git
- Proven software development experience and Android skills development
- Have published at least 3 original Android app
- Experience with third-party libraries and APIs
- Solid understanding of the full mobile development life cycle
Education: Any Graduate
Experience (years): 3 to 7 years, good to have prior experience in product development
Brownie Points
- Mobile Application Development
- Model-View-Controller (MVC)
- User Experience (UX)
- Model-View-Presenter (MVP)
- Representational State Transfer (REST)
- Android
- Mobile Architecture
- SDK
- Android SDK
Similar jobs
Requirements:
- Excellent knowledge of Core Java (J2SE) and J2EE technologies.
- Hands-on experience with RESTful services and API design is a must.
- Knowledge of microservices architecture is a must.
- Knowledge of design patterns is a must.
- Strong knowledge of Exception handling and logging mechanism is a must.
- Agile scrum participation experience. Work experience with several agile teams on an application built with microservices and event-based architectures to be deployed in hybrid (on-prem/cloud) environments.
- Good knowledge of Spring framework (MVC, Cloud, Data and Security. Etc) and ORM framework like JPA/Hibernate.
- Experience in managing the Source Code Base through Version Control tools like SVN, GitHub, Bitbucket, etc.
Role / Purpose - Lead Developer - API and Microservices
Must have a strong hands-on development track record building integration utilizing a variety of integration products, tools, protocols, technologies, and patterns.
- Must have an in-depth understanding of SOA/EAI/ESB concepts, SOA Governance, Event-Driven Architecture, message-based architectures, file sharing, and exchange platforms, data virtualization and caching strategies, J2EE design patterns, frameworks
- Should possess experience with at least one of middleware technologies (Application Servers, BPMS, BRMS, ESB & Message Brokers), Programming languages (e.g. Java/J2EE, JavaScript, COBOL, C), Operating Systems (e.g. Windows, Linux, MVS), and Databases (DB2, MySQL, No SQL Databases like MongoDB, Cassandra, Hadoop, etc.)
- Must have experience implementing API Service architectures (SOAP, REST) using any of the market-leading API Management tools such as Apigee and frameworks such as Spring Boot for Microservices
- Should have Advanced skills in implementing API Service architectures (SOAP, REST) using any of the market-leading API Management tools such as Apigee or similar frameworks such as Spring Boot for Microservices
- Appetite to manage large-scale projects and multiple tracks
- Experience and knowhow of the e-commerce domain and retail experience are preferred
- Good communication & people managerial skills
- 3+ years of professional software development experience
- 3+ years of object-orientedJava/ J2EE development
- Full SDLC experience (requirements gathering, architecture, development, QA, etc…)
- Experience with Spring (MVC, IOP/DI, REST, Security) & Hibernate/Spring
- Experience with SOAP / REST web services
- Knowledge of SQL
- Knowledge of No SQL concepts, understanding of Solr, Redis and Mongo DB is desirable
- Understanding concepts of CDN & Content Management
- Must have worked on any one messaging solutions
- Bonus Points for micro service design and development experience
- Bonus points for any mobile development experience
- Used Agile methodology
- Experience leading or working with cross geography teams
- Bonus Points for experience working on Unix, shell scripting & Build Systems
- Experience in performance optimization is an added advantage
POSITION
- You will be actively involved during the entire technology development lifecycle. Responsibilities will include all aspects from design, coding, testing, customer feedback cycle changes and support.
- Primary role in software development with object-orientedJava
- The customized solutions that you will be architecting and developing will also require knowledge and experience with spring / Hibernate, SOAP / REST, and SQL.
- Ability to learn new technologies quickly and willingness to read and digest large existing source code and take ownership on complex component or subsystem to drive improvements and re-architecture
- Work with a team of amazing developers and designers involved in the design and development of global platforms
- Invent and prototype new features, build, test and ship them to customers as SaaS, cloud based or hosted product platforms
- Drive the implementation of new technologies which improve our ability to build great customers products.
- Participate in a fun, open learning environment with great benefits and smart talented folks that represent among the best globally.
QUALIFICATION
- A Bachelor’s degree in Computer Science (or equivalent experience)
- M-Tech or advanced degree a plus
- Hackathon participation and accolades are a plus
- 8+ years of relevant work experience
- Well-versed in data structures, algorithms, and software design. Programming experience with at least one of
- Java or Python and object-oriented design
- Knowledge on SQL, NoSQL databases, Messaging/Caching technologies and AW deployments is a plus
- Exposure to the architecture and design (design patterns, security, reliability and scaling) of new and current systems. Experience in building highly scalable business applications, which involve implementing large complex business flows involving multiple third-party integrations
- Prior startup experience is a plus
Looking candidated from service base or service division of any company.
Minimum Qualification:
- Hands-on working on Java ( {Language understanding - Java 8, Lambdas, Collections, popular frameworks & libraries}, JVM, GC tuning, performance tuning)
- Worked on REST frameworks/libraries like Spring MVC, Spring Boot, Dropwizard, REST Express etc
- Worked on Relational data stores viz. MySQL, Oracle or Postgres
- Worked on Non-relational data stores viz. Cassandra, HBase, Couchbase, MongoDB etc
- Worked on caching infra viz. Redis, Memcached, Aerospike, Riak etc
- Worked on Queueing infra viz. Kafka, RabbitMQ, ActiveMQ etc
-Should be strong in complex problem solving, Data
Structure & Algorithms.
-Should be proficient in more than one Programming
language i.e Java, Node, Golang, etc.( Oops Languages & Concepts) and related frameworks.
-Should be comfortable with SQL, NOSQL databases.
-Should have comfortable writing Unit tests.
Location : Andheri east, Mumbai
Notice Period : Immediate to 15 days
Responsibilities :
- Create algorithms from scratch.
- Create products and backend API's as described by the business team.
- Back-test and create a hypothesis as desired by the research team.
- Code the backend of logics for consumption by the UI team.
- Deploy websockets, Django, rest API's & dynamic TCP, UDP based data flow.
- Deployment and maintenance of codes with version control.