Bespoke software development
LAMP stack (PHP, MySQL, Linux)
DevOps: Chef, Vagrant, Ansible
Tools: Jenkins, Bamboo
I used to plan and execute set of set of small/medium size projects done by web solutions department of bigger software development company. Lot of my efforts were spent on work coordination of the software developers team, help in building solution architecture, work breakdown structure and estimates, proceeding with implementation.
Project architecture selection, evaluating alternatives.
Number of different projects implemented in set of technologies. More details on request.
I was involved as a junior developer into number of commercial projects developed at that moment. Business area: healthcare.
Publication/Publisher: CodeProject, Date: October 9, 2013
Brief: As a contractor software developer I am asked from time to time to perform audit of LAMP projects. As project configuration is different, I use so-called "umbrella repository environment" which allows me to wrap such projects into reusable vagrant environment without need to amend audited projects codebase itself. More...
Publication/Publisher: CodeProject, Date: November 5, 2015
Brief: Nowadays continious integration is the important part of the agile software development life cycle. There is a number of tools on the market: Atlassian Bamboo, Jenkins, Jetbrains TeamCity. In my opinion Jenkins has the most optimal product community and set of really useful plugins that suits most of your software projects: you can build software, deploy software, websites, portals to various places, including AWS, DigitalOcean, bare metal servers or to run unit tests. It can be integrated with communication tools of your choice, like Slack, HipChat or email. More...
Publication/Publisher: CodeProject, Date: November 16, 2015
Publication/Publisher: CodeProject, Date: January 5, 2013
Brief: "Don’t Check Passwords into Source Control or Hard-Code Them in Your Application Operations staff will remove your eyes with a spoon if they catch you doing this. Don’t give them the pleasure. Passwords should always be entered by the user performing the deployment. There are several acceptable ways to handle authentication for a multilayer system. You could use certificates, a directory service, or a single sign-on system." This quote is taken from Chapter 2 of the Continuous Delivery: Reliable Software Releases Through Build, Test, And Deployment Automation (Addison-Wesley Signature Series (Fowler)) book by David Farley and Jez Humble. Vault by HashiCorp is one of the tools that might provide an acceptable level of security for DevOps engineers, and it is suitable for enterprise scenarios as well as for smaller teams like startups. More...
Publication/Publisher: CodeMentor, Date: September 22, 2015
Brief:In a real life almost any project deals with the tree structures. Different kinds of taxonomies, site structures etc require modeling of hierarchy relations. In this article I will illustrate using first three of five typical approaches of operating with hierarchy data on example of the MongoDB database. Those approaches are: Model Tree Structures with Child References, Model Tree Structures with Parent References, Model Tree Structures with an Array of Ancestors, Model Tree Structures with Materialized Paths, Model Tree Structures with Nested Sets, Note: article is inspired by another article 'Model Tree Structures in MongoDB' by 10gen, but does not copy it, but provides additional examples on typical operations with tree management. Please refer for 10gen's article to get more solid understanding of the approach. Part 1... Part 2...
Publication/Publisher: CodeProject, Date: January 16, 2013
Brief: tip allows enabling virtualization inside nested virtual machines under ESXi hypervisor. More...
Challenges: to develop robust code generation framework that will allow rapid development of high load capable websites with php4 backward compability. XSLT was used as a powerful framework for code generation. Set of procedural plain php files where generated as a result of transformation. During set of projects, generated websites were able to handle and serve 6000-7000 concurrent business user sessions (up to 8900 in extremum) in following live environment: single server with Nginx supporting PHP fast cgi mode as a web server, MySQL as a DB server, Memcache as server side cache. Server network card was configured to use polling mode.
Facts: since May, 2005 until May,2011 over 160 solutions were implemented by our team using this code generation approach. By using xml based grammar, all websites allow smooth generator version upgrade without need to change business logic code itself.
Deployments: banking sector (bank public sites, bank intranet portals), news and media (number of highload news ukraine sites), entertaiment (websites for tourists, event solutions), b2b and b2c solutions (set of sites solving business needs with custom made logic), custom ( set of custom made websites solving multiple client needs).
Background: The X Factor is a British television music competition to find new singing talent. Created by Simon Cowell, it began in September 2004 and is contested by aspiring singers drawn from public auditions. It is the originator of the international The X Factor franchise.
Challenges: to develop online portal supporting Ukranian TV national version of the X-Factor show. Integration with 3rd party voice rating system ('Skore'), Adobe Flash Media Server, Social Networks API, 3rd party payment gateways. Weekly high load peaks during TV show live air.
Role: Technical Team leader, team composition: 3-4 developers, dedicated QAs and Project Manager/Client Executive, System Administrator.
Duties: Architecture defining, risks identification from technology point of view, team development activities, executing project tasks, corrective/preventive actions when needed.
Facts: Approximately 10 millions page views during TV show period. No major service down time.
Background:Region: Europe, Industry: E-Goverment, Service: Corporate Application Development.
Role: Project manager, lead developer.
Business challenge: Team created a computer-based driving theory test system integrated with a 3rd party web-based test booking system. The system is touch screen based and has an intuitive user interface as well as invigilator console. System runs on 7 test stations, but is extensible. Licensed question bank was used as a initial source of theory test questions. The system features include a generation of unique tests for each candidate and the facilities for the administrative staff to add/edit questions as needed.
Benefits: Provides a standard way of conducting driving theory tests. 3rd party systems consume information (in particular driver licensing software). Minimum effort on maintenance of the testing process, easy to operate during the test - even for people with low computer literacy, automatic assessment of the test results, Immediate communication of the results to the participants. Necessary reports and statistics was implemented management staff per requirements.
Facts: System still operates. Approximate software lifetime expanded up to 2016.
Background:Region: UK, Industry: E-Goverment, Service: Corporate Application Development.
Role: Architect, project leader.
Business challenge: Team created bespoke computer system, that allows citizens to book and pay for theory and practical driving tests online. System includes separate backend with business logic and public front end part in DMZ. System is integrated with customer inner systems serving driving licence workflow, online passport system, 3rd party online payment systems, provides reports in format of inner financial systems, other reporting.
Benefits: Provides more online capabilities for citizens, decreases staff load in the office.