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
We are looking for Flutter Developers responsible for developing cross-platform mobile
applications.
Work Details:
● Building modern and cross platform mobile applications using Flutter.
● Collaborating with the Planning and Design teams to bring ideas to life.
● Performing app profiling and improving performance.
● Improving code quality through code reviews.
● Developing new features, maintaining code, and fixing/debugging issues.
You need to have:
● One or more published Flutter apps on the App Store / Play Store.
● Good understanding of Flutter and Dart.
● Beginner to intermediate level knowledge of Java, Kotlin or Swift.
● Good understanding of code versioning tools such as Git etc.
● Willingness to learn about new technologies and trends in mobile.
● Familiarity with cloud message APIs and push notifications.
● Working knowledge of Reactive programming is a plus.
● Working knowledge of the general mobile landscape, architectures, trends, and emerging
technologies.
● Bachelor’s degree in Computer Science or related field, or equivalent professional
experience.
● Experience working with agile teams and making rapid decisions in a dynamic and
disruptive environment.
● Strong communication skills.
Benefits:
● Working with the latest technologies in an early-stage product startup, with plenty of
opportunities to learn
● You will work directly under the mentorship of other senior designers/developers and the
startup's founders.
Your responsibilities as a backend engineer will include:
- Back-end software development
- Software engineering and designing data models and write effective APIs
- Working together with engineers and product teams
- Understanding business use cases and requirements for different internal teams
- Maintenance of existing projects and New feature development
- Consume and integrate classifier/ ML snippets from Data science team
What we are looking for:
- 2+ years of industry experience with the Python and Django framework.
- Degree in Computer Science or related field
- Good analytical skills with strong fundamentals of data structures and algorithms
- Experience building backend services with hands-on experience through all stages of Agile software development life cycle.
- Ability to write optimized codes,debug programs, and integrate applications with third party tools by developing various APIs
- Experience with Databases.
- Experience with writing REST-APIs.
- Prototyping initial collection and leveraging existing tools and/or creating new tools
- Experience working different types of datasets (e.g. unstructured, semi-structured, with missing information)
- Ability to think critically and creatively in a dynamic environment, while picking up new tools and domain knowledge along the way
- A positive attitude, and a growth mindset
Bonus:
- Experience with relevant Python libraries such as Requests, sklearn, Selenium
- Hands on experience in Machine learning implementations
- Experience with Cloud infrastructure (e.g. AWS) and relevant microservices
- Good Humor
Note- We are currently working from home due to the pandemic. If selected you may work from a remote location though once office reopens candidate must work from Office.
Core Java developer responsible for building Java applications. This includes anything between complex groups of back-end services and their client-end (desktop and mobile) counterparts. Your primary responsibility will be to design and develop these applications, and to coordinate with the rest of the team working on different layers of the infrastructure. Thus, a commitment to collaborative problem solving, sophisticated design, and product quality are essential.
Responsibilities:
•Translate application storyboards and use cases into functional applications.
- Design, build and maintain efficient, reusable, and reliable Java code.
- Ensure the best possible performance, quality, and responsiveness of the applications.
- Identify bottlenecks and bugs and devise solutions to these problems.
- Help maintain code quality, organization, and automatization.
Skills Needed:
- Java, JPA, Servlets, JAX/RS, JUnit
- Fullstack : Node/Angular/React
- Algorithm,Design Patterns, Data Structures
- TomCat, Wildfly
- MySQL, PostgreSQL
- HTML, JavaScript, jQuery,
- Mobile exposure: Cordova/PhoneGap
- Exposure in E-Commerce or Product based domain
- NoSQL exposure
Skills Needed: Java,Spring,Springboot,Microservices
Should have hands-on experience with Java
Should have hands-on experience with technologies like spring & springboot
Should have hands-on experience with Microservices Architecture
Experience:2 Yrs to 5 Yrs
Notice Period: Immediate to 10 Days(Max)
Location: Bangalore
Work from Home till Pandemic End
Company operates in over 25 countries across six continents and is part of Publicis Media, one of four solution hubs within Publicis Groupe, which is present in over 100 countries and employs nearly 80,000 professionals.
It believe there are better ways for brands to connect with people. And we’re on a mission to guide brands to better connections -- across consumers, channels and partners. These are just some of the services we offer our clients in our quest to deliver ambitious outcomes.
- You will design, build and own APIs and Services, which will be the core of the product.
- You will participate in continuing education and training to remain current on best practices, learn new programming languages, and better assist other team members.
- You will part of developing ideas for new programs, products, or features by monitoring industry developments and trends.
- You will have to take lead on projects, compile and analyze data, processes, and codes to troubleshoot problems and identify areas of improvement.
REQUIREMENTS
- 3-5 years of experience in building highly scalable backend systems.
- Fluency or understanding of specific languages, such as JAVA, Operating System may be required, and Experience in Databases such as MySQL or Postgre SQL
- Strong understanding of Computer Science Fundamentals, Data Structures and Algorithms, SOLID Design Principles, and REST Patterns.
- Focus on efficiency, user experience, and process improvement.
- Excellent project and time management skills.
- Strong problem-solving and communication skills.
- Ability to work independently or with a group
Key Skills:
1. One or more of Python/PHP/Ruby/NodeJS/Java
2. Sound object-oriented skills, including strong design patterns knowledge
2. REST APIs
3. MVC architecture
4. MySQL/PostgreSQL
5. Exp with at least 1 NoSQL databases MongoDB/Memcache/Redis/
6. Exp with search technologies Elasticsearch/Solr
7. Exp building messaging based asynchrounous systems RabbitMQ/Kafka/SQS/Celery will be added advantage
8. Exp with Django/Flask frameworks will be added advantage
9. Knowledge of software best practices like Test-Driven Development (TDD) and Continuous Integration (CI) will be added adnavtage
Requirements:
1. Developing software solutions in conjunction with Relational theory, Rest APIs and NoSQL database technologies
2. Knowledge of cloud based technologies in AWS or Azure will be added advantage
3. Understanding of RDBMS technologies like MySQL, PostgreSQL.
4. Hands-on with Version control systems (GIT, SVN) and Unix/Ubuntu.
5. Experience in requirement analysis, HLD, LLD, unit & integration testing.
6. Good hands on experience in debugging application issues
TL;DR
1) Top performer in the company
2) Has worked with product based startup company
3) Ambitious and hardworking