Peter Kobes - What you should know about a professional Software Company
1. What you should know
about a professional
Software Company
What you should know
before you go for a job interview …
DAVINCI ahead of one’s time
2. Introduction - speaker
Peter Kobes
– Executive and CTO of Davinci
Software
Experience
– More than 25 years in software
development
– Specialization:
• quality assurance
• software development and
solution architecture
• product innovation
3. Introduction - audience
• Do you see your future as a software
developer?
• Do you work for a SW company?
• Do you do private SW projects?
• Did you read a SW development
related book this year?
• Do you follow some SW
communities?
• Do you know what is VTP Žilina
• Did you hear about Žilina startup
weekends?
• Did you hear about JUGZA?
4. Agenda
Introduction
– Davinci
– Introduction of the topic – questions to be answered
What is a good software company made of?
– What does it mean to be a good software company (good software, people, certified, profit?)
– Excellent people - proactive, involved, coder vs. developer, team players, visionaries, innovators, motivation,
freedom, safety, etc.
– Rock solid rules and processes
– Crystal clear roles and responsibilities
– Future prove and flexible technology stack and standards
– Fully supportive tooling - Maven, Nexus, Jenkins, JRebel, JIRA, GIT, Vmware, Cloud
– Spend time only on what we are the best in - make vs. buy
Agile - SCRUM
– Yet another buzzword? Doing agile vs. being agile, agile is not adhoc
– Team, responsibility, freedom, trust
How to get there – practical hints
– To graduate or not to graduate, that is the question
– How to identify good software company
– How to become attractive for a good software company
• Knowing what you want
• There is a lot of things to learn out there - specialization vs. general knowledge
• Communication skills – languages
– Something to read
5. Davinci group
Founded in 1991
180 employees / 60 developers
6 offices
Davinci Consultancy
Davinci Products / Davinci Software
Davinci Ventures
9. Our expertise
IT SUPPORT &
MAINTENANCE
DOCUMENT PROCESS
AUTOMATION
SAAS & CLOUD SOLUTIONS
DATA QUALITY & DATA
MIGRATION
CREDIT SCORING & FRAUD
PREVENTION
WEB & MOBILE
APPLICATIONS
14. Davinci on internet
• http://davincisoftware.sk/ & http://davincigroep.nl/
• http://on.fb.me/1s2jLau
• https://twitter.com/DavinciSoftware
• https://www.youtube.com/user/Davincisoftware
• https://www.facebook.com/javazilina
15. Agile software development
• Individuals and interactions over processes and tools
• Working software over comprehensive documentation
• Customer collaboration over contract negotiation
• Responding to change over following a plan
Open source technologies
• Lower total cost of ownership
• Reduced dependence on software vendors
• Easier to customize
• Flexibility and freedom
• Support and accountability
Davinci software
16. • Do I want to become a professional software developer?
• Am I ready?
• What do I have to know?
• What is expected of me?
• What should drive my carrier: motivations, rewards, worries,
challenges?
• Does the company matter?
Did you ask yourself already?
18. • What does it mean to be a good software company (good
software, people, certified, profit?)
• Excellent people - proactive, involved, coder vs. developer, team
players, visionaries, innovators, motivation, freedom, safety, etc.
• Rock solid rules and processes
• Crystal clear roles and responsibilities
• Future prove and flexible technology stack and standards
• Fully supportive tooling - Maven, Nexus, Jenkins, JRebel, JIRA, GIT,
VMware
• Spend time only on what we are the best in - make vs. buy
• Advanced Communication
Software company
19. • Effective communication is crucial for success (Face to face,
video/audio call, IM, e-mail, screen share, UML, collaboration
tools)
Communication
20. Continuous integration
Build server
• Manual, external or scheduled
executions of builds and
pipelines
• After commit builds
• Night builds
• Deploy builds
• Release builds
• QA builds
• …
• Execution of test
• Creation of releases
• Creation of artifacts
• Notifications (email)
Quality Assurance tool
• Architecture and design
• Comments
• Coding rules
• Potential bugs
• Complexity
• Duplications
• Tests
Artifacts repository
• Company artifacts
(releases, snapshots)
• Public repositories
mirror with OpenSource
control
• 3rd party artifacts not
available via public
repositories
Developers team
• IDE with plugins
• Development
environment
• Tools
Project sites
• Versioned
• Project info
• Documentation
Release site
• Releases (artifacts, release notes,
installers, installation
instructions, documentation)
• Deployment team access
• Customer controlled access
Test environments
• TestLab sandboxes - virtual
customer/production like
environments (local or cloud)
• Automated creation (Puppet,
Docker, Hiera)
Ticketing system
• Issue tracking
• Planning (agile)
• Work progress tracking
• Other tools integration
(source control, build
server, social media,
wiki, testing tools, etc.)
Source control
• Sources versioning
• Branching
• Tagging
• Merging
Testers team
• Local virtual test
environment
• Tools
Deployment team
• Local virtual test
environment
• Tools
The others
• Project leaders
• Product owners
• Scrum masters
• Stakeholders
• …
48. • To graduate or not to graduate, that is the question
• How to identify good software company
• How to become attractive for a good software company
• Knowing what you want
• There is a lot of things to learn out there - specialization vs.
general knowledge
• Communication skills - languages
How to get there - practical hints
TK STU
10 YEARS ABROAD
HIRING 100-TS OF INTERVIEWS
Introduction:
What does it mean to be a good software company (good software, people, certified, profit?)
Commercial evil aspects
CONSULTANCY SERVICES: Davinci has strong know how and 20 years of experience providing consultancy services to fast-paced organizations from finance, non-profit and notary sectors.
SOFTWARE DEVELOPMENT: Davinci develops tailor software solutions to help clients optimize daily works and innovate the old ways of working. We adhere to the principles of agile methodology.
CONSUMER CREDIT & MORTGAGES: Davinci offers the complete and modular solution which allows lenders to complete the whole underwritting process for various loan products.
STRAIGHT THROUGH PROCESSING: Straight through processing (STP) is the building block of all Davinci solutions and initiatives. Process automation brings effectivity and increases revenues of our clients.
NOTARY SERVICES & REGISTERS: Davinci supports notary and judicial domain in the Netherlands. We have experience with migration, optimization, automation and technical support of Registers.
PROCESS OPTIMIZATION: Our clients optimize business processes and create dynamic marketing campaigns with the easy to integrate Business Process Modelling (BPM) suite.
CONSULTANCY SERVICES: Davinci has strong know how and 20 years of experience providing consultancy services to fast-paced organizations from finance, non-profit and notary sectors.
SOFTWARE DEVELOPMENT: Davinci develops tailor software solutions to help clients optimize daily works and innovate the old ways of working. We adhere to the principles of agile methodology.
CONSUMER CREDIT & MORTGAGES: Davinci offers the complete and modular solution which allows lenders to complete the whole underwritting process for various loan products.
STRAIGHT THROUGH PROCESSING: Straight through processing (STP) is the building block of all Davinci solutions and initiatives. Process automation brings effectivity and increases revenues of our clients.
NOTARY SERVICES & REGISTERS: Davinci supports notary and judicial domain in the Netherlands. We have experience with migration, optimization, automation and technical support of Registers.
PROCESS OPTIMIZATION: Our clients optimize business processes and create dynamic marketing campaigns with the easy to integrate Business Process Modelling (BPM) suite.