My experience focused on Microsoft technologies for desktop applications, starting with C++ with MFC and evolving to Windows Forms and WPF (C#). Visual Studio, Visual Source Safe and Team Foundation Server have been my main tools.I am experienced in:• Requirements analysis• Software development planning and Team coordination/leading in both V-model and iterative (Agile) developments• Software development for desktop application including relational databases• Architectural design for desktop application: object oriented design, model-view and model-view-view model architectures.• Relational database schema design (ORACLE)• Software configuration management• Customer support I worked on a very long life product: the main challenges I faced in managing this kind of application are:- integration of different technologies- incremental design of both user interface, domain data, and persistence (database entities)- ensuring data and user procedures backward compatibility and consistency when new functions are developed- guarantee appropriate source and configuration control to manage software evolutionMy main rules as team coordinator are:- Get the team involved in discussions about requirements analysis, architectural decision, etc. because:o Team members can have good ideas (trust them)o To improve team member commitment they should feel their contribution is importanto If all team members have a broad vision of the product they better understand what they are doing reducing the probability of misunderstandings and increasing interchangeability- Avoid or at least mitigate conflicts between team members- Always be collaborative
Listed skills include Object Oriented Design, Software Design, Software Engineering, Visual Studio, and 20 others.