SlideShare a Scribd company logo
1 of 9
Download to read offline
M a r c h 1 4 t h , 2 0 1 8
G R A D U AT E S G O N E M A D : I N N O VAT I O N S I N S O F T WA R E
A l p e r K a n a t , S o l u t i o n A r c h i t e c t
a l p e r . k a n a t @ c o m m e n c i s . c o m
© Commencis 2018. All Rights Reserved.
Language
• Which one should I learn first?
• Which one should I learn to do X?
• Can I work with this language in my city? How many
companies/opportunities do I have?
• Is this language still relevant?
• Company X uses this language, so why shouldn’t I?
BASIC LISP LUA PASCAL PERL PYTHON JAVA ADA C PHP D
JAVASCRIPT RUBY ERLANG C# C++ F# HASKELL COBOL E
FORTRAN SWIFT OBJ-C VB SMALLTALK SCALA GO KOTLIN
• 100’s of languages if not 1000’s!
• Pick one even if you make the worst decision!
• Develop your own web site, your own game, your own library!
• Listen to podcasts, read articles, blog posts!
• Make the most out of your internship even if you’re not obliged to!
• Übung macht den meister! J
© Commencis 2018. All Rights Reserved.
Language > Framework
• A new framework is created almost every day!
• Framework X may not exist next year! L
• Don’t let populism overrule your decisions!
• Pick wisely or you’ll suffer. (probably not just you)
• Be part of the community and always seek for opportunities to
contribute!
DJANGO SPRING RUBY ON RAILS EXPRESSJS GWT PLAY
ZEND FLASK ANGULARJS REACTJS BOOTSTRAP AKKA
SYMFONY LARAVEL CODEIGNITER XAMARIN IONIC JSF
© Commencis 2018. All Rights Reserved.
Language > Framework > Libraries
Most of our code bases are now a mash up of 3• rd party libraries
Is library X acDvely developed or abandoned?•
Most libraries are hard to configure and usually don’t have a•
proper documentaDon
Who reads the Release Notes anyway?•
Enter circular dependencies!•
JDBC HttpClient Swagger Jackson JWT OkHttp pillow
ObjectMapper KingFisher requests BeautifulSoup
SASS Nokogiri Capistrano VueJS CardJS KeyStone LESS
© Commencis 2018. All Rights Reserved.
Language > Framework > Libraries > Tools
• Tools constantly evolve and it’s hard to keep up.
• There are different tools for the same task but each has its own
pros & cons
• New tools may seem to improve your abilities but this
eventually takes a lot of time to adapt & adjust.
maven gradle webpack npm yarn bundler brew apt
github jira eclipse gulp IntelliJ IDEA vim pip emacs
vagrant virtualbox grunt ant jq nodenv pyenv tmux
• Sooner or later you’ll discover things like oh-my-zsh and have
your own ”dotfiles”. J
• Look for open source standards such as editorconfig
• Avoid installing tools directly on your OS. Use tools like
Virtualbox, Docker and vagrant instead.
© Commencis 2018. All Rights Reserved.
Language > Framework > Libraries > Tools > Services
Each new service means more configura>on, more deployment•
considera>ons, more restric>ons.
You need to know everything about your selec>on of services and•
read through their documenta>on.
Environmental restric>ons greatly impact your service selec>ons.•
Licensing/pricing condi>ons may hurt.•
hazelcast elasticsearch couchbase cassandra hadoop
hdfs spark docker logstash mysql kibana rabbitmq SNS
lambda dynamodb zookeeper memcache redis firebase
• There is no silver bullet!
• Look for community support (forums, blogs, events) and help
others!
• Participate in hackathons and contribute to the upstream if
possible.
© Commencis 2018. All Rights Reserved.
Language > Framework > Libraries > Tools > Services > DevOps
• Not all companies have separate DevOps teams, you may find
yourself in this situation where you have to manage everything
yourself
• Choosing your tools & services is cool. But what about its
configuration, deployment and scalability?
linux http bash nginx apache varnish haproxy GCP
bind dnsmasq AWS zsh Azure docker CloudWatch SSH
nagios systemd ECS SQL LDAP Kubernetes firewall
• Every cloud comes with its own unique solution to a certain
problem.
• Cloud is relatively easy. How do you manage these on-prem?
© Commencis 2018. All Rights Reserved.
Language > Framework > Libraries > Tools > Services > DevOps > Processes
• Thankfully, most companies have onboarding sessions planned
upfront.
• Every company has its own unique way of managing processes.
Some do pair programming while others prefer regular code
reviews.
• Code Review is useful for understanding a company’s code
styling and daily practices.
code review CI deployment kanban sandbox jenkins QA
semver gerrit documentation wiki Postman swagger
scalability scrum code style pair programming licences
• The flow your work goes through from a single line of code to a
released package is often called “the pipeline”. Together with
the QA processes, it defines a developers requirements and
guidelines.
THANK YOU!
Q u e s t i o n s ?

