Kamal Wickramanayake - Curriculum Vitae

Kamal Wickramanayake

Kamal Wickramanayake
Enterprise Architect/Software Architect/Trainer
http://www.software.lk/people/kamal/cv
Last updated: Oct 14, 2018
Status: Some details are outdated and are to be changed.

Personal Information

Name:Herath Mudiyanselage Kamal Sisira Kumara Wickramanayake

Date of Birth:14th Dec 1976

Nationality:Sri Lankan

Educational Qualifications

  • Aug, 1997 - Nov, 2001 University of Peradeniya, Sri Lanka
    B.Sc. Eng. (First Class Honours) in Electrical and Electronic Engineering. GPA: 3.86 (Converted to 4 point scale)
  • Aug, 1995 GCE A/L - Kingswood College, Kandy, Sri Lanka
    Three distinctions and one merit pass (3 - A, 1 - B) in Physical Science. Aggregate: 313, District Rank: 1 (Kandy)
  • Dec, 1992 GCE O/ L - Samodaya Central College, Mawathagama, Sri Lanka
    Seven distinctions and one credit pass (7 - D, 1 - C)

Academic Awards

  • University Scholarships for Best Performance (Nov 1999)
    University of Peradeniya, Sri Lanka
  • Dr. W.P. Jayasinghe Memorial Trophy for Best Results in GCE A/L (1995)
    Kingswood College, Kandy, Sri Lanka

Professional Awards/Certificates

  • The Open Group Architecture Framework (TOGAFTM 8) Certified (Mar 2007)
    The Open Group, San Francisco, CA
    TOGAF defines a method to create enterprise architectures and encompasses many other business and technical frameworks, techniques, best practices and resources. TOGAF promotes Open Systems.
  • Competent Communicator (Mar 2007)
    Toastmasters International, USA
  • Recognition of Contribution Towards Free & Open Source Software Initiatives (Dec 2005)
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka
  • Contribution Towards the Delivery of High Quality Learning Events (July 2005)
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka
  • Outstanding Contribution to Training Activities at the Sri Lanka Advanced Technology Center (February 2005)
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka
  • Outstanding Contribution to Training Activities at the Sri Lanka Advanced Technology Center (November 2004)
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka

Work Experience

  • Mar 2007 : Software View, Colombo, Sri Lanka
    http://www.training.lk/http://www.software.lk/, http://www.swview.org/
    Proprietor, Enterprise Architect, Software Architect, Trainer
    Software View offers diverse services related to software and information technology with a special focus on training and consultancy. Service areas include 1) IT governance, business performance optimization and risk reduction through strategic and systematic IT planning and solutions; 2) Software development technologies, architecture, design and analysis, patterns, testing, processes and best practices;
  • July 2006 - Mar 2007: Self Employed
    Independent IT Architect, Software Architect, Trainer
    Consultation and training (IT Architecture, Software Architecture, other software development areas)
  • July 2003 - July 2006: Virtusa (Pvt) Ltd, Colombo, Sri Lanka (Sri Lanka Advanced Technology Center)
    http://www.virtusa.com/
    Executive Trainer
    Training Areas: J2EE (EJB, Servlet/JSP, Struts), JSR 168 Portlet Development, JFC/Swing, Java, Linux, Test Infected Programming, OOA/OOD/OOP, UML, Design Patterns, Estimation of Development of Software Systems, Open Source Tools for Enterprise Application Development, IBM WebSphere 6, General Software Engineering Topics
    Project team ramp up, technical induction of new recruits, occasional research and development and pre-sales support.
  • Aug 2005 - Jan 2006: Department of Engineering Mathematics & Philosophy of Engineering, Faculty of Engineering Technology, The Open University of Sri Lanka
    http://www.ou.ac.lk/
    Visiting Lecturer
    Lecturing Areas: Linear Algebra, Real Analysis, Complex Analysis, Probability & Statistics, Numerical Methods, Fourier & Laplace Transformations
  • June 2003 - July 2003: Information Technology Center, University of Peradeniya, Sri Lanka
    http://www.pdn.ac.lk/
    Research Assistant
  • Dec 2002 - Apr 2003: Department of Electrical and Electronic Engineering, Faculty of Engineering, University of Peradeniya, Sri Lanka
    http://www.pdn.ac.lk/
    Assistant Lecturer
  • Jan 2002 - Apr 2003: Department of Electrical and Electronic Engineering, Faculty of Engineering, University of Peradeniya, Sri Lanka
    http://www.pdn.ac.lk/
    Network/System Administrator & Web Master
    Designing, installation, programming and administration of the department's primary web server and the administration of the department's mail server and the secondary web server.
  • Jan 2002 - Mar 2003: Sri Lanka Institute of Information Technology (Kandy Branch), Sri Lanka
    http://www.sliit.lk/
    Visiting Lecturer
    Java, Object Oriented Programming, Data Structures
  • Jan 2002 - Dec 2002: Department of Electrical and Electronic Engineering, Faculty of Engineering, University of Peradeniya, Sri Lanka
    http://www.pdn.ac.lk/
    Instructor in Charge - E/00 Batch
    Laboratory experiment scheduling, resource allocation and conducting experiments.
  • Dec 2001 - Jan 2002: Stretchline Pvt Limited, Biyagama, Sri Lanka
    Database System Developer (Process Re-engineering Project)
    Complete development of a web interfaced skill database system.
  • Sept 2000 - Dec 2000: MTV Channel Pvt Limited, Pannipitiya, Sri Lanka
    In-plant Trainee
    Acquired knowledge in station management, TV/Radio transmission and broadcasting, VHF/UHF/SHF electronic circuits, microwave equipment, TVRO (Satellite Reception) and ITU/SLTRC regulations.
  • July 1998 - Oct 1998: Engineering Workshops (Metal), Faculty of Engineering, University of Peradeniya, Sri Lanka
    In-plant Trainee
    Gained experience in numerous machine tools including computer numeric controlled machining. Participated in a mini-hydro power project survey and manufacturing of cross flow turbines and chalk machines. Acquired knowledge in administration and management aspects of the organization.
  • 1996 - 1998: Vidusara Science Journal, Sri Lanka
    Freelance Journalist
    Professional writing experience in the fields of Science and Technology.

