Application Solution Architect
CurrentTeam lead for software development team.Analyze business requirements to design and develop software solutions that meet functional and non-functional requirements of company projects.Determine and create the overall design of the software system, including the high-level structure, components, modules, and interfaces.Make decision and choose the most appropriate technology solutions for the projects.Works closely with product director, project managers, other development team members, firmware team, test team, product team to ensure that the design is translated into a working software system.Identify potential risks in the software development process and implement mitigation strategies to minimize the impact of these risks.Involve in software implementation process with various programming languages, tools and development environments.Setup and configure servers and various services required for the final proucts.Language & tools : C/C++, C++11, Python, DotNET, Visual Studio, QT, QML, MinGW, CodeLite, QT Creator, Xamarin, NodeJSNetwork tools : zeromq socket programming, reverse proxy, POCO, QT network toolsOS : Windows, LinuxProjects: - Desktop application that controls SSD through custom firmware. - Remote control software (client and server) through socket/network programming to setup, configure, control customized SSDs remotely.- Reverse proxy and SSH tunneling.- ASP dotNET Web API, NodeJS front-end.- Designed the customized C++ SDK and connected to C#, Web API, Python, dotNET, etc.