Dear Sir / Madam Thank you for the opportunity to submit my CV. 60 Killarney Street Oakdale Bellville 7530 072 336 4924 info@webtopia.co.za 2 November 2015 I started programming at the age of 14, and won a national award in the same year. Today I am a senior ASP.Net and Java EE Developer and with strong experience in the Microsoft and Java technology stacks. I manage the full software development lifecycle (SDLC): Gathering business requirements Drawing up / grooming specification documents Sprint planning and review (Agile methodology) Implementation / Programming Automated builds, Unit testing and Integration testing Deployments to development, UAT and production environments Monitoring and bug reporting For Microsoft based solutions, I follow best practice coding standards in the form of the.net Framework Design Guidelines as documented on MSDN. Any developer who is familiar with the.net framework itself, will be comfortable with the code conventions in the delivered codebase. I focus on developing robust software by adhering to the SOLID principles: Single Responsibility Principle Open / Closed Principle Liskov Substitution Principle Interface Segregation Principle Dependency Inversion Principle I use the most common Design Patterns to make code more readable and maintainable. I use the best available refactoring and code quality tools, and have a professional and systematic approach to everything I do. I'm a freelance developer. Let's set up a meeting. I know I can help you. Respectfully yours, Morné Fourie If you think hiring a professional is expensive, wait til you see what an amateur costs you 1
Personal Information Full name: Morné Fourie Date of birth: 24 January 1974 Nationality: South African Languages: English (Good) Afrikaans (Dis my taal) Telephone: E-mail: Website: French (Un petit peu) 072 336 4924 (cell) info@webtopia.co.za www.webtopia.co.za Frameworks and Technologies C# / ASP.Net Entity Framework ASP.net Web Forms ASP.net MVC Framework StructureMap IoC Container NUnit / xunit / MS Test Log4Net and many more WCF / SOAP / REST Web API Active Directory Integration Java Spring MVC Spring IoC Container SOAP / REST Web Services JSP JPA / Hibernate JUnit Log4J Vaadin Grails LDAP / Active Directory UI HTML5 CSS3 Javascript JQuery Bootstrap Responsive Design Tools Source control Git / Subversion servers Sourcetree Continuous Integration (CI) / Build environment Jenkins / Hudson server (both Java and.net builds) Maven / NuGet Sonatype Nexus server Project Management / Agile Jira Agile (Scrum) Jira Capture (Bug reporting) Confluence (Wiki) Test tools Selenium Monitoring PRTG Network Monitor IDE Visual Studio Professional 2015 Intelli-J IDEA NetBeans Eclipse SQL Server Management Studio (SSMS) SQL Server Integration Services (SSIS) SQL Server Reporting Services (SSRS) Talend Data Integration MySQL Workbench Pervasive Control Center (Pastel Partner database) MS Access Stimulsoft Reports Designer (Java and.net) If you think hiring a professional is expensive, wait til you see what an amateur costs you 2
Technical skills SQL Database design Very proficient in T-SQL Migration scripts for upgrades Views Stored Procedures Functions Replication ETL (Extract Transform Load) Setup and monitor SQL jobs Design and maintain reports Scheduled backups (onsite and offsite) Optimisation / Indexing Java Hibernate / JPA JSP / Spring MVC / HTML5 / CSS3 / JQuery (UI) Vaadin (UI) Web Services (serve and consume SOAP, REST, JSON, XML) Activiti Workflow Engine (BPMN) Object Oriented Design N-Tier Design Test Driven Development LDAP / Active Directory integration.net EF6 Database First Design Linq ro SQL Web Services (serve and consume WCF, SOAP, REST, JSON, XML) ASP.net Web Forms / HTML5 / CSS3 / JQuery ASP.Net MVC / HTML / CSS / JQuery C#, VB,.NET 2.0, 3.5, 4.0, 4.5 Object Oriented Design N-Tier Design Test Driven Development Active Directory integration Financial APIs Pastel Partner (designed my own API) Pastel Payroll (designed my own API) Sage Evolution SDK SagePay (Netcash) Debit Orders SagePay (Netcash) Payment Gateway MyGate Payment Gateway Absa Host-to-Host service FNB SFTP service Infrastructure Windows Server 2003 / 2008 / 2012 Active Directory Office365 DNS VPN Hyper-V Solaris VirtualBox Soft skills Soft skills Project management Good communicator Problem solver Mentoring If you think hiring a professional is expensive, wait til you see what an amateur costs you 3
Experience Software development lifecycle (SDLC) Gathering business requirements Drawing up specification documents Sprint planning (Agile methodology) Implementation / Programming Testing Deployments to development, staging and production environments Monitoring and assigning bugs Database Administration (DBA) Project Management Database (SQL Server 2005-2014) New installations and upgrades Data replication between sites Configuration and monitoring of jobs Implementation of ETL processes (SSIS and Talend) Report design (local reports and SSRS) Automated SQL Server backup strategies Views, Stored Procedures, Functions Design and maintain data stores for reporting Many data migrations Operating Systems / Infrastructure Configuring and maintaining Windows Servers (2003, 2008, 2012) Configuring virtual machines via Hyper-V and Oracle VirtualBox Setting up Active Directory and domain-wide Group Policies Configuring and maintaining IIS and Tomcat with multiple websites and FTP access Configuring Sharepoint services Configuring various web-based tools on Ubuntu servers Software development The development and support of Synergy, an in-house billing system Integration between Synergy and Pastel Partner, Pastel Evolution, Pastel Payroll, Fraxion, Netcash (SagePay), ABSA, Smart Software and the public facing website. Implementing E-commerce solutions via Netcash and various shopping carts Networking Configuring WANs across Diginet, ADSL and 3G Configuring firewalls and VPNs across WANs Implementing multi-site network monitoring with pro-active email and SMS notifications Configuring and monitoring various network devices, including printers, routers and wireless access points. Hardware Configuring and maintaining blade servers (IBM, HP, Sun, Dell) Setting up RAID configurations Deploying thin-client solutions (Revnetek, Artec and Oracle SunRays) Setting up server cabinets (servers, switches, power) Implementing multi-site hardware monitoring with pro-active email and SMS notifications If you think hiring a professional is expensive, wait til you see what an amateur costs you 4
History School I became a programmer at the age of 14, when I won 3 rd place at South Africa s National Computer Olympiad. I realised that I was a natural and continued exploring the world of programming by taking Computer Science as an extra school subject. Tertiary Qualification In 2006 I received my National Certificate in Datametrics through Unisa. My studies centred around systems analysis and various design methodologies. I use UML, Use Case, Flow Control, Timelines and other diagrams in my technical documents. Windows-based development I started out my Windows development career designing and implementing a multi-user CRM in Delphi and Access. Later I translated much of the Delphi code to C# (WinForms). Currently I am working on a multi-user middleware application (Synergy) for a listed company to integrate between Pastel and their existing school admin systems. It facilitates enrolments, invoicing and reporting over a multi-site architecture. Web development I have been doing web development since 1998, starting out with an open source CMS called Post-Nuke, where I gained experience in the LAMP stack (Linux, Apache, MySQL and PHP). Shortly after I started focussing on the Microsoft technology stack, starting with Classic ASP, where I specialised in customizing open source shopping carts and integrating them with various South African payment gateways. Since 2005, I focussed exclusively on ASP.Net and SQL Server. Most of my code is in C#, but I am also well versed in VB.Net. I follow best practice n-tier design in my architecture. I am also very proficient in T-SQL. My exposure to financial systems started when I was asked to implement real-time integrations with Pastel Partner and Sage Evolution. My billing engine generates more than 30000 accurate invoices per month. It also synchronises customer and supplier data between systems. Then the GL is kept in sync with an in-house Budget Management application, as well as a 3 rd party Spend Management platform. Graphic design and CSS skills are strong points in my front-end designs. I found that appearance makes all the difference. Later I adopted several Java EE frameworks, including Spring, Hibernate and Service Oriented Architecture. In a strange way exposure to Java also improved my.net skills. Today I am a true polyglot. Database development For the last 4 years I have been responsible for the company-wide data distribution strategy and implementation. We use SQL Server Merge Replication to maintain pairs of synchronised database copies between 33 schools throughout South Africa. The sites benefit from local data access speeds in spite of sometimes having only 3G connectivity to Head Office. If you think hiring a professional is expensive, wait til you see what an amateur costs you 5
Academic Information Tertiary UNISA - University Certificate in Datametrics 2003 to 2004 Subjects included: Formal Logic Business Information Systems Systems Analysis and Design Methods Practical Programming Data Structures OO concepts Mathematics Supplementary Courses / Certifications 2000 Microsoft Certified Systems Engineer (MCSE) 2002 Delphi 6 and Oracle 8 Course Secondary - Zwaanswyk High School - Matric 1992 Subjects: Afrikaans 1st language HG C English 2nd language HG B Mathematics HG C Physical Science HG D Accounting SG A Woodworking SG C References References available on request If you think hiring a professional is expensive, wait til you see what an amateur costs you 6