3. 3
M.
TEBIB
Professions In SE
Soft Skills
Analysis
Creativity
Communication
Conflict Management
Resilience
Time Management
Empathy
Adaptability
Software
Engineering
Careers
Software Engineering Careers
4. Presentation Plan
4
M.
TEBIB
1. Professions In Computer Science
2. Project Management In Computer Science
3. Software Development LifeCycle
4. Required Skills For Academic Careers
Software
Engineering
Careers
Software Engineering Careers
5. 5
M.
TEBIB
Professions In SE
Project Development Team
Product Manager
Product Owner
Scrum Master
Software Architecte
Developers
Lead Tech
Functional QA
Automation QA
DevOps DevSecOps
Data Engineers ML Engineers
Security Engineers
(PenTesters)
Tech Functional Management
Software
Engineering
Careers
Software Engineering Careers
6. 6
M.
TEBIB
Professions In SE
Product Manager (PM)
● Management Strategy
● Team Management
○ New devs, New QA, Fast Delivery
○ Project Management Method
Objective: What you want to accomplish?
eg: having less defects in production
Key Result:
eg: KR1: PO - Define Clear User Stories
KR2: Dev - Test before code delivery
KR3: Tester- Good tests scenarios
Software
Engineering
Careers
Software Engineering Careers
7. 7
M.
TEBIB
Professions In SE
Product Owner (PO)
● Define & Present the needs to the development team
● Create User Stories & Define Acceptance Criteria
● Ensures that the team backlog is aligned with customer and
stakeholder needs
Software
Engineering
Careers
Software Engineering Careers
8. 8
M.
TEBIB
Professions In SE
Scrum Master (SM)
● Leads Retrospective Sessions
● Measure the team capacity
● Follow the tasks progress
● Lead Daily Meetings Sessions
Only for AGILE Projects!
Software
Engineering
Careers
Software Engineering Careers
9. 9
M.
TEBIB
Professions In SE
Developers (Dev)
● Implement the functionality
● Implement Unit Tests
● Perform Pull Requests Code Reviews
● Quickly fix Bugs And Defects
Software
Engineering
Careers
Software Engineering Careers
10. 10
M.
TEBIB
Professions In SE
Functional QA
● Create Tests Cases
● Perform Functional Tests For User Stories
● Perform 2by2 and E2E tests
● Create Bugs
Software
Engineering
Careers
Software Engineering Careers
11. 11
M.
TEBIB
Professions In SE
QA Automation (QA Auto)
● Automated Tests Cases
● Validate the release before going to Production
○ Perform Non Regression Tests
○ Perform Backward-Compatibility Tests
○ Perform Performance Tests
● Perform 2by2 and E2E tests
● Create Bugs
Software
Engineering
Careers
Software Engineering Careers
12. Presentation Plan
12
M.
TEBIB
1. Professions In Computer Science
2. Project Management In Computer Science
3. Software Development LifeCycle
4. Required Skills For Academic Careers
Software
Engineering
Careers
Software Engineering Careers
13. 13
M.
TEBIB
Project Management
Methods
Agility Waterfall
● Time Sprint (2 or 3 weeks) Sprint does not exist!
● Delivery Continuous Delivery Delivery At the End
● Meetings Many per Day/Week Weekly or monthly meeting
● Client
Interaction
Encouraged Minimal
● Preferred
By
Startups, Commerce
Companies, SaaS
products
Gouvernements.
Software
Engineering
Careers
Software Engineering Careers
20. Software Development LifeCycle
20
M.
TEBIB
From Abstract Needs to Concrete Functionalities : A Concrete Example
Need: Sell Carrefour Products Via Rakuten Platform
Software
Engineering
Careers
Software Engineering Careers
21. 21
M.
TEBIB
From Abstract Needs to Concrete Functionalities : A Concrete Example
Action: Meetings: Product Manager, Product Owner, Software Architect
Result: A detailed document presenting the project and the architecture
Analyse
Software
Engineering
Careers
Software Engineering Careers
Software Development LifeCycle
22. 22
M.
TEBIB
From Abstract Needs to Concrete Functionalities : A Concrete Example
Action:
Architecture (More Details)
Meets: Refinement Meet: The PO Introduces the subject to all the team: QA, Devs
Results: Backlog, Clear User Stories
Conception
Software
Engineering
Careers
Software Engineering Careers
Software Development LifeCycle
23. 23
M.
TEBIB
From Abstract Needs to Concrete Functionalities : A Concrete Example
Action: Start Implementation
Do not forget to add unit tests
Result: The new functionalities are implemented
Implementation
Software
Engineering
Careers
Software Engineering Careers
Software Development LifeCycle
24. 24
M.
TEBIB
From Abstract Needs to Concrete Functionalities : A Concrete Example
Action: Deliver the new implemented functionalities to the test environment
Result: The new functionalities are ready for testing
Deploy For Testing
Software
Engineering
Careers
Software Engineering Careers
Software Development LifeCycle
25. 25
M.
TEBIB
From Abstract Needs to Concrete Functionalities : A Concrete Example
Testing
Action: Launch test cases
Result: Validated test Cases
Go for packaging
Software
Engineering
Careers
Software Engineering Careers
Software Development LifeCycle
26. 26
M.
TEBIB
From Abstract Needs to Concrete Functionalities : A Concrete Example
Release & Deployment
Action: Create the package and deploy it the production environment
Result:
The client see the new functionalities
Software
Engineering
Careers
Software Engineering Careers
Software Development LifeCycle
27. 27
M.
TEBIB
Programming Languages
- Stream API
- Retry Policies (Resilience)
e.g, FailSafe Library
- Optional<API>
- etc
Software
Engineering
Careers
Software Engineering Careers
Software Development LifeCycle
28. 28
M.
TEBIB
Programing Languages: Front-End Technologies
Single Page Application
Software
Engineering
Careers
FullStack Applications
Software Engineering Careers
Software Development LifeCycle
31. 31
M.
TEBIB
Version Control & Integration
Software
Engineering
Careers
Software Engineering Careers
Software Development LifeCycle
32. 32
M.
TEBIB
Git commands
Software
Engineering
Careers
git clone: clone a git project
git checkout -b “branchName”: create and switch into the branch “branchName”
git pull: get modifications from another branch
git push: push modifications to another branche
git merge: merge two branches
git reset, git revert, commits squash, etc.
Software Engineering Careers
Software Development LifeCycle
34. Adoption of Cloud Solutions
34
M.
TEBIB
Software
Engineering
Careers
Software Engineering Careers
35. Adoption of Cloud Solutions
35
Careers in Computer Science
M.
TEBIB
➔ Infrastructure As A Service (IAAS)
➔ Platform As A Service (PAAS)
➔ Software As A Service (SAAS)
➔ Function As A Service (FAAS)
Software
Engineering
Careers
36. Presentation Plan
36
Careers in Computer Science
M.
TEBIB
1. Professions In Computer Science
2. Project Management In Computer Science
3. Software Development LifeCycle
4. Required Skills For Academic Careers
Software
Engineering
Careers
37. Academic Careers: PhD
37
Careers in Computer Science
M.
TEBIB
- Manage your PhD as a project: time, plan, etc.
- Learn about research ethics
- Learn how to quickly read a research Paper
- Google Scholar: Research Tips
- Learn how to perform literature reviews:
- Surveys,
- Systematic Mapping Studies,
- Systematic Literature Reviews.
The most Important: Be Patient!
Academic
Careers