Meeting with the software development team to define the scope and scale of software projects.Designing software system architecture.Completing data structures and design patterns.Designing and implementing scalable web services, applications, and APIs.Developing and maintaining internal software tools.Writing low-level and high-level code.Troubleshooting and bug fixing.Identifying bottlenecks and improving software efficiency.Collaborating with the design team on developing micro-services.Writing technical documents.Good communication skills.High-level project management skills.