Clickatell is a world-class Chat Commerce company, ambitious to stay ahead of its competitors. We build our own culture in which we dream big and stay busy doing the right things. We need people who can understand the bigger picture and who connect the dots to achieve success. In our agile and demanding environment, you will have to ask the right questions and take the smart risk.
We are recruiting to fill the position below:
Job Title: Senior Software Developer
Location: Lagos
Purpose
We are seeking a Software Developer (Java) to join our Champion team focused on disrupting a $50B+ market.
This role is deemed essential to our growth and focused on software development on our Interact Product.
We Do The Right Things
Responsibilities of the Role
Work with an awesome geographically distributed team of developers and product designers to implement the next generation of products and/or features
Work independently and collaborate on projects developing applications/features from scratch
Build applications that can scale (millions of transactions/requests per day)
Develop highly maintainable software iteratively and deliver working code with each iteration,including authoring relevant documentation and test cases
Apply best software development practices to coding software solutions
Be responsible for:
implementing, debugging, and testing of new product features, or enhancements on existing features, or assisting customers and vendors with implementing and troubleshooting end-to-end solutions
Implementing a test-driven development using unit and integration tests in an agile environment
sustaining implemented features once delivered into production through maintenance and support
Accurate and detailed documentation of relevant design artefacts (use cases, user stories, sequence diagrams etc)
Working closely with key stakeholders particularly with team leads and software managers
Partake in architecture discussions, design recommendations and implementations
Adhere to policies and standards as applied by the team and directed by the reporting manager
Participate in supporting production releases as needed
Coach and mentor software developers and other roles within the team to improve knowledge, skill and capability
We Are on A Learning Journey
Requirements of the Role:
For success in this role, the following are some desirable technical requirements:
Strong development & debugging experience with Java 8 or Java 11 & Spring Boot based microservices
Experience with MySQL, Postgres
Experience writing unit tests with Mockito, Spring Boot
Experience with source code management tools such as Git, GitLab, etc
Experience with log monitoring tools such as Elastic, Kibana, GrayLog, etc
Experience with dependency management tool such as Maven/Gradle
Package management tools such as NPM
To excel in this role, following are some nice-to-have technical requirements:
Experience working in a full stack capacity with AngularJS
Knowledge of RxJS
Experience with Containerization & Orchestration frameworks including Docker, Kubernetes
Experience with AWS or other cloud platforms
Experience with NoSQL databases such as MongoDB
Experience working with event driven architecture including Kafka, Event Bus
Experience with DataDog for metric monitoring
Bonus points for experience working with WebSockets (industry standard for real-time applications)
Bonus points for experience working with other JVM based languages such as Kotlin
Active participation in code and design reviews
Computer Science Degree or equivalent diploma from a reputable school (or 8+ years relevant experience if no degree)
Proven track record of working in relevant roles for 5 years or more
Proven industry experience in Financial or banking, or telecommunications an advantage
Experience working in an Agile methodology an advantage
Experience working with other integrated applications within the Clickatell ecosystem or 3rd party systems
Strong communication skills with a team player attitude
A Bit About You: Tactical
Behavioral competency requirements of a Pacesetter:
Cultivating Talent: Actively drives the development of skills and strengths within the team, and recognizes achievements. Coaches the team on procedures, technical issues and priorities. Leads and contributes to a positive team environment with open communication and clear goals. Listens to team members' feedback and resolves any issues or conflicts.
Managing Resources: Manages resources optimally by making the right decisions that impacts how resources are used and for what benefit. Accurately estimates, forecast, projects, and monitors available levels of relevant resources and makes the right calls.
Expert Exchanges: Seeks and communicates insights. Acts as access point for information within their team and throughout the organization, and ensures sharing of key learnings. Prepares and presents reports, and updates advising on performance and capacity.
Risk Mitigation: Resolves problems that are relatively complex and drives decision-making processes. Systematically processes key factors when resolving conflict, managing risk, ensuring compliance and addressing quality concerns.
Foster Teamwork: Builds relationships and influentially engages across teams to elevate performance. Facilitates brainstorming that delivers the best solutions. Encourages an inclusive culture where voices are heard and being open-minded is valued.
Emotions and Performance: Puts effort into managing the link between emotions and performance that helps others do their best work by increasing self-awareness and reducing blind spots. Fosters a safe environment where others feel comfortable to take smart risks and build relationships.
Drive Execution: Develops tactical plans that support the strategy and plans the detail of theprojects, activities, and resources to deliver the goal.
Coordinating Activity: Develops and manages processes conceptually and technically. Plans, monitors work, and accurately reads situations to course correct and ensure expectations are met.
Navigating Change: Delivers change by bringing the team together, aligning their work and navigating them through the process. Stays on track by being optimistic and focusing on what is in their control. Executes by getting the right things done by the right people to deliver results.
Driving Performance: Relentlessly reviews dashboards, systems, KPIs, procedures, and processes, and drives the team's performance to incrementally improve results. Ensures processes are effective while aligning to best practice and increasing value.