SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
Supported By:
Developers Nepal Meetup #4 was organized on February 4 at Fusemachines Nepal. The event
was organized by the team of Developers Nepal and supported by Toptal.
Introduction to the theme of the meetup
Avinash Kundaliya from the Developers Nepal team introduced the theme of the meetup. While
meetup #3 was focussed on Code Reviews, we had decided to put testing into spotlight for this
edition.
Anish Joshi from Fusemachines Nepal introduced Fusemachines, the vision of the company
and talked about their products that includes Sales Automation software using AI and Machine
Learning to help businesses find leads.
Fusemachines recently announced a $25,000 scholarship for 25 students to learn Artificial
Intelligence with guidance from international professors, including their CEO Sameer Maskey.
Presentations
SOA With Consul
Rajesh Sharma, co-founder of Vantage Tech
Having started a career as a web developer with PHP
around 7 years ago, now he designs, architects and
builds web and mobile applications. Currently when he
is coding he is mostly doing front-end development with
coffee and react. When he is not coding though, he is
monitoring/managing many cloud deployments of web
applications and trying to make them as autonomous as
possible to make his life easier, or may be just fooling
around in the internet.
During his presentation, Rajesh talked about the challenges of managing 500 servers. He talked
about other existing solutions like Zookeeper and their limitations. Consul is not just a
distributed service discovery solution, it has other features like HealthCheck, configuration
management and orchestration which make it a complete package.
According to Rajesh, a cluster of 3 Consul servers can seamlessly manage 100s of Consul
clients without the developer having to remember all the IPs of the 100 clients.
Rajesh introduced the server and client configurations for a typical Consul setup and the API
endpoints that Consul provides to help you run and maintain SOA at scale.
Remote Work - Challenges and Opportunities
Punit Jajodia, Software Developer at Toptal
Punit is an entrepreneur and software developer from
Kathmandu, Nepal. Versatility is his biggest strength, as
he has worked on a variety of projects from real-time 3D
simulations on the browser and big data analytics to
Windows application development. He has also recently ventured into training on the MEAN
stack.
In his presentation, Punit outlined the opportunities that come from working remotely. He talked
about his experience of working with Toptal.com and about the numerous benefits like Flexible
hours, better pay, ability to choose interesting projects, freedom to design your own workspace
and work-life balance.
There are also lots of challenges that one has to face while working remotely. Fluency in
English is a must. Cultural differences between you and your client can cause issues.
Timezones can cause considerable confusion while planning meetings. The ability to manage
time alone and time between projects, lack of routine and fitness are other challenges.
Punit ended his presentation on a note that remote work is not for everyone and you have to
make an active effort to make sure that you are able to overcome the challenges and reap the
benefits.
His p​resentation​ is available on slideshare.
Things I wished I knew as a junior developer
Geshan Manandhar, QM Lead/Sr. Software engineer at
Namshi
Geshan is a seasoned software engineer, he has more than
8 years of software engineering experience. Currently in
Dubai, UAE serving Namshi as Quality and Maintenance
Lead/Sr. Software Engineer. He has a keen interest on
REST architecture, Service Oriented Architecture (SOA) and
Microservices. He believes in agile methods for software
engineering. He is also interested in Quality Assurance
(QA), blogging is something he likes to do in his free time.
Geshan introduces himself as an agile follower and conditional microservices believer.
Through a story of a dog chasing a bird while jumping off a cliff, Geshan talked about the
difference between junior and senior software engineers, citing that ​senior software engineers
are able to take calculated risks to achieve business goals without panicking​.
He talked about the qualities that separate great devs from the worst, backed by ​research data​.
In the next few slides, he outlined the things he wished he had focussed on as a junior
developer. He believes that if junior developers learn these lessons, they can avoid mistakes
and become better at their job:
● Solutions and value to business is much more important than the latest
language/framework.
● Be strong in the basics.
● First, solve the problem. Then, write the code. - John Johnson
● Writing simple and clear code is more difficult than writing magic code.
● Code reviews help both the reviewer and reviewee.
● (Automated) Testing is easier than debugging.
● Automation is King.
● Application logs + monitoring save your sleep.
● Non tech things are very important like proactive communication, being on time etc.
● You might not need that abstraction - like an ORM.
You can find his ​presentation slides​ on slideshare.
Networking Session
3 consecutive presentations can be tiring, so the participants took a short break to stretch their
muscles and have some coffee with conversations.
Panel Discussion
The topic for the panel discussion was "Automated Tests, do we really need them". We had
assembled a team of elite senior software engineers from the top software companies in Nepal
to discuss test automation and their value to business.
Panelists
Amrit G.C
Senior Software Engineer at IntroCept Nepal
Amrit G.C. is a web developer currently working as Senior
Software Engineer at IntroCept Nepal. He is passionate about
writing clean, elegant, simple code. He enjoy being challenged,
work outside of comfort and knowledge set, as continuing to learn
new languages and development techniques.
Laxman Manandhar
Senior Software Engineer at Versend
Laxman is a programming enthusiastic who loves Problem Solving,
Technology & Product Innovation. Currently working at Verscend
Technologies(Verisk rebranded ).
Doing Java web-based applications design and development.
Experienced in Distributed Systems, Web 2.0, SOA and Scalability.
Narendra Chitrakar
Senior Software engineer at Pagevamp
Narendra is a senior software engineer at Pagevamp. He is more
into design and architecture of distributed systems than just coding
them. When he codes, he does so in PHP and Javascript. He
always loves learning new things. He cherishes exploring new
places
Rakeeb Rajbhandari
Lead Mobile Application Developer at YIPL
Passionate about the green bot that is Android, Rakeeb has been
involved in 10+ projects, notable projects being "Ncell App Camp
2015", "SelfHelp" and "Trekking in Nepal". He is a lead mobile
application developer @ YIPL and has a genuine love for
learning.
Sagun Shrestha
Senior Software Engineer at Jyaasa Technologies
Software Engineer with never ending thirst to learn more. Core
expertise is Ruby and its frameworks, Believer of TDD. And
recently started exploring functional programming concepts.
Enjoys listening to classic rock n roll songs.
Q&A
1. Do you write automated tests? Should we even do it?
Panelists:​ Yes we write automated tests and it is very important regardless of the language and
framework we use. It gives us confidence to go to production. Unit tests are like the second
compiler of the code. Unit tests saves our time and cost on the long run. It also helps to design
better code.
2. Do we need a QA person, if we have automated tests?
Panelists:​ Yes QA and manual testing is needed regardless of automated tests. User
acceptance is necessary. Think about test pyramid by Martin Fowler and have tests accordingly
where you have lots of units tests, lesser integration tests and UI tests for generally happy path.
Have a good balance between manual and automated tests. UI tests are must for mobile
applications.
3. What is your plan for tests?
Panelists: ​We inform our management of tests and we add test time to our estimation. Tests
are initiated from developers then management asking you to write tests. We include test
planning in the sprint planning if we are using scrum.
4. How do you deal with not handling edge cases even with tests?
Panelists: ​It more about developers mentality and experience with writing tests. If you have
tests coverage it helps. If you do TDD you have a higher test code coverage by default. Code
coverage cannot be the only measure. Basically “write tests for things you are afraid of for
example if you work with money”. There is a question of how smartly the developer deals with
tests.
5. How important is it to write testable code?
Panelists: ​If you want to add test code to a legacy project, start with UI tests which doesn't
need to know about the testable code. Go from outside to inside. Testing also helps you write
better designed code. To test your legacy code, refactor it bit by bit at a time. Make your code
testable then test it. Having tests make your code reusable, modular and more maintainable.
Write higher level tests, then ensure your features have some confidence then go to lower level
tests like unit tests. There is no secrets of writing tests but there are secrets from writing testable
code.
6. What is the most effective way to introduce automated test in a maual testing
environment?
Panelists: ​We had fully manual tests, we just introduced CodeceptJs to do some automated
manual tests. Start from basics like just have smoke tests, when you see benefit then add more
tests that suits your needs. Take an outside in approach. Start small then go deeper.
7. What percent of code coverage do you need? What is the standard for minimum
code coverage?
Panelists: ​We use sonar to put in place quality gates that doesn't let us push code if the code
does not meet x (80%) code coverage, the build basically fails. Test coverage is a measure but
not the primary measure for testing and reliability. Test your core business value functionality
well. For a start up, you might need to set your priorities correct aligned with the business
needs.
8. How are QA involved in the acceptance tests?
Panelists: ​Our QA has stepped up and started to automate tests. Manual testing will be needed
for critical things like checkout. Non critical things can surely be automated tests. There is some
focus on UI automated tests that go hand in hand with manual tests.
9. How can we measure the impact of unit/automated tests? Any metrics?
Panelists: ​The main metic you can follow is the number of errors on production before and after
writing tests. Error notification does help on this. Another measure can be the confidence in
developers which can’t be really measured but it can be felt well with positive energy in the
team. Velocity of the team increases on the long run even though it can go a bit down in the
beginning. I as a developer can sleep soundly at night, this is a great benefit. After writing tests
the code is more managed and structured than before. It increases code quality.
Wrapping up
The event was wrapped up with coffee mugs for the speakers, panelists and venue sponsors.
Meetup feedback
The feedback form was well received by participants who said that they would not only attend
the next meetup, but also recommend their friends to attend.

