Presentation is loading. Please wait.

Presentation is loading. Please wait.

Software Engineering “Practical Approach”

Similar presentations


Presentation on theme: "Software Engineering “Practical Approach”"— Presentation transcript:

1 Software Engineering “Practical Approach”

2 Software effort distribution
1/3 Planning 1/6 Coding 1/4 Component testing 1/4 System testing Planning Coding Testing Error Correction Preventive Software Maintenance: 20% error correction 20% adaptation 60% enhancements Adaptation Enhancements

3 Definition Software Engineering: (1) The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software.

4 Contents. Software Development Life Cycles (Methodologies) (Idea, planning, requirements, design, implementation, testing, maintenance) Water fall V-Model Agile Methodology Business Requirement Document (BRD) Vs System Requirement document (SRD) Data Access Object Design Patterns Prerequisite: Inheritance Prerequisite: Encapsulation

5 Contents Cont. Unit testing (Using Junit and Mocks) Integration Tests
Service Oriented Architecture Software as a service Tools: Version Control Software (git) Code Review Bug (features) tracking system Soft Skills (Interview Questions) Example: Do you remember a conflict with one of your teammates? What was the issue and how did you resolve it?

6 Software Development Team
Program Manager UI Designer SDE SDET QA Team Lead (Manager)

7 Program Manager (Microsoft)
Responsibilities: Define and deliver components for our ecosystem Create, evolve, and communicate feature area specifications Demonstrate a strategic understanding of the timing and rationale for design choices for a feature area Help define and document the product vision Qualifications Have a proven track record of clear written and oral communication Work well in groups and with customers & partners and demonstrate high emotional intelligence Have a strong developer/coding background (TPM)

8 SDE (Amazon) BASIC QUALIFICATIONS
• 2+ years of software development experience and a degree (BS, MS, or higher) in computer science or a related discipline • Fluency and experience in either Java or C# • Excellent problem solving ability and detailed knowledge of object- oriented design and development PREFERRED QUALIFICATIONS • Experience building and operating highly available (24x7) systems • Designing and implementing highly scalable RESTful web services

9 UX Designer (Microsoft)
Responsibilities: Simplify and distill complex business processes into intuitive and elegant UI Work closely with cross-functional teams to help define business and feature requirements, user scenarios and use cases. Create process flows, wireframes, and mockups Qualifications Bachelor's degree in design, human-computer interaction (HCI) Proficiency in a variety of design tools such as Photoshop, Illustrator, Fireworks and InDesign. Ability to create design prototypes in HTML, JavaScript, CSS. Excellent communication, presentation, interpersonal and analytical skills.

10 SDET (Groupon) Responsibilities: Qualifications
Design and implement tools and infrastructures that will be utilized across multiple test and development teams. Help developers write better tests Ensure test coverage of new and existing features. Analyze for potential problems before code has been committed. Qualifications Experience with compiled languages such as Java, C#. Experience with automated testing tools and technologies, including but not limited to Selenium, Capybara, Watir, and Sahi. Proficiency with scripting languages such as Ruby or Python.

11 QA (Amazon) Responsibilities: Qualifications
Be responsible for manual and automated testing of features across various platforms including web and mobile Own the development and execution of test plans and test cases Create and edit automated test cases Triage crash logs Qualifications Ability to create scripts from scratch in at least one language Understanding of Object Oriented programming basics and ability to edit code Hands-on experience with manual and automated testing, with expertise in SQA methodologies, techniques, and approaches Experience leading a variety of types of testing, including regression, performance, stress, unit, integration, and security testing

12 Team Lead (Twitter) Responsibilities: Qualifications
Effectively coach, mentor and guide the technical and professional development of the members of the team. Scale the team up by sourcing and hiring both externally and internally, and keep a super high bar while doing so! Ensure the team fully understands the goals and objectives of Twitter as a company and how their work fits into the bigger picture. Partner with product vertical teams to capture requirements Qualifications Strong CS fundamentals A solid grasp on good software engineering practices. Great communication skills.

13 Reference Reference: Software Engineering, 9th Edition by Ian SommerVille, available online @ Engineering%20by%20Somerville.pdf Other online resources


Download ppt "Software Engineering “Practical Approach”"

Similar presentations


Ads by Google