SDE2 - Android Kotlin

at  The Product Guys

Bayern, Bayern, Germany -

Start DateExpiry DateSalaryPosted OnExperienceSkillsTelecommuteSponsor Visa
Immediate11 Oct, 2024Not Specified12 Jul, 2024N/AFeatures,Programming Languages,Management Skills,Solid Principles,Optimization Techniques,Android Sdk,Ui Automation,Agile Methodologies,Continuous Integration,Persona,Mobile Applications,Design Patterns,Network Optimization,Software Development,AndroidNoNo
Add to Wishlist Apply All Jobs
Required Visa Status:
CitizenGC
US CitizenStudent Visa
H1BCPT
OPTH4 Spouse of H1B
GC Green Card
Employment Type:
Full TimePart Time
PermanentIndependent - 1099
Contract – W2C2H Independent
C2H W2Contract – Corp 2 Corp
Contract to Hire – Corp 2 Corp

Description:

JOB DESCRIPTION

Scoping
o Influence product discussions, plan work sequencing, handle edge cases,
define correctness of the project, and influence success KPIs.
o Do assessment of Technical feasibility for functional requirement and validate
the feasibility and coverage of Non-functional requirements.
o Engineering Milestone proposal and once the roadmap is finalised, discover
the spectrum of changes.
 Design
o Propose data and domain architecture, propose alternative solutions with the
best one following Clean architecture and with the reason, and understands the
clearing of tech debt in a given iteration.
o Propose LLD with reviews from SDE3/SDE4, design Test cases and increase
test coverage
o Propose ERDs with success criteria, guard rail metrics, and from security
aspects
 Development Communicate effectively with cross-functional devs, provide and
validate effort estimates, develop high-quality code of approved design, perform code
reviews, dev testing should be exhaustive and coverage of all happy and sad flows on
testing sandbox and work closely with the QA team to ensure timely fixes of bugs.
 Maintenance
o Ensure smooth functioning of engineering metrics like Crashes, Non-fatal
crashes, ANRs, Memory Leaks, App Startup time, Battery optimisation etc
and diagnose concerns, manage tech debt, and contribute to knowledge
management through documentation.
o Escalate and involve relevant folks in Incident management and handle all
types of QA support tickets.
 Innovation and Exploration
o Researching new technologies or trends, analyzing customer or market needs,
or identifying potential areas for process improvement or optimization.
o Designing and executing experiments, prototyping new features or
functionality
 Project Management
o Participate in project planning meetings, help to define project scope and
timelines, and contribute to risk assessments or mitigation strategies.
o Communicate with stakeholders or other departments to ensure that the work
aligns with the overall project goals and vision.
 Documentation
o Detailed technical documentation that explains the design and implementation
of the software being developed. This could include documenting RIBs flow,
data models, entities, state, VM, Presenters, Listeners, system architecture, use
cases or other technical details
o Create or review design documents that outline the features or functionality of
the software being developed
 Team Grooming Provide technical guidance to the team members through
engineering best practices and ensure they are followed, conduct knowledge
transitions, create a knowledge repository, and train & support the business, product,
analytics, QA on the engineering aspects.
 Onboarding & Off-boarding
o Organising orientation, training, and providing new employees with the tools
and resources they need to be successful in their roles. Help build
understanding of products and systems for new employees by conducting
ramp-up sessions.
o Conduct knowledge transfer sessions for exiting employees to ensure smooth
transfer of ownership with minimal disruption.

REQUIREMENTS

Technical Expertise
o Very good understanding in designing and developing native mobile
applications for Android
o In-depth understanding of some of the core Android architecture components
like Activity, Fragments, Services, Broadcast receivers etc
o Strong knowledge of Android SDK, different versions of Android, and how to
deal with different screen sizes.
o Strong knowledge of Android Jetpack components such as Room, LiveData,
ViewModel, and WorkManager.
o Solid understanding of integrating RESTful APIs and third-party libraries in
Android applications.
o Solid understanding of mobile app deployment processes on Google Play
Store, and familiarity with Google Play Console and Firebase console.
o Strong coding skills in relevant programming languages such as Kotlin, and
Java
o Good understanding of software architecture patterns and principles such as
SOLID principles, Clean Architecture, MVVM, MVI, or MVP
o Solid understanding of Reactive programming like RxJava, Coroutine Flow,
LiveData
o Solid understanding of asynchronous programming like RxJava and/or
Coroutines
o Solid understanding of Dependency injection principles using any of the
libraries like Dagger2, Hilt, Koin etc
o Ability to write efficient, maintainable, and scalable code
o Ability to propose non-functional items during scoping out of tasks
o Ability to propose necessity of third party libraries and can choose the best
between multiple libraries
o Familiarity with testing frameworks and techniques such as JUnit, Mockito,
Espresso, UI Automation
o Strong Knowledge of debugging and profiling tools to diagnose and fix issues
in the code and improve metrics like Crashes, Non-fatal crashes, Memory
Leaks, App Startup time etc
o Understanding of Agile development methodologies and experience working
in Agile teams
o Knowledge of DevOps tools and practices such as Continuous Integration and
Continuous Deployment (CI/CD)
 Soft Skills
o Excellent communication skills to collaborate with cross-functional teams and
stakeholders
o Ability to work independently and take ownership of projects
o Strong problem-solving skills to tackle complex technical challenges
o Attention to detail to ensure high-quality deliverables
o Ability to provide technical guidance, conduct knowledge transitions, and
train and support team members
o Help in organizing orientation and training sessions for new employees
Persona:
 2+ years of experience working on native Android app development
 Should have experience building and shipping large-scale mobile applications for a
variety of clients across different industries.
 Should be an excellent team player and should have very good communication skills
along with excellent stakeholder management skills.
 Should have openness for feedback and should be coachable.
 Very good understanding of products and modules he has built and worked on
 Must have owned some modules and features and shows good ownership skills
 Strong understanding of Kotlin and Java programming languages
 Expertise in Android app development frameworks and libraries
 Solid understanding of architectures like Clean architecture, MVVM, MVI, MVP
along with SOLID principles, and design patterns.
 Understanding of performance optimization techniques (e.g. memory management,
network optimization, etc.)
 Good understanding of Android testing frameworks (e.g. JUnit, Mockito, Espresso,
etc.)
 Knowledge of software development best practices, latest android development
technologies and best practices and agile methodologies
 Excellent problem-solving and debugging skills
 Work closely with the product and design teams to ensure the best user experience
 Ensures code quality by performing code reviews, testing, and debugging
 Collaborate with cross-functional teams including backend developers, designers, and
product managers
 Stays up-to-date with the latest trends and technologies in the Android development
space

Responsibilities:

Please refer the Job description for details


REQUIREMENT SUMMARY

Min:N/AMax:5.0 year(s)

Information Technology/IT

IT Software - System Programming

Software Engineering

Graduate

Proficient

1

Bayern, Germany