Weitere ähnliche Inhalte

Was ist angesagt?

Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development
bryanbibat
 
Astha Sharma_PS Technical
Astha Sharma_PS TechnicalAstha Sharma_PS Technical
Astha Sharma_PS Technical
Astha Sharma
 
Software craftsmanshippresentation
Software craftsmanshippresentationSoftware craftsmanshippresentation
Software craftsmanshippresentation
Meagan Waller
 

Was ist angesagt? (20)

Yogesh_Kadam
Yogesh_KadamYogesh_Kadam
Yogesh_Kadam
 
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 201810 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
10 Faulty Behaviors of Code Review - Developer Summit Istanbul 2018
 
Advice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOpsAdvice on how to get started — and ahead — in a career in DevOps
Advice on how to get started — and ahead — in a career in DevOps
 
Unwritten Manual for Pair Programming
Unwritten Manual for Pair ProgrammingUnwritten Manual for Pair Programming
Unwritten Manual for Pair Programming
 
Clean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design SimpleClean Software Design: The Practices to Make The Design Simple
Clean Software Design: The Practices to Make The Design Simple
 
Training report
Training reportTraining report
Training report
 
DevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to PracticeDevOps & Technical Agility: From Theory to Practice
DevOps & Technical Agility: From Theory to Practice
 
