Software Engineer (Freelance)
Scientific Software Consultancy & Training
Total des années d'expérience :14 years, 4 Mois
• Collaborate with scientific researchers on multiple projects that require expert software engineering experience in the image processing and analysis field
• Research new and innovative methods to analyze images and videos to reach goals set by researchers
• Engineer plugins for Fiji (http://fiji.sc) that will provide batch processing and analysis of images as well as automate long and tedious tasks, all encompassed in a high quality user interfaced plugin specially crafted for scientific research use
• Share and communicate information in a structure and organized fashion to enhance the quality and involvement of collaboration between researchers and other concerned parties
Projects:
• HTPPs and Open-Source Image Processing Tools for Maize Foliar Disease Assessments
• My role is to provide expertise in the development of open-source image processing and analysis plugins to aid their research. Research innovative methodologies to process and analyze large batches of images
• Analyzing Visually Evoked Chromatophore Surface Area Changes
• My role is to provide software development expertise in tracking and measuring of chromatophore spots from a video stream. The software is to be an open-source plugin running in the Fiji (http://fiji.sc) software suite to aid the researcher in the processing and analysis of the videos. Provides a lot of customized functions and automation that would take a very long time to perform manually
• Wheat Head Counting
• My role is to provide research into finding out some innovative ways to count wheat heads in images. Various methodologies such as template matching, particle analysis and trainable wekka segmentation classification are just a few of the approaches researched in collaboration with the head researcher
Director of Engineering at Postlight Lebanon.
- Build a development Center of Excellence in Group IT
- Lead 2 microservice development teams consisting of senior full stack developers
- Participate in platform architecture design and decision making
- Evaluate products and engage in potential partnerships, closely work with legal and governance team
- Scrum master for microservice and iOS development sprints
- Hold ownership of the software development stream
- Provide leadership in the design, development of RESTful APIs and maintain standards across dev teams
- Provide continuous integration and delivery pipelines to data science, infrastructure and development groups
Key Achievements:
- Zawya API
Design a unified API solution that will allow internal and external products to query Zawya data via the apigee platform
- Zawya Eikon Web-App
Provide a leading technical role for backend server development in a team of 10+ developers to re-develop Zawya’s Islamic Finance and Market Data business products on Thomson Reuter’s Eikon platform. Develop on the Eikon frontend application using core Web 2.0 technologies
- Coherence Cache Grid Data Layer
Design and maintain the distributed coherence cache cluster serving as a fast access data layer on top of our Oracle databases
- Lipper Funds Integration
Lead a small team to design a fully automated ETL application to fetch Lipper data from Thomson Reuters SDI feeds and integrate it into Zawya’s database conforming to their data model. Test driven development approach used to provide a robust, modular and scalable foundation that emphasizes re-usability and maintainability.
- Zawya Market Data
Lead an initiative to re-design and implement a real-time 24/7 server to stream live market data from Reuters RFA technology to Zawya business products. Highly asynchronous and parallel design implementation to handle live streaming load per the network specs.
- Software Development Quality
Review and assess the quality of our Spring MVC based Zawya Arabic website by meticulously reviewing the code base and development process to identify bugs, design flaws and best practice violations. Write up full analysis and code audit report to identify issues and propose solutions and comparison of quality and cost metrics for management consideration and approval.
- Big Data Research and Development
Integrated very large content sets of data from various Thomson Reuters and Zawya data sources into one consolidated “Big Data” source. Create a scoring system based on connecting relevant data together and accessible via an API.
- Responsibilities:
- Manage a small team to complete project milestones according to deadlines
- Design and develop quality software for real-time 24/7 usage
- Manage, update and secure Linux servers used in a production environment
- Write technical and user documentation of projects
- Provide support for IT operations on deployed real-time 24/7 applications
- Coordinate with Information Security unit with vulnerability testing
- Key Achievements:
- eBLOM Mobile Internet Banking Web Application (www.blombank.mobi)
• Design and implementation from scratch with integration to core banking systems
• Solution setup and maintained on highly available Tomcat servers
• Web application built completely using Java Servlets, GWT and JavaScript
- Online Card Fraud Monitoring System
• Real-time 24/7 and mission critical system design for high-speed heuristics scanning
• Multi-tier Java server architecture to integrate core banking layer with modern high-speed systems
• Use of ActiveMQ enterprise messaging system for client/server communications
• Highly available setup with redundant asynchronous components to minimize single points of failure
- Real time Base24 event monitoring system
• Custom made Apache log4j JMS MQ Appender installed on HP Tandem Base24 system
• Asynchronous streaming of ATM/Banking events to online 24/7 monitoring console
• Rule based event driven triggers with thresholds to notify staff of possible issues
- Fax Over IP (FOIP) systems
• Fax-to-Email / Email-to-Fax solution setup using HylaFAX+
• Customization of solution and debugging of T.30 + T.31 transmissions
- Responsibilities:
• Lead a team of developers to design, developed and deliver software projects
• Deliver project milestones on time
• Perform complete Software Development Life Cycle (SDLC)
• Gather requirements from stake holders
• Develop code and conduct quality assurance
• Train and mentor team members
- Key Achievements:
• Fully Integrated Point of Sale Solution with Back-office
• ActiveMQ Messaging communication, serial device integration
• Touch screen optimized Swing components for speed on lightweight machines
• Test driven development with focus on JUnit tests
Functional and technical analysis and estimates for product features
Realization of product features and modules using a variety of web and core Java
technologies including Java, JavaScript, DHTML, CSS and XML and according
to Element^n product development best practices and internal standards
Interface with QA department, providing detailed product knowledge and technical assistance as needed to facilitate QA activities
To ensure a broad knowledge of how the core Autoforms platform supports project activities, periodically participate in professional service projects performing analysis and realization of web CMS applications using Element^n products, including Autoforms and Autoforms Portal, and various other tools such as Tomcat, Velocity templates, (D)HTML, JavaScript, SQL, etc
Work with clients and internal stakeholders to identify project and product business requirements as necessary
Provide solutions and solve problems using software
Design, implement and manage software projects
Design, build and maintain Linux servers
Conduct research and open-source development
Plan presentations and workshops for projects to managers
Provide free/open-source alternatives to commercial software
Data Integration (DB2, MySQL, Derby)
Systems Integration (Windows, Linux, AS400)
Combined degree of computer science and history.