Publications/Writing

  • Personal Blogs (Since January, 2007)
    http://www.swview.org/blog
    Topics include personal improvement, organizational culture, IT governance, software engineering, etc.
  • Software architecture has enormous impact on cost and quality (April 2012)
    This is an article that appears in one of my own websites.
    http://www.itgovernance.lk/content/software-architecture-has-enormous-impact-cost-and-quality
  • Aging software is a trouble for enterprises (April 2012)
    This is an article that appears in one of my own websites.
    http://www.itgovernance.lk/content/aging-software-trouble-enterprises
  • O'Reilly Book: 97 Things Every Software Architect Should Know (January 2009)
    Contributing Author; Published by O'Reilly Media, Inc. (February 13, 2009)
    http://www.amazon.com/Things-Every-Software-Architect-Should/dp/059652269X
  • Conference Paper: Service Oriented Architecture - Making IT Infrastructure Speaks Business (September 2008)
    4th Annual Conference on Information Technology Governance - ISACA Sri Lanak Chapter
    Colombo, Sri Lanka
  • Book: Introducation to Computer Systems (June 2003)
    Dr. Kithsiri Liyanage, Wickramanayake H.M.K.S.K. (me), Wejerathne D.G.A.K., Gunerathne M.A., Peiris P.S.R.
    Used by the Information Technology Center of University of Peradeniya and Ministry of Human Resources Development, Education and Cultural Affairs (Sri Lanka) for an island wide teacher training program
  • Book: Java for Absolute Beginners (March 2000)
    Written for a Java training program for the engineering undergraduates in the faculty
  • More than 50 Articles Appeared in Vidusara Science Journal (1996 - 1998)
    Primarily in the fields of science and technology; Based on interviews with others, translations and self written

Professional Bodies/Society Activities

  • President (2011 - 2012), ISACA (Information Systems Audit and Control Association) Sri Lanka Chapter
    Marketing Director (2008-2009), ISACA Sri Lanka Chapter
    A standard setting body in the areas of information governance, control, and security for professionals
  • Past Member, Association of Open Group Enterprise Architects (AOGEA)
    An international forum of Enterprise Architects
  • Past Member (Associate), Radio Society of Sri Lanka (RSSL)
    RSSL - Official amateur radio society in Sri Lanka, Member of International Amateur Radio Union
  • Past Member (Status: Competent Communicator), Toastmasters International
    Smedly Toastmasters Club, Colombo, Sri Lanka
  • Past Member, Institute of Electrical and Electronic Engineers (IEEE)
    Member of Circuits and Systems Society & Communications Society
  • Past President (2001), Computer, Electrical and Electronic Engineering Society
    Faculty of Engineering, University of Peradeniya, Sri Lanka
  • Past Secretary (2000), University Inventors Club
    University of Peradeniya, Sri Lanka

