SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Recipe of a Rockstar Developer

                         Shah Ali Newaj Topu
                 CTO, Secure Link Service Ltd.
Coders Vs Developers
   All of us can code.
   Some of us are brilliant coder.
   Some of us are GEEKS.
   Some of us has solved hundreds of ACM problem
   NONE of us are developers.

                   Coders code
                 Developers Deliver
Delivery Matters
   How many of us did a project that we did not finish
   How many of us did a project we never deployed
   How many of us did a project no one ever used

    You will never learn to deliver until you join the
                         industry
                          BUT
    You may not learn to deliver even after joining
A software is delivered when it
   Works under worst case scenario
   Provides user a comforting User eXperience (Ux)
   Solves the actual business problem
   Can handle scalability
   Has proper and detailed documentation
   Can be iteratively improved
   Can be changed with less cost
   Can be modified and maintained by a person who
    did not originally developed it
A Rockstar developer delivers with style




                    But
            may not look like this
HOW!!
Rockstar triangle



       Best practice               Analytical ability




                       Knowledge
Train your brain
   Learn algorithms as many as you can. Implement a
    few.
   Can you run a multiple recursion in your brain?
   Sit and think before writing code
   Read complex stuff, make an habit to digest things
    that are hard to swallow.
OOP and Design Patterns
   Industry runs on OOP, you will probably not be
    writing code in Erlang.
   Learn to think in objects not in methods
   SOLID principal, get a strong hold on it. SOLID is
    Single responsibility, Open-closed, Liskov
    substitution, Interface segregation and Dependency
    inversion.
   Read GoF. Build a pattern vocabulary.
Refactoring and Code Smell
   Love coding, not the code. Code rots. Code smells.
   Refactor codes to get rid of code smell
   Refactoring is a technique, it’s a skill. You have to
    learn it by practicing it.
   Its vocabulary, learn to talk in the language of
    patterns and refactoring.
Maintainable Code
   Use coding standard. Use IDE plug-in that enforce
    standard.
   Use understandable descriptive naming.
   Write less comment, explain “why” not “what”.
Source Control
   Never, ever work without a source control. Not even
    when you are working alone.
   Learn to merge.
   Use a distributed version control such as Git or
    Mercurial.
Unit Testing and Continuous Integration
   This is a decisive line, Rockstars writes tests.
   Use a CI system, let the compiler do the hard work
    every time you commit.
Pick a side and dig deep
   Choose a technology platform, become an expert on
    that.
   Know very deeply how that platform works, how it
    was built, how it works internally.
   If you work on Java, could you build a JVM your self
Learn SDLC
   Practice Agile methodology.
   Use SCRUM or KANBAN.
User Experience
   Accept the fact that you cannot do the UI yourself.
   Learn about Ux and usability
   Read About Face 3.0
Read Daily and adopt early
   At least follow 5 blogs
   Know all the famous people in your platform, follow
    them, read them.
   Adopt any new technology in your platform as soon
    as it is released as alpha or preview.
Hard Facts
It’s a mine field out there
   MOST of the Companies does not give a damn
    about your
       Career
       Knowledge
       Personal Growth
       Social Life
       Family

           They just want you to get their job done.
                           Period.
You are on your own
   You have to keep learning
       New technology
       New practices
       New standards
       New language
7 questions to ask before you join a
company (other than how much salary they pay you)
   Do you use source control? Which one?
   Do you use any methods such as Scrum to develop?
   Do you have a CI system?
   Do you have senior developers who will work as my
    mentor?
   Do I work alone or in a team?
   Do you have Quality Assurance team?
   Do I have to work over hours? In weekends?
Freelancing damages your career
   Do not decide to freelance only. Becoming a
    Rockstar developer is all about working with other
    Rockstars .
   Freelancing does not have commitments, does not
    allow you to execute best practices.