Nupur Mahajan
Nupur MahajanNupur Mahajan
Nupur Mahajan
 
Guided Path to DevOps Career.
Guided Path to DevOps Career.Guided Path to DevOps Career.
Guided Path to DevOps Career.
 
Idea7 Jug
Idea7 JugIdea7 Jug
Idea7 Jug
 
Java J2ee Developer (7140)
Java J2ee Developer (7140)Java J2ee Developer (7140)
Java J2ee Developer (7140)
 
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 ...
 
Facecode
FacecodeFacecode
Facecode
 
Some Myths in Software Development
Some Myths in Software DevelopmentSome Myths in Software Development
Some Myths in Software Development
 
Astha Sharma_PS Technical
Astha Sharma_PS TechnicalAstha Sharma_PS Technical
Astha Sharma_PS Technical
 
AmanBansal
AmanBansalAmanBansal
AmanBansal
 
Software craftsmanshippresentation
Software craftsmanshippresentationSoftware craftsmanshippresentation
Software craftsmanshippresentation
 
Scrum Events and Artifacts in Action
Scrum Events and Artifacts in ActionScrum Events and Artifacts in Action
Scrum Events and Artifacts in Action
 
Waste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia MeetupWaste Driven Development - Agile Coaching Serbia Meetup
Waste Driven Development - Agile Coaching Serbia Meetup
 