Conferences/Training Programs Attended

  • 4th Annual Conference on Information Technology Governance (18th, 19th of September 2008)
    ISACA Sri Lanka Chapter
    Hotel Cinnamon Grand, Colombo, Sri Lanka
  • PHP 5 and Large Scale PHP Deployment - FOSSSL Conference Tutorial (7th September 2005)
    By Resmus Lerdorf (Creator of PHP)
    Hotel Taj Samudra, Colombo, Sri Lanka
  • Presenting With Confidence (19th - 20th July 2005)
    By Chrishan De Mel (Manager, Training & Development, Virtusa (Pvt) Ltd, Colombo, Sri Lanka)
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka
  • Performance Counselling and Performance Appraisals Skills Training (16th March 2005)
    By Dr. S. M. Phadke (BA - Psychology, MA - Organizational Psychology, Ph.D - Organizational Psychology) from Pune University, India
    Ceylon Continental Hotel, Colombo, Sri Lanka
  • IBM WebSphere Portal Training (10th - 15th November 2004)
    By George Kirubaharan from Technoturf (IBM Business Partner, India)
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka
  • Architecturing Enterprise Software (25th - 28th August 2004)
    By Sunil Dutt Jha (CEO, iCMG Private Limited, Bangalore)
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka
  • Linux Workshop (20th - 22nd July 2004)
    By Anuradha Ratnaweera, Anuradha Weeraman, Samisa Abeysinghe
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka
  • Train The Trainer Workshop (13th, 14th May 2004)
    By Chrishan De Mel (Manager, Training & Development, Virtusa (Pvt) Ltd, Colombo, Sri Lanka)
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka
  • Outward Bound Training (24th, 25th April 2004)
    By Rukmal and the team from Wild Drift
    Kinchigune, Belihuloya, Sri Lanka
  • Six Hat Thinking (08th April 2004)
    By Chrishan De Mel (Manager, Training & Development, Virtusa (Pvt) Ltd, Colombo, Sri Lanka)
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka
  • Training Program for Computer Trainers (25th, 26th March 2004)
    By S. Thilaganathan (Chairman, Institute of Management and Computer Studies; BA, MBA, FIB, FCMA, FSCMA, MCIM, MIM)
    Association of Computer Training Organizations, Infotel Board Room, Colombo 07, Sri Lanka
  • Workshop on Project Management : PMI's Project Management Body of Knowledge (06th - 13th March 2004)
    By Chrishan De Mel (Manager, Training & Development, Virtusa (Pvt) Ltd, Colombo, Sri Lanka)
    Virtusa (Pvt) Ltd, Colombo, Sri Lanka
  • Team Centered Leadership Skills Development Programme (13th, 14th February 2004)
    By Robert Vander Wall and Lalith Gunaratne from Sage Training (Australia/Sri Lanka)
    Hotel Dolphin, Waikkal, Sri Lanka
  • Advanced Apache Tutorial (24th January 2004)
    By Ken Coar (Director and Vice President of the Apache Software Foundation, IBM Senior Software Engineer)
    School of Computing (UCSC), University of Colombo, Sri Lanka
  • Open Source Conference (23rd January 2004)
    Organized by the Lanka Software Foundation
    Trans Asia Hotel, Colombo, Sri Lanka
  • Enhancing Your Teaching with E-Learning (01 December 2003)
    By Mrs. M Hellstorom, The Swedish Netuniversity, Sweden
    University of Colombo, School of Computing (UCSC), Colombo, Sri Lanka

Professional Training Delivered