Further Reading
   http://www.readwriteweb.com/archives/top_10_software_engineer_tr
    aits.php
   http://www.joelonsoftware.com/
   http://www.amazon.com/Design-Patterns-Elements-Object-Oriented-
    ebook/dp/B000SEIBB8
   http://www.amazon.com/About-Face-Essentials-Interaction-
    Design/dp/0470084111
   http://www.amazon.com/Refactoring-Improving-Design-Existing-
    Code/dp/0201485672
   http://www.amazon.com/Refactoring-Patterns-Joshua-
    Kerievsky/dp/0321213351/ref=pd_sim_b_9
   http://www.amazon.com/Test-Driven-Development-By-
    Example/dp/0321146530/ref=pd_sim_b_6
Questions
Thank you all for participating.

Contenu connexe

Tendances

Building an Awesome Engineering Culture
Building an Awesome Engineering CultureBuilding an Awesome Engineering Culture
Building an Awesome Engineering CultureUri Nativ
 
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperLemi Orhan Ergin
 
Small Hyper-Productive Teams (IT Brunch)
Small Hyper-Productive Teams (IT Brunch)Small Hyper-Productive Teams (IT Brunch)
Small Hyper-Productive Teams (IT Brunch)Mikalai Alimenkou
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Agile ME
 
Beyond Full Stack Engineering
Beyond Full Stack EngineeringBeyond Full Stack Engineering
Beyond Full Stack EngineeringAdam Hepton
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile designIgor Moochnick
 
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Trainingfaizrashid1995
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users AnonymousDave Haeffner
 
Automated testing with visual studio 2010
Automated testing with visual studio 2010Automated testing with visual studio 2010
Automated testing with visual studio 2010Andrew Woodward
 
Pair Programming (2014)
Pair Programming (2014)Pair Programming (2014)
Pair Programming (2014)Peter Kofler
 
Agile design pattern
Agile design patternAgile design pattern
Agile design patternPoppy Martono
 
Dev Learn Handout - Session 604
Dev Learn Handout - Session 604Dev Learn Handout - Session 604
Dev Learn Handout - Session 604Chad Udell
 
What all things to consider for a good career in java
What all things to consider for a good career in javaWhat all things to consider for a good career in java
What all things to consider for a good career in javaJanBask Training
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Bosnia Agile
 
How to Deliver the Right Software (Specification by example)
How to Deliver the Right Software (Specification by example)How to Deliver the Right Software (Specification by example)
How to Deliver the Right Software (Specification by example)Asier Barrenetxea
 
Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?Danny van Kasteel
 
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software DevelopmentJAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Developmentjazoon13
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Bhavin Javia
 
Agile testing for mere mortals
Agile testing for mere mortalsAgile testing for mere mortals
Agile testing for mere mortalsDave Haeffner
 
Agille Testing Meetup 1
Agille Testing Meetup 1Agille Testing Meetup 1
Agille Testing Meetup 1Nathan Bain
 

Tendances (20)

Building an Awesome Engineering Culture
Building an Awesome Engineering CultureBuilding an Awesome Engineering Culture
Building an Awesome Engineering Culture
 
Irresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical DeveloperIrresponsible Disclosure: Short Handbook of an Ethical Developer
Irresponsible Disclosure: Short Handbook of an Ethical Developer
 
Small Hyper-Productive Teams (IT Brunch)
Small Hyper-Productive Teams (IT Brunch)Small Hyper-Productive Teams (IT Brunch)
Small Hyper-Productive Teams (IT Brunch)
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
 
Beyond Full Stack Engineering
Beyond Full Stack EngineeringBeyond Full Stack Engineering
Beyond Full Stack Engineering
 
Best practices for agile design
Best practices for agile designBest practices for agile design
Best practices for agile design
 
Android Developer Training
Android Developer TrainingAndroid Developer Training
Android Developer Training
 
Selenium Users Anonymous
Selenium Users AnonymousSelenium Users Anonymous
Selenium Users Anonymous
 