JaiPrakashTiwari_Resume
JaiPrakashTiwari_ResumeJaiPrakashTiwari_Resume
JaiPrakashTiwari_Resume
 

Ähnlich wie Developers Nepal Meetup #4 Report

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
Svetlin Nakov
 
Sampath_Test_Engineer_with_7 Years of Exp
Sampath_Test_Engineer_with_7 Years of ExpSampath_Test_Engineer_with_7 Years of Exp
Sampath_Test_Engineer_with_7 Years of Exp
Sampath Kumar
 

Ähnlich wie Developers Nepal Meetup #4 Report (20)

How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developer
 
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
 
Software Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdfSoftware Development Simplified - A Beginner's Guide.pdf
Software Development Simplified - A Beginner's Guide.pdf
 
Agile Methodologies And Extreme Programming
Agile Methodologies And Extreme ProgrammingAgile Methodologies And Extreme Programming
Agile Methodologies And Extreme Programming
 
projectreport.pdf
projectreport.pdfprojectreport.pdf
projectreport.pdf
 
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
Enterprise Devops Presentation @ Magentys Seminar London May 15 2014
 
Sampath_Test_Engineer_with_7 Years of Exp
Sampath_Test_Engineer_with_7 Years of ExpSampath_Test_Engineer_with_7 Years of Exp
Sampath_Test_Engineer_with_7 Years of Exp
 
Canang Workshop: Developer to Developer
Canang Workshop: Developer to DeveloperCanang Workshop: Developer to Developer
Canang Workshop: Developer to Developer
 
Introduction to Agile Software Development & Python
Introduction to Agile Software Development & PythonIntroduction to Agile Software Development & Python
Introduction to Agile Software Development & Python
 
Dragonfly Software Testing
Dragonfly Software TestingDragonfly Software Testing
Dragonfly Software Testing
 
SAP Development Object Testing
SAP Development Object TestingSAP Development Object Testing
SAP Development Object Testing
 
Parinaz Doomasia_CV
Parinaz Doomasia_CVParinaz Doomasia_CV
Parinaz Doomasia_CV
 
Blog-guide-to-hire-remote-developers-in-2023-.pdf
Blog-guide-to-hire-remote-developers-in-2023-.pdfBlog-guide-to-hire-remote-developers-in-2023-.pdf
Blog-guide-to-hire-remote-developers-in-2023-.pdf
 
Best 5 Swift IDEs and Code Editors for Your Next iOS Project.pdf
Best 5 Swift IDEs and Code Editors for Your Next iOS Project.pdfBest 5 Swift IDEs and Code Editors for Your Next iOS Project.pdf
Best 5 Swift IDEs and Code Editors for Your Next iOS Project.pdf
 
Software engineering in the agile manifesto
Software engineering in the agile manifestoSoftware engineering in the agile manifesto
Software engineering in the agile manifesto
 
Career opportunities in software development.pptx
Career opportunities in software development.pptxCareer opportunities in software development.pptx
Career opportunities in software development.pptx
 
The Future of Software Exploring AI Machine Learning and Beyond
The Future of Software Exploring AI Machine Learning and BeyondThe Future of Software Exploring AI Machine Learning and Beyond
The Future of Software Exploring AI Machine Learning and Beyond
 
Share Vision First Trip
Share Vision First TripShare Vision First Trip
Share Vision First Trip
 
Mahesh_J_Resume.docx
Mahesh_J_Resume.docxMahesh_J_Resume.docx
Mahesh_J_Resume.docx
 