Some Undergraduate Work

  • PC Based Fetal Heartbeat Monitoring System
    Faculty of Engineering, University of Peradeniya, Sri Lanka
    With Mr. CK Walgampaya, Supervised by Dr. KS Walgama
    Acquisition of fetal and mother's heart beat signals and neural network based adaptive filtering for the isolation of fetal heartbeat.
    I designed the low frequency analog signal amplifier.
  • Stand-Alone Data Logger
    Faculty of Engineering, University of Peradeniya.
    Supervised by: Dr. PMK Alahakoon, Prof. KGA Goonasekere, Prof. S Ratnajeevan H Hoole
    Micro-controller based stand-alone multi-channel analog data acquisition system with PC interfacing software.
    I never completed this project though!
  • Semi-automated Linux Account Creation And Activation System
    Department of Electrical and Electronic Engineering, Faculty of Engineering, University of Peradeniya, Sri Lanka
    Web interfaced database program to hold the account requests and web interfaced activation of Linux accounts.
  • Automated Duty Roster Generation Program
    MTV Channel (Pvt) Ltd, Depanama, Pannipitiya, Sri Lanka
    Constraint satisfied automated generation of the duty roster of a set of employees.
  • Preliminary Survey on Sending High Quality Audio Through Phone Lines for Outdoor Broadcasting
    MTV Channel (Pvt) Ltd, Depanama, Pannipitiya, Sri Lanka
    Preliminary survey on the possibilities of digitizing, psycho-acoustic compression of audio signals, transmission through phone lines and recovery mechanisms.
  • Design of the improved Governor Guidance Unit for the Pitabadda Mini Hydro-power Project's Turbine
    Engineering Workshops, Faculty of Engineering, University of Peradeniya, Sri Lanka
    Supervised by late Prof. Sanath Ranatunga
    An improvement of the governor controlling system of a turbine.

Other Notable Engagements

  • Acted as a key speaker in a series of seminars and exhibitions organized by the Information and Communication Technology Agency (ICTA) of Sri Lanka for small and medium enterprise owners. ICTA is the government entity looking after ICT matters in Sri Lanka. These events happened in many parts of the country (Matara, Rathnapura, Kurunegala, Anuradhapura, Galle, Bandarawela) as part of the government's investment and private sector development activities. July, 2012 - August, 2013. Click on the district names for photos.
  • Acted as a member of a number of training grant approval boards at the Information and Communication Technology Agency (ICTA) of Sri Lanka. The grants were for businesses in the ICT sector in two categories: train the trainer awards and in house training awards. These grants were provided as part of the government's investment and private sector development activities. November, 2012 - March, 2013
  • Acted as a member of a number of business startup grant approval boards at the Information and Communication Technology Agency (ICTA) of Sri Lanka. The grants were given to new businesses in the ICT sector with innovative ideas. These grants were provided as part of the government's investment and private sector development activities. January, 2011 - February, 2013
  • Acted as an industry expert/mentor at a hackathon organized by the Information and Communication Technology Agency (ICTA) of Sri Lanka for university students who were intersted in both ICT and entrepreneurial skills. University of Peradeniya, Sri Lanka. November 16-18, 2012. Here are some photos.
  • Acted as an industry expert in technical aspects at the Spiralation Connect | SLIIT, a gathering organized by the Information and Communication Technology Agency (ICTA) of Sri Lanka for university students interested in setting up ICT businesses. SLIIT Metro Campus, Colombo, Sri Lanka. August 02, 2012. Here are some photos.
  • Acted as an industry expert in technical aspects at the Spiralation Mobile Connect, a gathering organized by the Information and Communication Technology Agency (ICTA) of Sri Lanka for those interested in setting up ICT businesses. Park Street Mews, Colombo, Sri Lanka. July 13, 2012. Here are some photos.
  • "Enterprise Architecture" - Guest lecture for the MSc students at the Sri Lanka Institute of Information Technology, Metro Campus Building, Colombo, Sri Lanka. March 24, 2012.
  • "Seminar on Cloud Computing for the Enterprise" - Organized this ISACA Sri Lanka Chapter event as the President and also delivered two technical presentations. Hotel Galadari, Colombo, Sri Lanka. November 18, 2011. Here are some photos.
  • "Better preparing for the IT paper at the O/L exam" - Delivered presentations to O/L students in a few schools in Colombo district (Royal College, Holy Family Convent - Dehiwala, DS Senanayake College, Devi Balika College). October - November, 2009. Click on school names for photos.
  • "IT Governance Frameworks" - Talk at the ISACA CXO forum "Business Governance of Information Technology - The CXOs' Perspective", Hotel Galdari, Colombo, Sri Lanka (29th of April, 2009). Here are some photos.
  • A member of the organizing team of ISACA CXO forum "Business Governance of Information Technology - The CXOs' Perspective", Hotel Galdari, Colombo, Sri Lanka (29th of April, 2009). Here are some photos.
  • "Service Oriented Architecture - Making the IT Infrastructure Speak Business" - Paper presented at the ISACA conference "Annual Conference on Information Technology Governance - 2008", Hotel Cinnomon Grand, Colombo, Sri Lanka (18th and 19th of September 2008). Here are some photos.
  • A member of the organizing team of ISACA conference "Annual Conference on Information Technology Governance - 2008" and "IT Security Awards Night", Hotel Cinnomon Grand, Colombo, Sri Lanka (18th and 19th of September 2008). Here are some photos.
  • "Introduction to IT Governance and Enterprise Architecture" - Presentation for the Computer Society of Sri Lanka, OPA Building, Colombo, Sri Lanka (28th of May, 2008). Here are some photos.
  • "Introduction to IT Governance and Enterprise Architecture" - Key presentation at the Information Systems Audit And Control Association (ISACA) Membership Day, Hotel Taj Samudra, Sri Lanka (18th of January, 2008). Here are some photos.
  • Delivery of opening lecture for Information Technology - Master of Public Management (Postgraduate course), Sri Lanka Institute of Development Administration (SLIDA), Sri Lanka (9th and 13th of December, 2007). Here are some  photos.
  • "IT Governance and Why FOSS Matters" - IET Local Chapter Monthly Forum, Information Technology Center, University of Peradeniya, Sri Lanka (29th Mar 2007).
  • "How to Start a FOSS Project" - A talk delivered at the "FOSS-Ed for Hackers" Conference, Excel World Conference Center, Colombo, Sri Lanka (22nd May 2006).
  • "Enterprise Messaging And Software System Integration" - A lecture delivered at the Faculty of Engineering, University of Peradeniya, Sri Lanka (14th Sept 2005).
  • Search module implementation of Sahana (Phase I) disaster recovery software - School of Computing, University of Colombo, Sri Lanka (January 2005).
  • "Distributed Processing with J2EE" - A seminar conducted at the Faculty of Engineering, University of Peradeniya, Sri Lanka (5th Oct 2004).
  • "Mission Critical Linux" - A public lecture delivered at the IESL (Sri Lanka Institute of Engineers) Auditorium, Colombo, Sri Lanka (10th March 2004).
  • Consultant (Course Material) for IT Teacher Training Program , Ministry of Education, Sri Lanka (June 2003).
  • "Information Technology" - Seminars conducted for the personnel in the Ministry of Education, Sri Lanka (June 2003).
  • Initial design and administration of the Ministry of Education's web and mail server (http://www.moe.gov.lk/) (June 2002).
  • "Web Interfacing of Databases" - A one month lecture series conducted for Final year Electrical and Electronic engineering undergraduates, University of Peradeniya, Sri Lanka (Nov 2002).
  • Invited Judge (Best Website Competition) and member of the Experts Panel of the Quiz Program. Inter-School Computer Science and IT Competition, Kingswood College, Kandy, Sri Lanka (July 2002).
  • "Java for Absolute Beginners" - A two month evening lecture series conducted for engineering undergraduates, University of Peradeniya, Sri Lanka (2001).
  • Participated in organizing and conducting mini workshops in diverse areas for undergraduates and school children through the University Inventors Club (2000).