Automated testing with visual studio 2010
Automated testing with visual studio 2010Automated testing with visual studio 2010
Automated testing with visual studio 2010
 
Pair Programming (2014)
Pair Programming (2014)Pair Programming (2014)
Pair Programming (2014)
 
Agile design pattern
Agile design patternAgile design pattern
Agile design pattern
 
Dev Learn Handout - Session 604
Dev Learn Handout - Session 604Dev Learn Handout - Session 604
Dev Learn Handout - Session 604
 
What all things to consider for a good career in java
What all things to consider for a good career in javaWhat all things to consider for a good career in java
What all things to consider for a good career in java
 
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
 
How to Deliver the Right Software (Specification by example)
How to Deliver the Right Software (Specification by example)How to Deliver the Right Software (Specification by example)
How to Deliver the Right Software (Specification by example)
 
Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?Unit Test Lab - Why Write Unit Tests?
Unit Test Lab - Why Write Unit Tests?
 
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software DevelopmentJAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
 
Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...Productive Programmer - Using IDE effectively and various small practices to ...
Productive Programmer - Using IDE effectively and various small practices to ...
 
Agile testing for mere mortals
Agile testing for mere mortalsAgile testing for mere mortals
Agile testing for mere mortals
 
Agille Testing Meetup 1
Agille Testing Meetup 1Agille Testing Meetup 1
Agille Testing Meetup 1
 

Similaire à Recipe of a rockstar developer

Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsSteven Smith
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsChristian Heilmann
 
TDD - Cultivating a Beginner's Mind
TDD -  Cultivating a Beginner's MindTDD -  Cultivating a Beginner's Mind
TDD - Cultivating a Beginner's MindShai Yallin
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdodaniil3
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestCory Foy
 
corporateJavascript
corporateJavascriptcorporateJavascript
corporateJavascriptclimboid
 
On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)Zoe Landon
 
Front-End Modernization for Mortals
Front-End Modernization for MortalsFront-End Modernization for Mortals
Front-End Modernization for Mortalscgack
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernizationdevObjective
 
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Abdelkrim Boujraf
 
Advanced java script essentials v1
Advanced java script essentials v1Advanced java script essentials v1
Advanced java script essentials v1ASHUTOSHPATKAR1
 
Beginners guide-to-coding-updated
Beginners guide-to-coding-updatedBeginners guide-to-coding-updated
Beginners guide-to-coding-updatedSaidLezzar
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014michaelag1971
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovSvetlin Nakov
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notesjaxarcsig
 
Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)David Wesst
 
Resep jadi rockstar developer
Resep jadi rockstar developerResep jadi rockstar developer
Resep jadi rockstar developerrendra toro
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to ProductionKarthik Gaekwad
 
15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript Programming15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript ProgrammingFusionCharts
 

Similaire à Recipe of a rockstar developer (20)

Cinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patternsCinci ug-january2011-anti-patterns
Cinci ug-january2011-anti-patterns
 
Planning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teamsPlanning JavaScript and Ajax for larger teams
Planning JavaScript and Ajax for larger teams
 
TDD - Cultivating a Beginner's Mind
TDD -  Cultivating a Beginner's MindTDD -  Cultivating a Beginner's Mind
TDD - Cultivating a Beginner's Mind
 
You shouldneverdo
You shouldneverdoYou shouldneverdo
You shouldneverdo
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
 
corporateJavascript
corporateJavascriptcorporateJavascript
corporateJavascript
 
On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)On Selecting JavaScript Frameworks (Women Who Code 10/15)
On Selecting JavaScript Frameworks (Women Who Code 10/15)
 
Front-End Modernization for Mortals
Front-End Modernization for MortalsFront-End Modernization for Mortals
Front-End Modernization for Mortals
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernization
 
Front end-modernization
Front end-modernizationFront end-modernization
Front end-modernization
 
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
Test-Driven Developments are Inefficient; Behavior-Driven Developments are a ...
 
