From eeede33feea577265f84483d2b98af5b5220d532 Mon Sep 17 00:00:00 2001 From: m-adil Date: Wed, 11 Jul 2018 21:02:13 +0500 Subject: [PATCH 1/6] improved introduction, added student counselling group link --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 612f6c1..e7b7fbe 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,14 @@ # Software Domains and Technologies -This document is made and maintained for helping software developers and students on [Software Development Pakistan](https://www.facebook.com/groups/softdevpk/) choosing a domain to work in and technologies to learn for it. + +We have always seen students, fresh graduates and software developers +looking for guidance and information to choose a particular domain based +on theirinterests and scope / industry trends. So we have decided to create +a guide with listing of all software related domains with short overview +with an aim to help and guide others. + +We got the idea from group discussion in [Software Development Pakistan](https://www.facebook.com/groups/softdevpk/). +Also aim to help the relevant students of [Students Counselling Pakistan](https://www.facebook.com/groups/counsellingpakistan/) group. + ## Table of Content - [Introduction](#introduction) From 86ac417f0a618c3f148d97a231131470a77aa10f Mon Sep 17 00:00:00 2001 From: m-adil Date: Sun, 15 Jul 2018 16:34:41 +0500 Subject: [PATCH 2/6] Updated domains, some reformating --- README.md | 71 +++++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 53 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index e7b7fbe..127d44b 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ We have always seen students, fresh graduates and software developers looking for guidance and information to choose a particular domain based -on theirinterests and scope / industry trends. So we have decided to create +on their interests and scope / industry trends. So we have decided to create a guide with listing of all software related domains with short overview -with an aim to help and guide others. +and all that with an aim to help and guide others. We got the idea from group discussion in [Software Development Pakistan](https://www.facebook.com/groups/softdevpk/). Also aim to help the relevant students of [Students Counselling Pakistan](https://www.facebook.com/groups/counsellingpakistan/) group. @@ -13,22 +13,32 @@ Also aim to help the relevant students of [Students Counselling Pakistan](https: ## Table of Content - [Introduction](#introduction) - [Domains](#domains) - - [Frontend web development](#frontend) - - [Backend web development](#backend) - - [Full Stack Web development](#fullstack) - - [DevOps Engineer](#devops) + - [Frontend Web Development / UI-UX Development](#frontend) + - [Backend Web Development](#backend) + - [Full Stack Web Development](#fullstack) + - [DevOps Engineering](#devops) - [Native Mobile Development](#nativemobile) - - [Cross-platform mobile applications development](#cross-platform-mobile) - - [Data Engineer](#dataengineer) + - [Cross-Platform Mobile Apps Development](#cross-platform-mobile) + - [Data Engineering](#dataengineer) - [Data Scientist/ AI/ ML](#datascientist) + - [UI-UX Designer / Web Designer](#web-designer) + - [Game Development]() + - [Quality Assurance / QA / Testing]() - [Contributions And Changelog](#contribution) # Introduction -Software students and the recent graduates in Pakistan often realize it too late that in order to land a job in Software industry, they have to focus on at least one of the software domain. The reader of this document is expected to do more research on each domain on their own before settling for something. The criteria for interest should be personal interest and following the global trend. In case of doubt, please ask on the group. +Software students and the recent graduates in Pakistan often realize it +too late that in order to land a job in Software industry, they have to +focus on at least one of the software domain. The reader of this document +is expected to do more research on each domain on their own before +settling for something. The criteria for interest should be personal +interest and following the global trend. In case of doubt, please ask +on the group. -Lets make this a complete comprehensive list of all the possible domains, PR's are more the welcome. +Lets make this a complete comprehensive list of all the possible domains, +PR's are more the welcome. # Domains @@ -36,39 +46,64 @@ These domains are listed in No particular order. ## Frontend web development -Somewhat an emerging field in Pakistan but has a lot of potential for the future. You'll be working with rendering, designing, and engineering content on the web browsers. You'll be expected to know HTML, CSS, JavaScript and frontend frameworks like angular, react etc to begin with. +Somewhat an emerging field in Pakistan but has a lot of potential for +the future. You'll be working with rendering, designing, and engineering +content on the web browsers. You'll be expected to know HTML, CSS, +JavaScript and frontend frameworks like angular, react etc to begin with. ## Backend web development -Everything related to building, maintaining, processing and monitoring web applications on the web server. You'll be expected to know some backend languages (NodeJs, PHP, Python, Java etc), databases (Relational/NoSQL), a bit of servers (reverse proxy, shell scripting etc). +Everything related to building, maintaining, processing and monitoring +web applications on the web server. You'll be expected to know some +backend languages (NodeJs, PHP, Python, Java etc), +databases (Relational/NoSQL), a bit of servers (reverse proxy, shell +scripting etc). ## Full Stack Web development -A combination of both of the above, however as the gap between frontend and backend are widening up, It is better to focus on one of the above, at least in the beginning. +A combination of both of the above, however as the gap between frontend +and backend are widening up, It is better to focus on one of the above, +at least in the beginning. ## DevOps Engineer -Combines the software development and operations practices. In practice it means you'll be working on making things easier for software developers. You are expected to know cloud platforms ( Azure/ GoogleCloud/ AWS), build pipelines, docker containers, and a bit about microservices architecture, and web servers etc. +Combines the software development and operations practices. In practice +it means you'll be working on making things easier for software developers. +You are expected to know cloud platforms ( Azure/ GoogleCloud/ AWS), +build pipelines, docker containers, and a bit about microservices +architecture, and web servers etc. ## Native Mobile Development -Android (Java/Kotlin), iPhone(swift/Xcode) and windows phone (C#) development. Great if you want to build apps but not as much in demand as web development. +Android (Java/Kotlin), iPhone(swift/Xcode) and windows phone (C#) +development. Great if you want to build apps but not as much in demand +as web development. ## Cross-platform mobile applications development -The idea is to build the mobile application once which can be used in across devices/platform. Not as performant as native app development but works just fine for most use-cases. You are expected to know React Native/ Ionic / Xamarin etc for this. Easier to get into if you already know frontend web development (at least for React Native/ Ionic). +The idea is to build the mobile application once which can be used in +across devices/platform. Not as performant as native app development +but works just fine for most use-cases. You are expected to know React +Native/ Ionic / Xamarin etc for this. Easier to get into if you already +know frontend web development (at least for React Native/ Ionic). ## Data Engineer -You are expected to know how to store, process, and aggregate massive amount of data in a scalable fashion. Some tools you should know are Spark/MapReduce, Kafka, Hive, NoSQL, distributed databases etc. +You are expected to know how to store, process, and aggregate massive +amount of data in a scalable fashion. Some tools you should know are +Spark/MapReduce, Kafka, Hive, NoSQL, distributed databases etc. ## Data Scientist/ AI/ ML -Data analysis tools, Machine learning algorithms, Deep learning. Good understanding of maths/stats. Quite an emerging field globally, without a strict definition of what is expected of you. Most startups go for a combination of data engineering + data science role with a good understanding of businesses. +Data analysis tools, Machine learning algorithms, Deep learning. Good +understanding of maths/stats. Quite an emerging field globally, without +a strict definition of what is expected of you. Most startups go for a +combination of data engineering + data science role with a good +understanding of businesses. From 8ea325928bd6829b0e79d996007b4d7a1785bf3b Mon Sep 17 00:00:00 2001 From: m-adil Date: Sun, 15 Jul 2018 17:33:30 +0500 Subject: [PATCH 3/6] added description for new domain + updated contribution section --- README.md | 48 +++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 127d44b..d623dc8 100644 --- a/README.md +++ b/README.md @@ -21,9 +21,9 @@ Also aim to help the relevant students of [Students Counselling Pakistan](https: - [Cross-Platform Mobile Apps Development](#cross-platform-mobile) - [Data Engineering](#dataengineer) - [Data Scientist/ AI/ ML](#datascientist) - - [UI-UX Designer / Web Designer](#web-designer) - - [Game Development]() - - [Quality Assurance / QA / Testing]() + - [UI-UX Designing / Web Designing](#web-designing) + - [Game Development](#game-development) + - [Quality Assurance / QA](#qa) - [Contributions And Changelog](#contribution) @@ -45,12 +45,17 @@ PR's are more the welcome. These domains are listed in No particular order. -## Frontend web development +## Frontend Web development (UI/UX Development) Somewhat an emerging field in Pakistan but has a lot of potential for the future. You'll be working with rendering, designing, and engineering content on the web browsers. You'll be expected to know HTML, CSS, JavaScript and frontend frameworks like angular, react etc to begin with. +UI/UX; abbreviation of User Interface/User Experience, is also considered +to be another name for the same domain but UX is more about research, +observation, identification and implementation based on human behaviour. + + ## Backend web development Everything related to building, maintaining, processing and monitoring @@ -91,7 +96,7 @@ know frontend web development (at least for React Native/ Ionic). -## Data Engineer +## Data Engineering You are expected to know how to store, process, and aggregate massive amount of data in a scalable fashion. Some tools you should know are Spark/MapReduce, Kafka, Hive, NoSQL, distributed databases etc. @@ -105,7 +110,40 @@ a strict definition of what is expected of you. Most startups go for a combination of data engineering + data science role with a good understanding of businesses. + +## UI-UX Designing / Web Designing +This domain doesn't heavily depend on programming so all you need is good +web experience especially about web layouts and aesthetics and good +designing sense/skills. This may include designing prototypes or wireframes +for different websites based on client requirements. Web Designing is closely +linked to Graphics Designing but with more focus to websites. + + +## Game Development +An exciting but very challenging and focused domain of software industry +is game development. Our local industry is lacking behind in this domain +than rest of the world especially in comparison to the contribution we're +doing in web/mobile apps development which also mean that there're lesser +job opportunities for game development. But on the other hand, there're +lot of companies working on this domain and are always looking for good +talent. Like Web, this domain usually consist of a designing and a +programming end but even if you opt for programming end, it would be better +to have good designing skills or at least good designing sense. +Photoshop, Illustrator, Maya, Unity, Unreal Engine, C#, C++, java are +some of popular tools & languages used for game development. + + + +## Quality Assurance / QA +This is another domain that is usually considered to be a non-programming +field but in fact it's great to have programming concepts for a QA Engineer. +This usually is focused on testing the modules, functionalities and +complete apps to make sure the developed softwares are bug free, secure +and support different environments including browsers, OSs, screen sizes, +etc. + # Contributions And Maintainers - Azeem Akhter: Made the first version of the document. (8th July, 2018). +- [M Adil Mazhar](http://adilmazhar.xyz/) From f71f8330b32961477c05bdc8dfd032c97e68630e Mon Sep 17 00:00:00 2001 From: m-adil Date: Mon, 23 Jul 2018 00:06:10 +0500 Subject: [PATCH 4/6] added infosec --- README.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/README.md b/README.md index d623dc8..331ebd9 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,7 @@ Also aim to help the relevant students of [Students Counselling Pakistan](https: - [UI-UX Designing / Web Designing](#web-designing) - [Game Development](#game-development) - [Quality Assurance / QA](#qa) + - [Information Security](#infosec) - [Contributions And Changelog](#contribution) @@ -142,6 +143,13 @@ complete apps to make sure the developed softwares are bug free, secure and support different environments including browsers, OSs, screen sizes, etc. + +## Information Security (Ethical Hacking / InfoSec / IS) +This is about finding out security vulnerabilities in the software systems + and preventing unauthorised access. You must need to understand the basic + model of how internet, websites, apps or all these softwares actually work + and communicate. This domain of computer science demands heavy research, + patience, hard work and strong concepts to find out such vulnerabilities. # Contributions And Maintainers From 72f9f9325053b2bd239a5d4b8472ea6ba0debb43 Mon Sep 17 00:00:00 2001 From: m-adil Date: Mon, 23 Jul 2018 00:10:13 +0500 Subject: [PATCH 5/6] added scope for infosec --- README.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README.md b/README.md index 331ebd9..b421208 100644 --- a/README.md +++ b/README.md @@ -151,6 +151,13 @@ This is about finding out security vulnerabilities in the software systems and communicate. This domain of computer science demands heavy research, patience, hard work and strong concepts to find out such vulnerabilities. + Obviously jobs for InfoSec are much lesser than rest of many CS domains + but that doesn't really mean InfoSec has lesser scope. All bigger companies + are now realising the importance of having good InfoSec engineer in their + team and salaries for InfoSec engineers are often much higher than an + average developer. Also if you have interest in this domain, then there're + lot of opportunities looking forward to your services. + # Contributions And Maintainers - Azeem Akhter: Made the first version of the document. (8th July, 2018). From ecb54b7a20fae652330c50000d00516548bb68f3 Mon Sep 17 00:00:00 2001 From: m-adil Date: Mon, 23 Jul 2018 00:11:43 +0500 Subject: [PATCH 6/6] announcement for contribution --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index b421208..945950e 100644 --- a/README.md +++ b/README.md @@ -162,3 +162,5 @@ This is about finding out security vulnerabilities in the software systems # Contributions And Maintainers - Azeem Akhter: Made the first version of the document. (8th July, 2018). - [M Adil Mazhar](http://adilmazhar.xyz/) +- Feel free to contribute if you're interested. Create an issue if you have +any questions or concerns before/regarding contributing to this repo.