EasyPost is a YC unicorn founded in 2012, aiming to simplify shipping for businesses of all sizes. The Software Engineer III will design, develop, and maintain high-quality software solutions, collaborating with cross-functional teams to deliver scalable products that meet customer needs.
Responsibilities:
- Design, code, test, and debug software applications in accordance with established coding standards and best practices. Develop both front-end and back-end components, ensuring optimal performance, scalability, and security
- Collaborate with product managers, designers, and other stakeholders to translate business requirements into technical specifications and architectural designs. Provide input on feasibility and technical approaches for implementing new features and improvements
- Participate in code reviews to maintain code quality, ensure consistency, and share knowledge among team members. Offer constructive feedback and suggestions to enhance codebase integrity
- Identify and troubleshoot software defects and issues, employing analytical thinking and problem-solving skills to develop efficient and effective solutions
- Create and maintain clear and comprehensive technical documentation, including system architecture, design documents, and user guides. Communicate technical concepts to both technical and non-technical team members
- Work closely with cross-functional teams to ensure seamless integration of software components and successful product releases
- Stay up-to-date with industry trends, emerging technologies, and best practices in software development. Propose and implement process improvements to enhance development efficiency and product quality
- Develop and execute unit tests, integration tests, and performance tests to validate software functionality and reliability. Implement automated testing frameworks to streamline the testing process
- Utilize version control systems to manage and track changes to source code. Collaborate effectively within a distributed version control environment
Requirements:
- Bachelor's degree
- 3-5+ years of professional software development experience
- Proven experience in software development, including designing, coding, testing, and debugging applications
- Proficiency in programming languages such as Java, Python, C++, or similar languages
- Familiarity with software development methodologies (Agile, Scrum, etc.) and tools (JIRA, Confluence, etc.)
- Strong understanding of data structures, algorithms, and object-oriented design principles
- Experience with front-end and/or back-end frameworks and technologies (e.g., React, Angular, Node.js, Spring, Django, etc.)
- Knowledge of database systems (SQL, NoSQL) and data modeling concepts
- Excellent problem-solving skills and a detail-oriented mindset
- Effective communication skills, both written and verbal