More Related Content

Similar to Graduates Gone Mad: Innovations in Software

Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building ProductsHayden Bleasel
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Christian Heilmann
 
Programming Languages #devcon2013
Programming Languages #devcon2013Programming Languages #devcon2013
Programming Languages #devcon2013Iván Montes
 
Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Adrian Roselli
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteChristian Heilmann
 
How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)SATOSHI TAGOMORI
 
The State of Frontend
The State of FrontendThe State of Frontend
The State of FrontendJimit Shah
 
Native vs HTML
Native vs HTMLNative vs HTML
Native vs HTMLludlola
 
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...panagenda
 
Scaling with Symfony - PHP UK
Scaling with Symfony - PHP UKScaling with Symfony - PHP UK
Scaling with Symfony - PHP UKRicard Clau
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloChristian Heilmann
 
Talking to your organization about Elixir
Talking to your organization about ElixirTalking to your organization about Elixir
Talking to your organization about ElixirBrandon Richey
 
10 skills developers should invest in for 2014
10 skills developers should invest in for 201410 skills developers should invest in for 2014
10 skills developers should invest in for 2014Pakorn Weecharungsan
 
Cerebro general overiew eng
Cerebro general overiew engCerebro general overiew eng
Cerebro general overiew engCineSoft
 
Software Development Whats & Whys
Software Development Whats & Whys Software Development Whats & Whys
Software Development Whats & Whys Harun Yardımcı
 
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad WebDominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Webpanagenda
 
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Brian Brazil
 
Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...
Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...
Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...Codemotion
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community SupportWilliam Grosso
 
Prototyping Accessibility: Booster 2019
Prototyping Accessibility: Booster 2019Prototyping Accessibility: Booster 2019
Prototyping Accessibility: Booster 2019Adrian Roselli
 

Similar to Graduates Gone Mad: Innovations in Software (20)

Tech Thursdays: Building Products
Tech Thursdays: Building ProductsTech Thursdays: Building Products
Tech Thursdays: Building Products
 
Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date. Let’s learn how to use JavaScript responsibly and stay up-to-date.
Let’s learn how to use JavaScript responsibly and stay up-to-date.
 
Programming Languages #devcon2013
Programming Languages #devcon2013Programming Languages #devcon2013
Programming Languages #devcon2013
 
Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018Prototyping Accessibility - WordCamp Europe 2018
Prototyping Accessibility - WordCamp Europe 2018
 
Quo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynoteQuo vadis, JavaScript? Devday.pl keynote
Quo vadis, JavaScript? Devday.pl keynote
 
How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)How to create/improve OSS product and its community (revised)
How to create/improve OSS product and its community (revised)
 
The State of Frontend
The State of FrontendThe State of Frontend
The State of Frontend
 
Native vs HTML
Native vs HTMLNative vs HTML
Native vs HTML
 
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
The Times They Are a-Changin’: Domino Applications in the New World of HCL No...
 
Scaling with Symfony - PHP UK
Scaling with Symfony - PHP UKScaling with Symfony - PHP UK
Scaling with Symfony - PHP UK
 
Seven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC OsloSeven ways to be a happier JavaScript developer - NDC Oslo
Seven ways to be a happier JavaScript developer - NDC Oslo
 
Talking to your organization about Elixir
Talking to your organization about ElixirTalking to your organization about Elixir
Talking to your organization about Elixir
 
10 skills developers should invest in for 2014
10 skills developers should invest in for 201410 skills developers should invest in for 2014
10 skills developers should invest in for 2014
 
Cerebro general overiew eng
Cerebro general overiew engCerebro general overiew eng
Cerebro general overiew eng
 
Software Development Whats & Whys
Software Development Whats & Whys Software Development Whats & Whys
Software Development Whats & Whys
 
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad WebDominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
Dominoapplikationen im Wandel der Zeit: Alles neu mit HCL Nomad Web
 
Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)Systems Monitoring with Prometheus (Devops Ireland April 2015)
Systems Monitoring with Prometheus (Devops Ireland April 2015)
 
Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...
Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...
Christian Heilmann - Seven Things to Do to Make You a Happier JavaScript Deve...
 
Java And Community Support
Java And Community SupportJava And Community Support
Java And Community Support
 
Prototyping Accessibility: Booster 2019
Prototyping Accessibility: Booster 2019Prototyping Accessibility: Booster 2019
Prototyping Accessibility: Booster 2019
 

Recently uploaded

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 

Recently uploaded (20)

Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 

