Determine and identify high-level functional and technical requirements on the basis of interactions with the user community and knowledge of enterprise architecture. Design architectures, including the software, hardware and communications to support the total requirements, as well as to provide for present and future cross-functional requirements and interfaces. Interact with project management to plan project schedules and technical direction. Provide quality assurance review and the evaluation of existing and new software products.
Develop high-level system design diagrams for program design, coding, testing, debugging and documentation. Develop and implement moderate to complex web applications on one or more platforms.
Has mentored junior software developers on design patterns, development best practices, and DevOps trade-offs
1. Bachelor's Degree in an appropriate field of study or equivalent work experience.
2. Understand emerging web and mobile development models.
3. Experienced with all ancillary technologies necessary for Internet applications: HTTP, TCP/IP, POP/SMTP, etc.
4. High scalability projects involving cloud-based infrastructure design and implementation
5. Working knowledge of object-oriented design and development skills.
6. Successful track record of developing quality software products and shipping production-ready software.
7. Good understanding of Web Services protocols such as REST, SOAP and API design for extensibility and portability.
8. Experience debugging distributed systems with high data loads.
9. Deep understanding of the distributed data model.
10. Solid understanding of the Software as a Service (SaaS) model in the online environment.
11. Design, develop and implement unit and scenario testing for existing code base and for new functionality under development.
12. Experience with Scrum/Agile development methodologies.
- Java/JEE, Spring, Basic DBMS(SQL)
- Python 3
- Software Design patterns: OOP, Factory
- Queueing - RabbitMQ,Reddis
13. Ability to use version control software such as GIT and SVN
14. Experience as an applications programmer on large-scale database management systems.
15. Experience writing SQL queries for SQL Server or another Relational Database is required
16. Knowledge of computer equipment and ability to develop complex software to satisfy design objectives.
Senior Software Developer top skills & proficiencies:
- Analyze User Needs
- Analytical Thinking
- Comfortable Writing and Analyzing SQL Queries.
- Critical Thinking
- Document Application Process
- Programming Experience
- Attention to Detail
- Backend Development