IT/Computer Skills & Knowledge (Non-Exhaustive List)

Software Development

Software Architecture And Design

  • Architectural and non-architectural aspects of software
  • Establishing software architectural vision and principles
  • Identifying architecturally significant requirements and prioritization
  • Identifying, analyzing and managing stakeholder requirements
  • Quality attributes, quality attribute scenarios, quantification
  • Architectural patterns and tactics
  • Architecture trade-off analysis
  • Software architecture development, review, blueprint coding, enforcement, risk management and evolution
  • Leading the architecture development, mentoring and coaching
  • Act as a sole, primary or shared owner of the software architecture
  • Assisting team members, project managers and other stakeholders with reference to the software development or architectural concerns
  • Software structures, models, views, selection of appropriate views
  • Documenting software architecture
  • Architecture extraction
  • Identifying extrinsic and intrinsic values and features of different software, architectures, designs, systems, technologies, solutions or things in general
  • Compare and contrast software, architectures, designs, systems, solutions, technologies or things in general to identify the best for a given purpose
  • Distinguish between the hypes and realities
  • Software modeling, meta modeling, Unified Modeling Language (UML), automated code generation
  • Object oriented programming (OOP), OOP principles, object oriented analysis and design (OOAD), domain modeling
  • Software design patterns
  • Pattern identification, documentation
  • Pattern languages
  • API design
  • Product line architectures (product line engineering activities, modeling the problem and solution spaces, using core assets across the product line, software engineering practices, technical management practices, organizational management practices)
  • Use cases (use case model, writing effective use cases, business and system use cases, use case leveling, use case reuse mechanisms, use case based effort estimation)
  • Different transaction models and strategies (local, programmatic, declarative, client orchestration, business API layer, high concurrency, high speed processing)
  • Distributed transactions, transaction isolation, commit and write delays (buffering)
  • Short and long running transactions
  • Optimistic and pessimistic locking
  • Real time data replication
  • Service oriented architecture (SOA) - technical aspects
  • Service designing and best practices
  • Web services (code first and contract first development, RPC and document styles, encoding styles, SOAP, WSDL, using custom SOAP headers, many WS-* standards, MTOM and attachments, interoperability, message level and transport level security, message signing, encryption, user name and X.509 certificate tokens, different token referencing mechanisms, security concerns, non-HTTP SOAP bindings, stateful Web services, synchronous and asynchronous Web services, message exchange patterns, implementing message processing interceptors for Web service implementation stacks)
  • Plain Old XML (POX) Web services
  • RESTFul Web services
  • XML and XML Schema (validity, well-formedness, information set and different representation mechanisms, namespaces, qualification, mixing vocabularies, best practices in organizing information within XML, differences between different XML parsers, differences between different object models and binding frameworks)
  • World Wide Web architecture
  • Enterprise service buses
  • Enterprise integration patterns
  • Business process orchestration engines
  • Enterprise application integration (EAI)
  • Software internationalization
  • Data structures, algorithm development, numerical analysis
  • Data modeling concepts, DB design concepts, SQL, NoSQL, object-relational mapping
  • Event driven architectures
  • Artificial intelligence (expert systems)
  • Cloud computing
  • Big data and large scale distributed computing
  • Microservices, Kubernetes
  • Containerization, Docker

