About Me
Hi, My name is Sophea. I am Cambodian. I'm interested in new technologies and love solving problems using technologies, have a strong interest in AI, Machine Learning, and Deep Learning. Play sport and read the book it's also my habit.
Software Engineer
I've been involved in some projects such as mobile banking, Card Management System, E-Commerce Shopping B2C and B2B platform...
- Birthday: 13th March, 199_
- Website: https://phsophea101.github.io
- Phone: (+855) 98 70 73 2?-?
- Address: Phnom Penh, Cambodia.
- Age: - -
- Degree: Master of Information Technology.
- Email: emailsophea@gmail.com
- Freelance: Available
I just started as a Software Developer in a private company about years ago(started in 2019) and during the time I am switching my career from office support to developer. I also pursuing a master's degree in Information Technology at the University of Puthisastra (graduated since 2021). Before this, I used to work as a Support Officer at a bank. I’ve been worked in the bank industry for about 3 years and haft for office support. and then I've been changing to work in Software development fields until now.
Educational Backgrounds
Here are my educational backgrounds . . .
Learn and Development of Information Technology
2021 - Present
Artificial intelligence, Machine Learning, Deep Learning, Software Developments
Artificial intelligence (AI) and machine learning in software development are changing the way software are developed. These technologies are making it possible for developers to create smarter, more efficient applications.
Data Engineering Bootcamp
2023 - 2023 (8 months)
SabaiCode(hosted by Ezecom, Cellcard and WingBank), Phnom Penh, Cambodia.
Understand useful python libraries for data science such as NumPy and Pandas for efficient data manipulation and analysis. Can clean or fill out the missing value from messing dataset. Identify the features and prepare for model evaluation. Explore many machine learning algorithms and models. Visualization the data to support decision-making.
Hold a Master Degree of Information Technology
2019 - 2021
University of Puthisastra(UP), Phnom Penh, Cambodia.
Within this degree, I've been focusing on Data Visualization, Data Analytics, Data Science. Enables to study in-depth, a range of advanced specializations in an emerging field in Data Science Cloud Computing such as Cloud Infrastructure, DevOps, Security, AI, Machine Learning. Besides building the technical skills, the Master’s program also emphasizes Business skills (Entrepreneurship, Business Intelligence, Business Analytics) and Soft skills (Leadership, Project management).
Short Course Scholarship
2016 - 2017
Korean Software HRD Center(KSHRD), Phnom Penh, Cambodia.
This is a short course and took about 5 months or 800hrs to complete this and focused on Computer Programming, Specific Applications. Learned about Java, Database, and Web technologies. The goal of course is tounderstand the key concepts of the technologies and improve the implementation skills. motivate to practice more by giving homework and assignments, which could help improve the understanding and implementation skills.
Exchange abroad student program
2014 - 2015
Jakarta State Polytechnic(PNJ), Jakarta, Indonesia.
From this program, I've been learned many things from their cultures, language, food, and also spend time studying Information Technology there. Graduates can pursue various career paths in technology-related fields.
Hold a Bachelor degree Of Computer Science
2011 - 2015
National Polytechnic Institute of Cambodia(NPIC), Phnom Penh, Cambodia.
An undergraduate degree program that focuses on the study of computer systems, software development, algorithms, and computing theory. Study subjects such as programming languages, data structures, algorithms, computer architecture, operating systems, databases, software engineering.
Working Experiences
Here are my working experiences . . .
Technical Lead
Wing Bank (Cambodia) Plc, Phnom Penh, Cambodia
Oct 2024 - Present
- Technical Leadership:Direct the technical team on best practices, architectures, and technologies to use for specific projects. Make critical technical decisions related to design, tools, and technologies, ensuring that the chosen solutions align with business goals. Serve as the go-to person for resolving complex technical issues that arise during the project.
- Project Management & Coordination:Work with project managers or Scrum Masters to plan and prioritize tasks for each sprint or project phase. Estimate the time and resources required to complete tasks, ensuring that deadlines are met. Identify technical risks early in the project and implement mitigation strategies. Collaborate with other teams, such as QA, product management, and operations, to ensure successful project delivery.
- Architecture & Design:Lead or contribute to system architecture and design discussions, ensuring that the system is scalable, maintainable, and secure. Establish coding standards and review code to ensure that it meets quality, security, and performance standards. Evaluate and select appropriate technologies, frameworks, and tools based on the project requirements and the team's expertise.
- Mentorship & Team Development:Provide mentorship to junior developers, helping them grow their skills and understand the project's technical context. Foster a culture of continuous learning within the team, and encourage team members to enhance their technical skills. Conduct regular performance reviews and provide constructive feedback to help the team improve.
- Innovation & Improvement:Keep up-to-date with emerging technologies and industry trends, evaluating their potential application to improve existing systems or introduce new capabilities. Continuously seek ways to improve development processes, workflows, and tools to enhance productivity, efficiency, and quality.
Senior Backend Developer
Wing Bank (Cambodia) Plc, Phnom Penh, Cambodia
Jun 2022 - Oct 2024
- Technical Leadership: Design and define the architecture of backend systems, ensuring that they are scalable, modular, and maintainable. This involves creating microservices architectures, designing APIs, and selecting appropriate technologies for the stack. Make critical decisions regarding frameworks, databases, tools, and best practices. Choose the most appropriate solutions for the organization, balancing performance, maintainability, and scalability. Conduct thorough code reviews to ensure high code quality, maintainability, and adherence to coding standards. Enforce best practices, security standards, and architectural guidelines across the team. Provide technical mentorship and guidance to junior and mid-level developers, helping them grow their skills and improve their understanding of complex backend concepts. Take ownership of complex and critical backend components or features, ensuring they are well-designed, implemented, and maintained.
- Advanced Backend Development: Lead the design and development of complex backend services, APIs, and integrations. Work on large-scale distributed systems, ensuring that they can handle high traffic and large volumes of data. Architect and build robust microservices, focusing on separation of concerns, independent deployability, and scalability. Identify performance bottlenecks, analyze profiling data, and optimize critical parts of the codebase to improve response times, reduce latency, and handle increasing loads. Design efficient database schemas, implement advanced querying techniques, and optimize database interactions. Ensure the proper use of SQL and NoSQL databases and design for both consistency and performance. Design and implement solutions for concurrency, parallelism, and multithreading to optimize processing and handle high load scenarios.
- Collaboration and Cross-Functional Coordination: Work closely with front-end developers, product managers, QA engineers, and DevOps teams to deliver end-to-end features. Ensure that the backend services align with the overall system design and business goals. Actively participate in Agile ceremonies like sprint planning, daily stand-ups, and retrospectives. Help break down large technical tasks into smaller, manageable user stories and deliver them iteratively. Communicate complex technical concepts to non-technical stakeholders (e.g., product owners, business leaders) to help them understand trade-offs, risks, and benefits of various design decisions.
- Technical Debt and Maintenance: Continuously evaluate and improve the backend codebase. Refactor legacy systems and code to improve performance, scalability, and maintainability. Identify and manage technical debt to avoid the accumulation of suboptimal code, architecture, and practices that can impede future development. Ensure that the backend systems are maintainable in the long run, with clear documentation, test coverage, and proper separation of concerns.
- Research and Innovation: eep up with the latest trends, tools, and frameworks in the Java ecosystem, cloud technologies, and backend development in general. Propose the adoption of new tools or frameworks that could improve efficiency or performance. Evaluate third-party libraries, tools, and technologies to determine their usefulness and integration into the existing backend systems.
- Business Alignment: Work closely with business teams to understand product requirements and ensure that the backend architecture and services align with business goals. Design backend solutions that can grow with the business, anticipating future needs and scaling infrastructure to accommodate growth in traffic, data, and functionality.
- Debezium: Implemented Debezium embedded for real-time data synchronization to Elasticsearch. Debezium is an open-source distributed platform for change data capture (CDC). It captures row-level changes in databases and makes them available as event streams.
Backend System Developer
Wing Bank (Cambodia) Plc, Phnom Penh, Cambodia
Sep 2020 - Jun 2022
- Backend Development: Write clean, efficient, and maintainable Java code to build robust backend services. Develop RESTful or GraphQL APIs to allow front-end applications (web, mobile, etc.) to interact with the backend system. Design and implement microservices architectures using frameworks like Spring Boot, Spring Cloud, or similar technologies. Implement integrations with third-party services, external APIs, payment gateways, etc. Code the business logic and data manipulation required to meet functional requirements.
- Research and development: Keep up with the latest trends in Java development or backend frameworks. Involved in exploring and studying emerging technologies relevant to the banking industry. This includes staying updated on the latest advancements in backend development, software engineering, and related fields.
- Code Review and Collaboration: Review peers’ code for quality, consistency, performance, and security concerns. Provide feedback and help enforce best practices. Work closely with front-end developers, product managers, and UX/UI designers to ensure the overall system and product meet user requirements and performance expectations. Document backend systems, APIs, and code to ensure future maintainability. Provide API documentation for frontend developers.
- Collaboration with Frontend and Other Teams: Collaborate with frontend developers to design APIs that are easy to consume and meet frontend requirements. Work with product managers, QA, UX/UI teams, and others to ensure alignment on feature requirements and deliverables. Participate in agile practices like sprint planning, daily standups, and retrospectives to deliver features iteratively.
- Database Technologies: Worked with database technologies like SQL (Structured Query Language) for data storage and retrieval. They might have used database management systems such as MySQL, PostgreSQL, or MariaDB. and also for NoSQL such as MongoDB and DocumentDB for performance read and write speeds.
- Testing and Debugging: Used tools and frameworks like JUnit for unit testing, Postman for API testing, and debugging tools for identifying and resolving software issues.
- Version Control: Used version control systems like Git, SVN for source code management and collaboration with other developers.
- Backend Technologies: Utilized backend technologies such as Java, Spring Framework, and PHP, Laravel Framework for developing server-side applications and APIs.
Junior Software Engineer
Mobile C&C Cambodia(MCNC), Phnom Penh, Cambodia
Sep 2019 - Sep 2020
- Mobile Banking 2.0: Involved in implementing a new version of the mobile banking application, which likely included features such as app setting, account management, funds transfer, bill payments, and transaction history.
- Card Management System: Contributed to the development of a card management system. This system could involve functionalities like card issuance, activation, blocking, and monitoring card transactions.
- Enhancements to Existing Projects: Worked on adding new features and functionalities to existing projects. These enhancements could have included improving user experience, optimizing performance, or introducing new capabilities.
- Software Development & Coding:
Senior CCTV Camera Officer
Advanced Bank of Asia(ABA), Phnom Penh, Cambodia
Jan 2018 - Sep 2019
- Supervising CCTV Operations:Lead and manage a team of CCTV officers or operators, ensuring they follow established procedures and protocols for monitoring and reporting incidents. Train new CCTV officers, providing guidance on using surveillance equipment, identifying security threats, and maintaining system operations. Mentor junior staff, offering continuous support and feedback to improve performance. Oversee shift schedules, ensuring that there is adequate coverage at all times, especially in high-risk areas, and that the CCTV monitoring stations are manned 24/7 if required.
- Monitoring & Incident Detection:Monitor live CCTV feeds, ensuring that all cameras are functioning correctly and that the surveillance area is properly covered. Take a proactive role in identifying potential security threats, such as theft, vandalism, or suspicious behavior, and make decisions on whether to escalate the issue to law enforcement or security personnel. In the event of a significant incident (e.g., theft, physical altercation, or emergency situation), the Senior CCTV Officer takes charge of the escalation process, informing relevant authorities and providing clear instructions based on the video footage.
- CCTV System Management:Ensure all CCTV systems are functioning correctly, including cameras, monitors, recording devices, and software. Troubleshoot and resolve issues, and liaise with the technical or IT department when needed for repairs or upgrades. Oversee the installation and upgrading of surveillance systems and equipment to ensure the latest technology is in place. This may involve coordinating with external vendors or contractors for installation or maintenance of new cameras, servers, or monitoring systems. Provide technical guidance and support to the CCTV team on any technical issues related to the cameras, recording systems, or surveillance software.
- Surveillance Reporting & Documentation:Review and verify the incident reports submitted by CCTV officers, ensuring that they are detailed, accurate, and comply with legal and organizational standards. Ensure all incidents are logged into the security system and that reports are filed appropriately. Oversee the storage, retrieval, and preservation of CCTV footage that may be needed as evidence for law enforcement or legal purposes. Ensure footage is retained for the correct period and complies with data protection and privacy laws. Prepare regular security reports for management or law enforcement agencies, summarizing the activities monitored, incidents detected, and actions taken by the CCTV team.
- Reporting to Management:Provide regular updates to senior management on the status of CCTV operations, highlighting any issues with equipment, staffing, or incidents that require attention. Offer data-driven insights based on surveillance findings to suggest improvements in security practices, technologies, or strategies.
- Emergency Response Coordination:Lead or assist in managing emergency situations, such as fires, medical emergencies, or natural disasters, by using CCTV to monitor the situation and direct emergency responders to key locations. Use surveillance systems to monitor the progress of evacuations or emergency procedures, ensuring that areas are cleared efficiently and that all safety protocols are followed.
- Security and Privacy Education:Educate the CCTV team on security threats, emerging trends in surveillance technology, and best practices for monitoring, data management, and incident reporting. Provide guidance on how to protect CCTV systems from cyber threats, such as hacking or unauthorized access to video feeds or stored footage.
CCTV Camera Officer
Advanced Bank of Asia(ABA), Phnom Penh, Cambodia
Apr 2016 - Jan 2018
- Monitoring CCTV Systems:Actively monitor live CCTV footage from various cameras installed on the premises to detect any suspicious activity, security breaches, or safety concerns. Operate and maintain the CCTV cameras and related equipment, including video recorders, screens, and other security systems. Respond to alarm triggers (e.g., motion detection, unauthorized access) and assess the situation through video feeds to determine whether to escalate or take action.
- Recording and Reviewing Footage:Ensure that footage is continuously recorded and stored according to organizational policies and legal requirements. This could include storing video files for specific periods for future review or legal purposes. Review recorded footage when requested, such as for incident investigations, claims, or legal purposes. This may involve identifying specific time frames, individuals, or activities. Accurately document any security incidents or suspicious activity observed in the CCTV footage, creating detailed logs that can be referenced later by security or law enforcement.
- Incident Detection & Reporting:Look out for activities like theft, vandalism, trespassing, violence, or safety hazards, and respond appropriately by alerting security personnel or law enforcement. Prepare detailed incident reports, including time stamps, camera footage, and descriptions of events that have been captured. This documentation can be used as evidence in investigations or court cases. If an emergency situation arises, the CCTV Officer must immediately escalate the situation to security staff or law enforcement, providing critical details to help respond quickly.
- Coordinating with Security Teams:Communicate regularly with on-site security officers or law enforcement, relaying information from the CCTV system that may assist in resolving a security threat or emergency situation. Assist patrolling security personnel by guiding them to areas of concern identified from the CCTV feeds, helping to ensure timely intervention.
- Maintenance of CCTV Systems:Regularly check the functionality of CCTV cameras, ensuring they are operational and positioned correctly to capture comprehensive coverage of the area. Identify and report any malfunctions or technical issues with the CCTV system, such as broken cameras, faulty wiring, or problems with the video storage system. Liaise with technical support or IT departments to arrange for repairs or replacements. Occasionally assist with or coordinate the installation of new cameras, monitors, or software updates to improve surveillance capabilities.
- Data Management & Privacy:Ensure that all video footage is stored securely and in compliance with data protection regulations (e.g., GDPR, HIPAA). This includes limiting access to recorded footage to authorized personnel only. Adhere to retention policies by ensuring footage is deleted or archived as required by the organization or local laws. Ensure that access to CCTV equipment and footage is restricted to authorized personnel, maintaining the integrity and confidentiality of the system.
- Customer Service & Public Interaction:In some environments, CCTV Officers may also be responsible for helping customers or staff by providing information or responding to inquiries related to security or incidents. Sometimes, they may play a role in educating the public or employees about security policies or procedures related to CCTV surveillance.
- Emergency Response:In the event of emergencies like fire, medical incidents, or evacuations, assist by monitoring the CCTV footage to help coordinate responses and direct emergency personnel to the right locations. In environments like shopping malls or stadiums, assist in monitoring crowd activity and ensuring that crowd behavior remains safe, especially in emergency situations.
Computer Teacher
2013 - 2014
Adullam Center(WD), Phnom Penh, Cambodia
- Computer Fundamentals: Introduce students to the basic components of a computer, such as hardware (monitor, keyboard, mouse, CPU, etc.) and software (operating systems, applications).
- Operating Systems: Teach students how to use common operating systems like Windows, macOS, or Linux, including basic functions like file management, folder organization, and system settings.
- Word Processing: Provide instruction on software like Microsoft Word or Google Docs. Teach students how to create, format, save, and print documents, as well as use features like spell check, inserting images, tables, and page layouts.
- Spreadsheet Basics: Teach students how to use spreadsheet software such as Microsoft Excel or Google Sheets. Cover topics like creating tables, entering data, using basic formulas, and organizing data with simple functions (SUM, AVERAGE, etc.).
- Presentations: Instruct students on how to create basic presentations using tools like Microsoft PowerPoint or Google Slides. Teach them how to create slides, insert text, images, charts, transitions, and animations.
- Internet and Email: Teach students how to browse the web using search engines, evaluate websites for reliability, and practice good online safety and security. Show how to send and receive emails, attach files, and manage an inbox.
- Basic Troubleshooting: Provide students with basic troubleshooting techniques for common computer issues, such as system freezes, slow performance, or printer problems.
My Skills
There are some skills that I've been working on, learning, and also researching . . .
Application Frameworks
A framework, or software framework, is a platform for developing software applications. It provides a foundation on which software developers can build programs for a specific platform.
Spring Framework
Level up your Java code and explore what Spring can do for you. ... Frameworks for fast, secure, and responsive web applications connected to any data store.
Laravel Framework
Laravel is a web application framework with expressive, elegant syntax. We've already laid the foundation — freeing you to create without sweating the small ...
Ionic Framework
Ionic is the app development platform for web developers. ... all best frontend frameworks, including Angular, React, Vue, or even no framework at all with vanilla ...
Angular
Angular is a TypeScript-based open-source web application framework led by the Angular Team at Google and by a community of individuals and corporations. Angular is a complete rewrite from the same team that built AngularJS.
Bootstrap
The most popular HTML, CSS, and JS library in the world. Bootstrap is a free and open-source CSS framework directed at responsive, mobile-first front-end web development. It contains CSS- and JavaScript-based design templates for typography, forms, buttons, navigation, and other interface components.
Semantic Ui
Semantic is a development framework that helps create beautiful, responsive layouts using human-friendly HTML. Semantic UI treats words and classes as exchangeable concepts. Classes use syntax from natural languages like noun/modifier relationships, word order, and plurality to link concepts intuitively.
Contact Me
Location:
Phum Chres Thmey, Sangkat Kouk Roka, Khan Prek Pnov, Phnom Penh, Cambodia.
Email:
emailsophea@gmail.com
Call:
(+855) 98 70 73 2?-?