Advanced java script essentials v1
Advanced java script essentials v1Advanced java script essentials v1
Advanced java script essentials v1
 
Beginners guide-to-coding-updated
Beginners guide-to-coding-updatedBeginners guide-to-coding-updated
Beginners guide-to-coding-updated
 
Scottish Ruby Conference 2014
Scottish Ruby Conference  2014Scottish Ruby Conference  2014
Scottish Ruby Conference 2014
 
Agile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin NakovAgile Methodologies And Extreme Programming - Svetlin Nakov
Agile Methodologies And Extreme Programming - Svetlin Nakov
 
Enterprise ipad Development with notes
Enterprise ipad Development with notesEnterprise ipad Development with notes
Enterprise ipad Development with notes
 
Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)Learning to be IDE Free (PrDC 2015)
Learning to be IDE Free (PrDC 2015)
 
Resep jadi rockstar developer
Resep jadi rockstar developerResep jadi rockstar developer
Resep jadi rockstar developer
 
30 days or less: New Features to Production
30 days or less: New Features to Production30 days or less: New Features to Production
30 days or less: New Features to Production
 
15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript Programming15 Experts on the Art of JavaScript Programming
15 Experts on the Art of JavaScript Programming
 

Dernier

The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...Aggregage
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7DianaGray10
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Websitedgelyza
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024SkyPlanner
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Brian Pichman
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDELiveplex
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfJamie (Taka) Wang
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioChristian Posta
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsSafe Software
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAshyamraj55
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfDaniel Santiago Silva Capera
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopBachir Benyammi
 

Dernier (20)

20230104 - machine vision
20230104 - machine vision20230104 - machine vision
20230104 - machine vision
 
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
The Data Metaverse: Unpacking the Roles, Use Cases, and Tech Trends in Data a...
 
UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7UiPath Studio Web workshop series - Day 7
UiPath Studio Web workshop series - Day 7
 
COMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a WebsiteCOMPUTER 10 Lesson 8 - Building a Website
COMPUTER 10 Lesson 8 - Building a Website
 
Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024Salesforce Miami User Group Event - 1st Quarter 2024
Salesforce Miami User Group Event - 1st Quarter 2024
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )Building Your Own AI Instance (TBLC AI )
Building Your Own AI Instance (TBLC AI )
 
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDEADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
ADOPTING WEB 3 FOR YOUR BUSINESS: A STEP-BY-STEP GUIDE
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
activity_diagram_combine_v4_20190827.pdfactivity_diagram_combine_v4_20190827.pdf
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Comparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and IstioComparing Sidecar-less Service Mesh from Cilium and Istio
Comparing Sidecar-less Service Mesh from Cilium and Istio
 
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration WorkflowsIgniting Next Level Productivity with AI-Infused Data Integration Workflows
Igniting Next Level Productivity with AI-Infused Data Integration Workflows
 
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPAAnypoint Code Builder , Google Pub sub connector and MuleSoft RPA
Anypoint Code Builder , Google Pub sub connector and MuleSoft RPA
 
20150722 - AGV
20150722 - AGV20150722 - AGV
20150722 - AGV
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdfIaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
IaC & GitOps in a Nutshell - a FridayInANuthshell Episode.pdf
 
NIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 WorkshopNIST Cybersecurity Framework (CSF) 2.0 Workshop
NIST Cybersecurity Framework (CSF) 2.0 Workshop
 