Software Development Process

  • Software development lifecycles (Waterfall, iterative, incremental, spiral)
  • Software development processes (Rational Unified Process, Open Unified Process)
  • Individual performance oriented software development processes (PSP)
  • Agile software development processes (Scrum, Kanban, XP, Agile Model Driven Development)
  • DevOps
  • Agile software development principles
  • Agile software development practices (Requirements capturing and envisioning, architecture envisioning, estimation, evolutionary software designing, evolutionary data modeling, iteration planning, tracking, burn-down charts, daily meetings, coding, test driven development - TDD, continuous integration, testing, automation)
  • Scaling Agile software development for larger projects
  • Agile software development project contract negotiation, establish productive change management practices and guidelines
  • Assist product owners to reap the benefits of Agile software development and to improve the effectiveness of the whole process
  • Establish self governance within Agile teams and enforce limits
  • Establish Agile cultures within organizations and assist in migration
  • Off-shore, outsourced and geographically distributed software development

Software Development Project Management

  • Project failure causes, modes and scenarios
  • Writing proposals, learning from the customer, measuring customer satisfaction
  • Software project estimation techniques (analogy, expert judgment, Wideband Delphi, top-down/bottom-up, algorithmic approaches)
  • Software sizing (lines of code, function points, use-case points, object points, complexity metrics)
  • Single-point and three-point estimation, calculation and interpretation of standard deviation and probabilities related to estimates
  • Work breakdown structure
  • Rolling wave estimation, phase, release and iteration planning
  • Monte Carlo simulation of complex project plans, identification of multiple critical paths, statistical interpretation or results
  • Project plan analysis for resource bottlenecks and correction
  • Schedule compression
  • Productivity influencers
  • Review and verification of project estimates
  • Working with estimation databases
  • Estimation pitfalls
  • Handling estimation related concerns of customers
  • Software release management and version numbering/labeling practice

Java And Java Enterprise Edition

  • Java Standard Edition - since version 1.1 (I am familiar with many areas - JVM internals, heap analysis, memory leaks, different garbage collectors and their performance, decompiling, assertions, Swing, JavaFX, multi-threading, synchronization and concurrency, networking, performance tuning, language features, many APIs, many encompassing technologies, many frameworks)
  • Java Enterprise Edition - since version 1.2 (Servlets, JSF, EJB, JPA, Web services, JAX-WS, JAXB, JMS, EJB, JNDI, JCA, advanced clustering and deployment scenarios, )
  • Java application servers: Jetty, Apache Tomcat, JBoss, IBM WebSphere, Oracle WebLogic
  • Java application server performance monitoring and tuning
  • Spring Framework (XML and annotation based configuration, data access, aspect-oriented programming, transaction management, remoting and integration, integration testing), Spring Boot
  • Spring Security (role based security, fine-grained security, ACL, hierarchical permissions, customizing for unique needs)
  • RxJava
  • JavaServer Faces 2 (different component and component libraries, managed beans, navigation rules, custom converters and validators, phase listeners and event handling, Facelets, composite components, AJAX, implementing finer security requirements)
  • Struts Framework and templating with Tiles
  • Hibernate (different object-relational mapping strategies, different cache configurations, sharding)
  • OSGi (Apache Karaf, bundle development and packaging, bundle and feature deployment, system configuration changes)
  • Web portals and JSR 168 Portlet development
  • Java Logging API, Apache Commons Logging, Log4j (different appenders, logger hierarchy, levels, performance aspects, log file management)
  • Android development (not extensively but familiar with coding, packaging, debugging, emulators, different profiles, rooting)

