● Write technical and developer documentation for new and existing applications ● Develop APIs and applications ● Design highly scalable, testable code ● Solve complex performance problems and architectural challenges ● Perform unit and system-level testing using various testing frameworks ● Analyze and maintain existing software applications