Recipe of a rockstar developer

  • 1. Recipe of a Rockstar Developer Shah Ali Newaj Topu CTO, Secure Link Service Ltd.
  • 2. Coders Vs Developers  All of us can code.  Some of us are brilliant coder.  Some of us are GEEKS.  Some of us has solved hundreds of ACM problem  NONE of us are developers. Coders code Developers Deliver
  • 3. Delivery Matters  How many of us did a project that we did not finish  How many of us did a project we never deployed  How many of us did a project no one ever used You will never learn to deliver until you join the industry BUT You may not learn to deliver even after joining
  • 4. A software is delivered when it  Works under worst case scenario  Provides user a comforting User eXperience (Ux)  Solves the actual business problem  Can handle scalability  Has proper and detailed documentation  Can be iteratively improved  Can be changed with less cost  Can be modified and maintained by a person who did not originally developed it
  • 5. A Rockstar developer delivers with style But may not look like this
  • 7. Rockstar triangle Best practice Analytical ability Knowledge
  • 8. Train your brain  Learn algorithms as many as you can. Implement a few.  Can you run a multiple recursion in your brain?  Sit and think before writing code  Read complex stuff, make an habit to digest things that are hard to swallow.
  • 9. OOP and Design Patterns  Industry runs on OOP, you will probably not be writing code in Erlang.  Learn to think in objects not in methods  SOLID principal, get a strong hold on it. SOLID is Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion.  Read GoF. Build a pattern vocabulary.
  • 10. Refactoring and Code Smell  Love coding, not the code. Code rots. Code smells.  Refactor codes to get rid of code smell  Refactoring is a technique, it’s a skill. You have to learn it by practicing it.  Its vocabulary, learn to talk in the language of patterns and refactoring.
  • 11. Maintainable Code  Use coding standard. Use IDE plug-in that enforce standard.  Use understandable descriptive naming.  Write less comment, explain “why” not “what”.
  • 12. Source Control  Never, ever work without a source control. Not even when you are working alone.  Learn to merge.  Use a distributed version control such as Git or Mercurial.
  • 13. Unit Testing and Continuous Integration  This is a decisive line, Rockstars writes tests.  Use a CI system, let the compiler do the hard work every time you commit.
  • 14. Pick a side and dig deep  Choose a technology platform, become an expert on that.  Know very deeply how that platform works, how it was built, how it works internally.  If you work on Java, could you build a JVM your self
  • 15. Learn SDLC  Practice Agile methodology.  Use SCRUM or KANBAN.
  • 16. User Experience  Accept the fact that you cannot do the UI yourself.  Learn about Ux and usability  Read About Face 3.0
  • 17. Read Daily and adopt early  At least follow 5 blogs  Know all the famous people in your platform, follow them, read them.  Adopt any new technology in your platform as soon as it is released as alpha or preview.
  • 19. It’s a mine field out there  MOST of the Companies does not give a damn about your  Career  Knowledge  Personal Growth  Social Life  Family They just want you to get their job done. Period.
  • 20. You are on your own  You have to keep learning  New technology  New practices  New standards  New language
  • 21. 7 questions to ask before you join a company (other than how much salary they pay you)  Do you use source control? Which one?  Do you use any methods such as Scrum to develop?  Do you have a CI system?  Do you have senior developers who will work as my mentor?  Do I work alone or in a team?  Do you have Quality Assurance team?  Do I have to work over hours? In weekends?
  • 22. Freelancing damages your career  Do not decide to freelance only. Becoming a Rockstar developer is all about working with other Rockstars .  Freelancing does not have commitments, does not allow you to execute best practices.
  • 23. Further Reading  http://www.readwriteweb.com/archives/top_10_software_engineer_tr aits.php  http://www.joelonsoftware.com/  http://www.amazon.com/Design-Patterns-Elements-Object-Oriented- ebook/dp/B000SEIBB8  http://www.amazon.com/About-Face-Essentials-Interaction- Design/dp/0470084111  http://www.amazon.com/Refactoring-Improving-Design-Existing- Code/dp/0201485672  http://www.amazon.com/Refactoring-Patterns-Joshua- Kerievsky/dp/0321213351/ref=pd_sim_b_9  http://www.amazon.com/Test-Driven-Development-By- Example/dp/0321146530/ref=pd_sim_b_6
  • 25. Thank you all for participating.