Software Testing And Debugging

  • Unit testing (jUnit, testing with databases, different test runners, reporting)
  • Mock object testing, in-container testing
  • Web application functionality testing (HttpUnit, jWebUnit, Selenium)
  • Web application performance testing, analysis and optimization (jMeter, Apache Bench, YSlow, Firebug)
  • Performance testing of non-web applications
  • Acceptance tests
  • Debugging

Security

  • Penetration testing of software systems and networks
  • Security auditing of software
  • Secure coding and programming practices
  • Security threats, vulnerabilities and attacks
  • Security challenges of Web services
  • Security concerns related to AJAX and other rich interface technologies
  • User visible design flaws of applications
  • Hardware security modules (HSM) and keys
  • Single Sign-On techniques
  • Kerberos authentication and authorization
  • Light weight directory access protocol (LDAP)
  • Public key infrastructure (key generation, certificate requests, certificate signing, certificate authority management)
  • SSL and TLS security
  • Two-way SSL authentication
  • Server fingerprints
  • Computer/network security (cryptography, intrusion detection/prevention, tools, security management)
  • Phishing/pharming techniques and countermeasures
  • Threat of search engines
  • Evaluating firewalls and network devices
  • Contracting for secure software development
  • Security concerns related to in-house and outsourced software development

Web

  • PHP (building frameworks and using existing frameworks, object oriented PHP, generating HTML and non-HTML content, output buffering, performance tuning, error handling, database abstraction (PDO, Propel), theming, web services, sending mail with attachments, Pear and many other libraries and extension, debugging, php execution modes, configuring secure shared hosting environments)
  • Drupal - since version 4 (Writing new themes and modules, working with a number of existing modules, complex workflow configurations, muti-lingual configurations, e-commerce, rules, views, groups, spam controlling, personalized newsletters, advertising, advanced security configurations, performance optimization, scaling techniques, Drush)
  • Web site user navigation tracking
  • JavaScript and jQuery (selectors, DOM manipulation, event handling, animations and effects, utility functions, writing new plugins, AJAX, jQuery UI)
  • HTML, XHTML, CSS (I am good at coding web pages with CSS, JavaScript using vim, the text editor)
  • Websockets programming
  • Responsive web designs
  • White-hat and black-hat search engine optimization
  • Google Analytics, AdWords, AdSense, Facebook advertising
  • E-commerce systems, payment gateway integration (including Paypal, banks and some other payment gateway providers)

Linux

  • Linux system administration (RedHat, Debian, Ubuntu)
  • Shell scripting
  • Debian package creation and apt repository management
  • Linux kiosks
  • Linux system hacking - from kernel code to servers and applications
  • Linux kernel device driver development
  • Diskless Linux systems
  • Server virtualization
  • Automated Linux system and service provisioning
  • Ansible
  • RAID, LVM, disk encryption, and different file systems, RAM discs and RAM file systems
  • NFS
  • Linux system security hardening
  • Linux high performance computing (load balancing, fault tolerance)
  • Log analyzers
  • System and service monitoring, graphing
  • Performance benchmarking (CPU, memory, network, disks)

Networking

  • Network administration
  • Network traffic capturing and analysis
  • Network traffic monitoring
  • Traffic shaping and routing
  • Firewalls
  • Virtual private networks (VPN), OpenVPN
  • Network address translation (NAT) and destination network address translation (DNAT)
  • Web proxies (forward and reverse), caches and load balancers (Apache, Squid, Varnish, NGINX)
  • Domain Name System (DNS), configuring and managing primary and secondary DNS servers (Bind9), split DNS
  • Email (SMTP, LMTP, POP, IMAP, Sendmail, Postfix, Dovecot, web mail interfaces, SPF, DNSRBL, sender rate controlling, multi domain mail servers, backup mail servers, mail queue management)
  • DHCP servers
  • Boot servers

