Title: Intermediate Android Developer
Job ID: MK4242178
Our client is looking for an intermediate software engineer to join the development team for our product. You will work with a small team to design and develop reusable, clean, and elegant technical solutions to business problems, contribute to the evolution of the architecture, and share your unique skills and talents with the team to contribute to our processes and products. Their product includes:
- Mobile apps developed natively in Swift and Java,
- Various server side components developed in Java,
While you will not be an expert in all of these components to begin with, there is opportunity to work on all of these, and over time, you will build expertise.
Who are you?
- You are passionate about technology and how it can be used to provide value to businesses. You love learning and independently researching how we can do things even better. You value personal growth and enjoy helping and mentoring others.
- You are a team player who takes initiatives, shares your unique talents and abilities with others, and are enjoy taking on new challenges.
- You are assertive, creative, and flexible. You are methodical in clarifying business problems, comparing solution options, and identifying simple and elegant solutions to complex problems, while balancing technical approaches and business viability.
What will you do?
- Contribute to design discussions, execute POCs to research and evaluate solution options, develop solutions and deliver results,
- Provide efficient support and troubleshoot problems both internally and externally,
- Develop awesome, clean, high-quality code and become an expert on various platform components
- Work collaboratively and perform code reviews and design reviews to improve solutions
Essential Skills, Qualification and Experience:
- Experience in mobile application development Android, iOS, or both – we develop native apps,
- Experience in Java and related technologies,
- Development experience with persistence frameworks, such as Hibernate and MyBatis,
- Development experience with database design and technologies, such as DB2, SQL Server, and MySQL.
- Development experience with the operating systems: Linux or Unix
- Strong application of software engineering fundamentals, including data structures, design patterns, testing, and debugging
- Ability to quickly learn new technologies and apply to work
- Excellent verbal and written communication skills, as well as a positive and cooperative attitude
- Bachelor's degree in Engineering, or Computer Science
Nice to Have Skills and Experience:
- Expertise in Java and related technologies: Java, Spring, JMX, JNDI, JDBC,
- Experience with consuming, producing, and designing RESTful web services
- Experience with Build & release management using technologies, such as Hudson and Jenkins
- Experience with solutions utilizing microservices architecture (container and orchestration technology), event streams (message bus, queues), API gateway, and scalable databases – For instance, Kubernetes, Docker, ESB, JMS, Rabbit MQ, Kafka, No SQL databases, Azure API Management,
- Source code management using GIT
- Development experience with IBM i
- Experience in profiling an application to troubleshoot issues, monitoring system performance (CPU, memory, processes, threads, network etc.)
- Experience with test automation platforms, such as Selenium and JUnit
- Development experience with web application containers, such as Tomcat, WebSphere, and Jetty
- Development experience with an OSGi framework, such as Equinox,
- Experience with business processes modeling notation and execution, such as BPMN and BPEL
- Understanding of industry standard products, protocols, processes, methods, and tools.
For more information about TEEMA and to consider other career opportunities, please visit our website at www.teemagroup.com