· Participate in requirements analysis · Collaborate with internal teams to produce software design and architecture · Write clean, scalable code using .NET programming languages · Test and deploy applications and systems · Revise, update, refactor and debug code · Improve existing software · Develop documentation throughout the software development life cycle (SDLC) · Serve as an expert on applications and provide technical support