Graduates Gone Mad: Innovations in Software

  • 1. M a r c h 1 4 t h , 2 0 1 8 G R A D U AT E S G O N E M A D : I N N O VAT I O N S I N S O F T WA R E A l p e r K a n a t , S o l u t i o n A r c h i t e c t a l p e r . k a n a t @ c o m m e n c i s . c o m
  • 2. © Commencis 2018. All Rights Reserved. Language • Which one should I learn first? • Which one should I learn to do X? • Can I work with this language in my city? How many companies/opportunities do I have? • Is this language still relevant? • Company X uses this language, so why shouldn’t I? BASIC LISP LUA PASCAL PERL PYTHON JAVA ADA C PHP D JAVASCRIPT RUBY ERLANG C# C++ F# HASKELL COBOL E FORTRAN SWIFT OBJ-C VB SMALLTALK SCALA GO KOTLIN • 100’s of languages if not 1000’s! • Pick one even if you make the worst decision! • Develop your own web site, your own game, your own library! • Listen to podcasts, read articles, blog posts! • Make the most out of your internship even if you’re not obliged to! • Übung macht den meister! J
  • 3. © Commencis 2018. All Rights Reserved. Language > Framework • A new framework is created almost every day! • Framework X may not exist next year! L • Don’t let populism overrule your decisions! • Pick wisely or you’ll suffer. (probably not just you) • Be part of the community and always seek for opportunities to contribute! DJANGO SPRING RUBY ON RAILS EXPRESSJS GWT PLAY ZEND FLASK ANGULARJS REACTJS BOOTSTRAP AKKA SYMFONY LARAVEL CODEIGNITER XAMARIN IONIC JSF
  • 4. © Commencis 2018. All Rights Reserved. Language > Framework > Libraries Most of our code bases are now a mash up of 3• rd party libraries Is library X acDvely developed or abandoned?• Most libraries are hard to configure and usually don’t have a• proper documentaDon Who reads the Release Notes anyway?• Enter circular dependencies!• JDBC HttpClient Swagger Jackson JWT OkHttp pillow ObjectMapper KingFisher requests BeautifulSoup SASS Nokogiri Capistrano VueJS CardJS KeyStone LESS
  • 5. © Commencis 2018. All Rights Reserved. Language > Framework > Libraries > Tools • Tools constantly evolve and it’s hard to keep up. • There are different tools for the same task but each has its own pros & cons • New tools may seem to improve your abilities but this eventually takes a lot of time to adapt & adjust. maven gradle webpack npm yarn bundler brew apt github jira eclipse gulp IntelliJ IDEA vim pip emacs vagrant virtualbox grunt ant jq nodenv pyenv tmux • Sooner or later you’ll discover things like oh-my-zsh and have your own ”dotfiles”. J • Look for open source standards such as editorconfig • Avoid installing tools directly on your OS. Use tools like Virtualbox, Docker and vagrant instead.
  • 6. © Commencis 2018. All Rights Reserved. Language > Framework > Libraries > Tools > Services Each new service means more configura>on, more deployment• considera>ons, more restric>ons. You need to know everything about your selec>on of services and• read through their documenta>on. Environmental restric>ons greatly impact your service selec>ons.• Licensing/pricing condi>ons may hurt.• hazelcast elasticsearch couchbase cassandra hadoop hdfs spark docker logstash mysql kibana rabbitmq SNS lambda dynamodb zookeeper memcache redis firebase • There is no silver bullet! • Look for community support (forums, blogs, events) and help others! • Participate in hackathons and contribute to the upstream if possible.
  • 7. © Commencis 2018. All Rights Reserved. Language > Framework > Libraries > Tools > Services > DevOps • Not all companies have separate DevOps teams, you may find yourself in this situation where you have to manage everything yourself • Choosing your tools & services is cool. But what about its configuration, deployment and scalability? linux http bash nginx apache varnish haproxy GCP bind dnsmasq AWS zsh Azure docker CloudWatch SSH nagios systemd ECS SQL LDAP Kubernetes firewall • Every cloud comes with its own unique solution to a certain problem. • Cloud is relatively easy. How do you manage these on-prem?
  • 8. © Commencis 2018. All Rights Reserved. Language > Framework > Libraries > Tools > Services > DevOps > Processes • Thankfully, most companies have onboarding sessions planned upfront. • Every company has its own unique way of managing processes. Some do pair programming while others prefer regular code reviews. • Code Review is useful for understanding a company’s code styling and daily practices. code review CI deployment kanban sandbox jenkins QA semver gerrit documentation wiki Postman swagger scalability scrum code style pair programming licences • The flow your work goes through from a single line of code to a released package is often called “the pipeline”. Together with the QA processes, it defines a developers requirements and guidelines.
  • 9. THANK YOU! Q u e s t i o n s ?