API Developer
API Developers power the digital revolution
Learn more about joining the API development team at Near BPO.
Educational Requirements
Bachelors: Engineering or Computer Science / Physics / Mathematics / Applied Mathematics
Languages: Conversational and Technical English
Experience Requirements
The following requirements will be evaluated during the interview.
The items in red could be tested during the interview.
The items in black will be closely evaluated and you must have recent experience and use (less than 3 months since last use).
Development in Linux
Be able to define session variables, environment variable, and global environment variable
Be fluent with curl command
Be fluent with ssh command
Be fluent with scp command
Be fluent with either rsync or rcp command
Be fluent with commands find, grep, sed, cat, touch, head, tail, tar, chmod, chown, wget, zip, unzip, alias, ps, kill, and echo
Understand and use of linux pipe and redirect capabilities
Understand and describe the behavior of a process and sub-process and how it affects pipes
Be fluent in bash shell
Create scripts using bash programing
HTTP Protocol
Understand the differences between HTTP 1.0 and HTTP 1.1
Understand HTTP Headers and their usage
Understand HTTP Methods/Verbs and their common usage
Fully understand how HTTP request and response is conformed.
Understand how caching works at both sides client and server and what HTTP headers are commonly used
Web Services development
Understand Web Service Definition Language (WSDL) documents
Defining openapi specifications using swagger 2.0 and 3.0
Node.js development
Develop Node.js applications using express
Integration test with cucumber.js
Implement test cases using Selenium
Implement unit tests using mockito, chai, sinon
Java development
Implement unit test using TestNG
Build a Java application using maven strictly through command line
Deep knowledge in Java Object Oriented Programing features:
Inheritance
Overloading
Encapsulation
Polymorphism
Abstraction
Strong knowledge for:
Coupling
Cohesion
Association
Aggregation
Composition
Create REST services using Spring RestTemplate
Interact with SQL databases using Spring Jdbc Templates
Maven builds
Create a maven project from scratch
Deep understanding of maven goals
Deep understanding of maven phases
Deep understanding of how maven plugins work. Plugin creation is a plus
Deep understanding of how maven profiles work
Be able to define a maven profile in a maven project
Be able to describe end-to-end the build lifecycle of a maven project given its goals, phases, and profiles
Understand and create a maven project using a Project Inheritance strategy
Understand and create a maven project using a Project Aggregation strategy
Execute a maven build strictly from command line by indicating properties, goals, phases, and plugins as required
Be able to publish artifacts to a maven repository