Upload
davinci-software
View
441
Download
0
Tags:
Embed Size (px)
Citation preview
What you should know about a professional Software CompanyWhat you should know before you go for a job interview …
DAVINCI ahead of one’s time
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
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?
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
Davinci groupFounded in 1991 180 employees / 60 developers6 offices
Davinci ConsultancyDavinci Products / Davinci SoftwareDavinci Ventures
Davinci in words
Essence of Davinci
KEY VALUES
SECT
ORS
EXPERTISE
BANKING
INSURANCE
NOTARY
NON PROFIT
SOFTWARE DEVELOPMENT
ENTERPRISE ARCHIECTURE
PROCESS AUTOMATION
PROFESSIONAL ADVICE
CONSULTANCY
SMART SOLUTIONS
BUSSINESS PROCESS UTILIZATION
INTEGRATION
OPTIMIZATION
SAAS SOLUTIONS
TRUST INNOVATION ATTENTION TO DETAIL
PASSION COMMITMENT
PROFESSIONALISM
CONSULTANCY SERVICES
Our expertise
SOFTWARE DEVELOPMENT CONSUMER CREDIT & MORTGAGES
STRAIGHT THROUGH PROCESSING
NOTARY SERVICES & REGISTERS
PROCESS OPTIMIZATION
Our expertise
IT SUPPORT & MAINTENANCE
DOCUMENT PROCESS AUTOMATION
SAAS & CLOUD SOLUTIONS
DATA QUALITY & DATA MIGRATION
CREDIT SCORING & FRAUD PREVENTION
WEB & MOBILE APPLICATIONS
Technologies
Tooling
Technological partners
Activities
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
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
• 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?
ProfessionalSoftware Company
What is it about?
• 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
• Effective communication is crucial for success (Face to face, video/audio call, IM, e-mail, screen share, UML, collaboration tools)
Communication
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• …
Artifacts repository
Artifacts repository
Source control
Source control
Source control
Source control
Planning and Ticketing system
Planning and Ticketing system
Planning and Ticketing system
Planning and Ticketing system
Planning and Ticketing system
Build server
Build server
Build server
Build server
Project sites
Project sites
Quality control
Quality control
Quality control
Quality control
Quality control
Quality control
Quality control
AGILE / SCRUM
• Yet another buzzword?• Doing agile vs. being agile, agile is not adhoc• Team, responsibility, freedom, trust
AGILE / SCRUM
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
How to get there - practical hints
Something to read
Questions?
smart solutions
Thank you