Six Steps to Conversation Driven Development
Six Steps to Conversation Driven DevelopmentSix Steps to Conversation Driven Development
Six Steps to Conversation Driven Development
 

Mehr von Punit Jajodia

Mehr von Punit Jajodia (9)

How I grew programiz.com to 3 million montly views
How I grew programiz.com to 3 million montly viewsHow I grew programiz.com to 3 million montly views
How I grew programiz.com to 3 million montly views
 
Streamlining .net core development using Docker
Streamlining .net core development using DockerStreamlining .net core development using Docker
Streamlining .net core development using Docker
 
Final presentation digital sarkaar
Final presentation digital sarkaarFinal presentation digital sarkaar
Final presentation digital sarkaar
 
Remote work challenges and opportunities punit jajodia (1)
Remote work challenges and opportunities   punit jajodia (1)Remote work challenges and opportunities   punit jajodia (1)
Remote work challenges and opportunities punit jajodia (1)
 
Do’s & don’ts of interview
Do’s & don’ts of interviewDo’s & don’ts of interview
Do’s & don’ts of interview
 
Office ergonomics
Office ergonomicsOffice ergonomics
Office ergonomics
 
Visualizing data with d3
Visualizing data with d3Visualizing data with d3
Visualizing data with d3
 
Net neutrality in Nepal - what you need to know
Net neutrality in Nepal - what you need to knowNet neutrality in Nepal - what you need to know
Net neutrality in Nepal - what you need to know
 
What management students need to know about IT
What management students need to know about ITWhat management students need to know about IT
What management students need to know about IT
 

Kürzlich hochgeladen

VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Christo Ananth
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
Tonystark477637
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 

Kürzlich hochgeladen (20)

BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTINGMANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
MANUFACTURING PROCESS-II UNIT-1 THEORY OF METAL CUTTING
 
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
The Most Attractive Pune Call Girls Manchar 8250192130 Will You Miss This Cha...
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
Call Girls Pimpri Chinchwad Call Me 7737669865 Budget Friendly No Advance Boo...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
Call for Papers - Educational Administration: Theory and Practice, E-ISSN: 21...
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINEDJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
DJARUM4D - SLOT GACOR ONLINE | SLOT DEMO ONLINE
 
result management system report for college project
result management system report for college projectresult management system report for college project
result management system report for college project
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)Java Programming :Event Handling(Types of Events)
Java Programming :Event Handling(Types of Events)
 
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINEMANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
MANUFACTURING PROCESS-II UNIT-2 LATHE MACHINE
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 