More

  • Coding idioms, simplification and beautification, code analysis tools
  • Coding standards
  • IDEs (Eclipse, NetBeans and some other development environments)
  • Automation and build tools: Ansible, Make, Ant, Maven (including setting up organization specific secured Maven repositories)
  • Scripting: Bash, PHP
  • Version controlling systems (Subversion and Git, setting up repositories, different ways of securing them, repository organization, usage practices)
  • Some databases: MySQL, PostgreSQL, Hypersonic
  • In-memory databases
  • Indexing and searching with Apache Lucene and Solr
  • VOIP (numerous Asterisk configurations and deployments, connecting to PSTN and mobile phone networks, IAX2 trunk configuration, interactive voice response (IVR) systems, text to speech, dial plan configurations, managing call routes, handling SMS messages, DTMF configurations, different audio codecs and trade-offs between their audio qualities and bandwidth requirements, automated provisioning of VOIP phones)
  • Computer animation and graphics (RGB, grayscale, CMYK, indexed, raster and vector images), audio and non-linear video editing with effects, compositions, noise removal, transcoding
  • C, C++ (I have used these two languages, but not extensively)
  • Flex development (and a little bit of ActionScript language)
  • Hardware interfacing (data acquisition, digital I/O, timers, counters, DAC, ADC, USB, serial ports, PCI devices)
  • Mobile and hand-held device solutions

IT Governance & Enterprise Architecture

  • IT governance frameworks (COBIT, ISO/IEC 38500)
  • Enterprise architecture and related frameworks (TOGAF, Zachman)
  • Strategic alignment, value delivery, resource management, risk management, performance measurement
  • Recognizing IT enabled business investment opportunities
  • Business case development, documentation, optimization and maintenance
  • Business case analysis (options, strategic and enterprise architecture alignment, financial and non-financial risks and benefits)
  • Identifying full-cycle costs and benefits
  • Taking a portfolio based approach to optimize the value of investments
  • Evaluating and selecting programs to be funded
  • Monitoring and performance aspects (solution delivery performance, outcome performance, service delivery performance, process metrics, domain metrics, lag and lead indicators, IT balanced scorecards, maturity models, benchmark the value realization practices of an organizations, governance monitoring, investment review process, monitoring and reporting on investment portfolio performance)
  • Capital planning and budgetary process for IT
  • Establishing value governance practices in organizations (challenges, baseline assessment, establishing a future state, leadership group establishment, organizational structure, establishing reporting lines, sustaining the transformation)
  • Running IT as a business Vs taking an IT governance approach
  • Enterprise architecture principles and vision development
  • Tailoring architecture frameworks
  • Identification and establishment of baseline and target sub architectures (business, data, application, technology)
  • Enterprise architecture patterns, reference models
  • Opportunities and solutions
  • Migration planning
  • Implementation governance
  • Architecture change management
  • Architecture requirement management
  • Benchmarking and maturity models for architecture development process and architecture
  • Evolutionary implementation of enterprise architecture
  • Federated enterprise implementations (for a group of organizations)
  • Service oriented architecture (SOA) - business aspects (horizontal process flow, service contract/policy design, service capacity planning and pricing concerns, migration, business culture and governance, enablement factors)
  • Segregation of duties
  • IT security threat risk modeling (STRIDE, DREAD)
  • Information security policy development and enforcement
  • Working on compliance requirements
  • Computer security incident responding (defining policies and procedures, team organization and staffing, organizational regulations, legal compliance and flexibility requirements, professionalism)
  • Responding to emergencies (triage, technical expertise, tools and techniques, communication practices)

Business Skills

  • Business plan development, evaluation
  • Business strategy formation and evaluation
  • Business execution, monitoring and tracking
  • Setting up directional strategies (vision, mission, core-values)
  • Organization culture development and change management
  • Administration
  • Financial planning and budgetary process
  • A little bit of enterprise risk management in large organizations
  • Human resource and talent management (recruitment, supply/demand matching, performance appraisals, salary aspects)
  • Competency modeling, evaluation (skills, knowledge, attitudes) and grooming employees (proactive and passive)
  • Sales and marketing (pricing strategies, marketing channels and their effectiveness, head and long tail marketing, brand building)
  • Opportunity identification and demand creation