Developers Nepal Meetup #4 Report

  • 2. Developers Nepal Meetup #4 was organized on February 4 at Fusemachines Nepal. The event was organized by the team of Developers Nepal and supported by Toptal. Introduction to the theme of the meetup Avinash Kundaliya from the Developers Nepal team introduced the theme of the meetup. While meetup #3 was focussed on Code Reviews, we had decided to put testing into spotlight for this edition. Anish Joshi from Fusemachines Nepal introduced Fusemachines, the vision of the company and talked about their products that includes Sales Automation software using AI and Machine Learning to help businesses find leads. Fusemachines recently announced a $25,000 scholarship for 25 students to learn Artificial Intelligence with guidance from international professors, including their CEO Sameer Maskey. Presentations SOA With Consul Rajesh Sharma, co-founder of Vantage Tech Having started a career as a web developer with PHP around 7 years ago, now he designs, architects and builds web and mobile applications. Currently when he is coding he is mostly doing front-end development with coffee and react. When he is not coding though, he is monitoring/managing many cloud deployments of web applications and trying to make them as autonomous as possible to make his life easier, or may be just fooling around in the internet. During his presentation, Rajesh talked about the challenges of managing 500 servers. He talked about other existing solutions like Zookeeper and their limitations. Consul is not just a distributed service discovery solution, it has other features like HealthCheck, configuration management and orchestration which make it a complete package. According to Rajesh, a cluster of 3 Consul servers can seamlessly manage 100s of Consul clients without the developer having to remember all the IPs of the 100 clients.
  • 3. Rajesh introduced the server and client configurations for a typical Consul setup and the API endpoints that Consul provides to help you run and maintain SOA at scale. Remote Work - Challenges and Opportunities Punit Jajodia, Software Developer at Toptal Punit is an entrepreneur and software developer from Kathmandu, Nepal. Versatility is his biggest strength, as he has worked on a variety of projects from real-time 3D simulations on the browser and big data analytics to
  • 4. Windows application development. He has also recently ventured into training on the MEAN stack. In his presentation, Punit outlined the opportunities that come from working remotely. He talked about his experience of working with Toptal.com and about the numerous benefits like Flexible hours, better pay, ability to choose interesting projects, freedom to design your own workspace and work-life balance. There are also lots of challenges that one has to face while working remotely. Fluency in English is a must. Cultural differences between you and your client can cause issues. Timezones can cause considerable confusion while planning meetings. The ability to manage time alone and time between projects, lack of routine and fitness are other challenges.
  • 5. Punit ended his presentation on a note that remote work is not for everyone and you have to make an active effort to make sure that you are able to overcome the challenges and reap the benefits. His p​resentation​ is available on slideshare. Things I wished I knew as a junior developer Geshan Manandhar, QM Lead/Sr. Software engineer at Namshi Geshan is a seasoned software engineer, he has more than 8 years of software engineering experience. Currently in Dubai, UAE serving Namshi as Quality and Maintenance Lead/Sr. Software Engineer. He has a keen interest on REST architecture, Service Oriented Architecture (SOA) and Microservices. He believes in agile methods for software engineering. He is also interested in Quality Assurance (QA), blogging is something he likes to do in his free time. Geshan introduces himself as an agile follower and conditional microservices believer. Through a story of a dog chasing a bird while jumping off a cliff, Geshan talked about the difference between junior and senior software engineers, citing that ​senior software engineers are able to take calculated risks to achieve business goals without panicking​. He talked about the qualities that separate great devs from the worst, backed by ​research data​.
  • 6. In the next few slides, he outlined the things he wished he had focussed on as a junior developer. He believes that if junior developers learn these lessons, they can avoid mistakes and become better at their job: ● Solutions and value to business is much more important than the latest language/framework. ● Be strong in the basics. ● First, solve the problem. Then, write the code. - John Johnson ● Writing simple and clear code is more difficult than writing magic code. ● Code reviews help both the reviewer and reviewee. ● (Automated) Testing is easier than debugging. ● Automation is King. ● Application logs + monitoring save your sleep. ● Non tech things are very important like proactive communication, being on time etc.
  • 7. ● You might not need that abstraction - like an ORM. You can find his ​presentation slides​ on slideshare. Networking Session 3 consecutive presentations can be tiring, so the participants took a short break to stretch their muscles and have some coffee with conversations.
  • 8. Panel Discussion The topic for the panel discussion was "Automated Tests, do we really need them". We had assembled a team of elite senior software engineers from the top software companies in Nepal to discuss test automation and their value to business. Panelists Amrit G.C Senior Software Engineer at IntroCept Nepal Amrit G.C. is a web developer currently working as Senior Software Engineer at IntroCept Nepal. He is passionate about writing clean, elegant, simple code. He enjoy being challenged, work outside of comfort and knowledge set, as continuing to learn new languages and development techniques. Laxman Manandhar Senior Software Engineer at Versend Laxman is a programming enthusiastic who loves Problem Solving, Technology & Product Innovation. Currently working at Verscend Technologies(Verisk rebranded ). Doing Java web-based applications design and development. Experienced in Distributed Systems, Web 2.0, SOA and Scalability. Narendra Chitrakar Senior Software engineer at Pagevamp Narendra is a senior software engineer at Pagevamp. He is more into design and architecture of distributed systems than just coding them. When he codes, he does so in PHP and Javascript. He always loves learning new things. He cherishes exploring new places
  • 9. Rakeeb Rajbhandari Lead Mobile Application Developer at YIPL Passionate about the green bot that is Android, Rakeeb has been involved in 10+ projects, notable projects being "Ncell App Camp 2015", "SelfHelp" and "Trekking in Nepal". He is a lead mobile application developer @ YIPL and has a genuine love for learning. Sagun Shrestha Senior Software Engineer at Jyaasa Technologies Software Engineer with never ending thirst to learn more. Core expertise is Ruby and its frameworks, Believer of TDD. And recently started exploring functional programming concepts. Enjoys listening to classic rock n roll songs.
  • 10. Q&A 1. Do you write automated tests? Should we even do it? Panelists:​ Yes we write automated tests and it is very important regardless of the language and framework we use. It gives us confidence to go to production. Unit tests are like the second compiler of the code. Unit tests saves our time and cost on the long run. It also helps to design better code. 2. Do we need a QA person, if we have automated tests? Panelists:​ Yes QA and manual testing is needed regardless of automated tests. User acceptance is necessary. Think about test pyramid by Martin Fowler and have tests accordingly where you have lots of units tests, lesser integration tests and UI tests for generally happy path.
  • 11. Have a good balance between manual and automated tests. UI tests are must for mobile applications. 3. What is your plan for tests? Panelists: ​We inform our management of tests and we add test time to our estimation. Tests are initiated from developers then management asking you to write tests. We include test planning in the sprint planning if we are using scrum. 4. How do you deal with not handling edge cases even with tests? Panelists: ​It more about developers mentality and experience with writing tests. If you have tests coverage it helps. If you do TDD you have a higher test code coverage by default. Code coverage cannot be the only measure. Basically “write tests for things you are afraid of for example if you work with money”. There is a question of how smartly the developer deals with tests. 5. How important is it to write testable code? Panelists: ​If you want to add test code to a legacy project, start with UI tests which doesn't need to know about the testable code. Go from outside to inside. Testing also helps you write better designed code. To test your legacy code, refactor it bit by bit at a time. Make your code testable then test it. Having tests make your code reusable, modular and more maintainable. Write higher level tests, then ensure your features have some confidence then go to lower level tests like unit tests. There is no secrets of writing tests but there are secrets from writing testable code. 6. What is the most effective way to introduce automated test in a maual testing environment? Panelists: ​We had fully manual tests, we just introduced CodeceptJs to do some automated manual tests. Start from basics like just have smoke tests, when you see benefit then add more tests that suits your needs. Take an outside in approach. Start small then go deeper. 7. What percent of code coverage do you need? What is the standard for minimum code coverage? Panelists: ​We use sonar to put in place quality gates that doesn't let us push code if the code does not meet x (80%) code coverage, the build basically fails. Test coverage is a measure but not the primary measure for testing and reliability. Test your core business value functionality well. For a start up, you might need to set your priorities correct aligned with the business needs.
  • 12. 8. How are QA involved in the acceptance tests? Panelists: ​Our QA has stepped up and started to automate tests. Manual testing will be needed for critical things like checkout. Non critical things can surely be automated tests. There is some focus on UI automated tests that go hand in hand with manual tests. 9. How can we measure the impact of unit/automated tests? Any metrics? Panelists: ​The main metic you can follow is the number of errors on production before and after writing tests. Error notification does help on this. Another measure can be the confidence in developers which can’t be really measured but it can be felt well with positive energy in the team. Velocity of the team increases on the long run even though it can go a bit down in the beginning. I as a developer can sleep soundly at night, this is a great benefit. After writing tests the code is more managed and structured than before. It increases code quality. Wrapping up The event was wrapped up with coffee mugs for the speakers, panelists and venue sponsors.
  • 13. Meetup feedback The feedback form was well received by participants who said that they would not only attend the next meetup, but also recommend their friends to attend.