Overcome Your Fear Virtual Software Engineering Boot Camp

Overcome Your Fear Virtual Software Engineering Boot Camp

1. Background Information?

We come with two beliefs: 1) through software engineering, we can solve a lot of our problems in our African society, and 2) our human resource is one of our greatest assets in Kenya (and we can say the same about the continent of Africa). With these beliefs, we also believe as an ecosystem, we need to unlock our potential by equipping and mentoring software engineers that can fix the problems.?

At Meliora, we take this responsibility seriously as stated in our mission statement and through our Natujenge initiative, the impact has been real and we can see the transformation, one person at a time. We take pride in having successfully executed enterprise software engineering projects for more than 16 enterprises in the last 7 years. Some of our customers include; banks, telcos, VAS aggregators, Saccos, and many more. With this experience, we have improved our software engineering process and we feel ready to share this and use it as a tool to solve most of our problems. We want to pass our knowledge and experiences to more people, the next generation of engineers.

We do acknowledge and appreciate the gap in the engineering, information technology, and computer science students, who are very talented, and we want and are committed to being part of the solution. In the recent past; we have had the Unpack the Bytes Hackathon and we also have an ongoing Telecoms Engineering SS7 Challenge.??

We intend to close the year on a high note by running a Virtual SWE Bootcamp from mid-September to mid-November 2022 that will be dubbed ‘Overcome Your Fear in Software Engineering.?

1.2. Objectives

As noted in the theme of this boot camp, the ultimate objective is to help our upcoming engineers in overcoming their fears. We hope to achieve the following:?

1.2.1. Get our engineers to experience the end-to-end process of software engineering

The learners will experience the end-to-end process of software engineering

1.2.2. Get them to launch a service or a product

They will apply the lessons in creating a product or service as a way to practice and apply the software engineering process.?

1.2.3. Provide solutions to real-world problems

We will have a hackathon where every team will work on a real-world problem addressing a need from or sponsored by our partners.?

1.2.4. Prepare teams of problem solvers

We want to encourage collaboration in software engineering.?We hope to align technical patterns to social patterns for greater success. This is a talent pipeline for many organizations.

1.2.5. Improve our software engineering process at Meliora

We will share what has been working for us.?In the process, we will meet a lot of people and we believe we will learn from them and thus improve our own engineering process.?

2. Work Areas

Software engineering is a problem-solving discipline and the process and approach make a whole difference. Writing code is just one of the many components of software engineering.? In this boot camp, we will be sharing some of the key areas that have made a huge difference in software engineering in Meliora. We hope to impact many young and upcoming engineers with these skills and experiences.

Below is a list of some of the areas to be covered:?

2.1. Requirements Modelling

In this phase, we will help learners understand and state the user(s), the problem (s), and any constraints and pick out and document the key business processes that need to be implemented in the system.

They will also understand the context of the solutions they want to create, all interfaces and touch points with both humans and other systems in the ecosystem.?

2.2. Architecture or Design

Architecture: Creating high-level designs (HLDs), setting up the boundaries among the modules or services, and defining their interactions (interfaces) and service or call flows.?

Process Modelling: Identifying and defining the key processes to be modelled in the system to fulfil the user requirements.?

Data Modelling: Identifying and defining the key objects in the system. This includes the data objects to be stored in a database and configurations needed to help the system meet the requirements.?

Low-Level Designs (LLDs): Putting everything together for implementation. In this phase, every module or service requires the definition of main processing flows (pseudo code), interfaces to be exposed and consumed, and configurations and data to be managed within each of the modules. At the end of this phase, development work can begin.?

2.3. Software Development/Coding

In this area, the objective is to equip the engineers with the right skill sets to develop or implement the solutions (the designs).?

In this boot camp, we will adopt or borrow some best practices from the industry in our implementation.?

The following are the key areas to be covered:?

2.3.1. Web Apps Development

Help learners build and deploy your basic web app. Some of the technologies to be covered:

  • HTML/CSS - front end development work.?Ensure that every user can convert UI mockup images into HTML/CSS.
  • TypeScript -? front end development using TypeScript.?
  • Angular - learn Angular framework for front-end development.?

2.3.2. Data Modeling

Help learners identify and create data model for their applications. Some of the items to be covered include:

  • Designing your database. ?
  • Database optimization - indexing, partitioning, and query optimization.?
  • Database High Availability (HA) - replication, backups and archival.?

2.3.3. Creating APIs

Help learners build their own backend service(s). This will involve:

  • Creating APIs around your data model and business processes.?
  • Securing the APIs.?
  • Spring Boot: Learn and apply Spring Boot in API design.

2.3.4 DevSecOps

Leaners will get the basic skills required for CI/CD

  • Deployment and infrastructure automation.
  • VCS.?
  • Containerization - Docker, etc.?
  • Orchestration - Kubernetes (K8s) or OpenShift Container Platform (OCP).?

2.3.5. Quality Assurance

Help learners in appreciating testing and test automation under software quality assurance.?

  • Unit testing and automated code scans.
  • System integrations (SITs).?
  • User acceptance testing (UAT).?
  • Platform tests - high availability tests, load, and stress testing.?
  • Environments configuration - Dev, SIT, UAT, and Prod environments, etc.?

2.4 Solving a Real World Problem

Through our partners, we will identify real-life problems (basic to medium complexity challenges) that can be solved through software engineering.?

The projects will be executed in teams in approximately 2-3 weeks maximum to create a Minimum Viable Product (MVP).?

Some of the challenges to be addressed will be sponsored by the organizations in question.

3. Work Plan & Organization

Click here (https://bit.ly/3R7mBIS) to see the work plan (schedule) & organization.

4. Eligibility Criteria?

Students and fresh graduates are eligible for this program.?Eligible candidates MUST:?

  • Be available for the 8 weeks (must create time to follow the guided learning process).?
  • Be willing to learn.
  • Show interest in development.?

Learners who meet the following criteria are encouraged to apply:?

  • Looking for internship/attachment opportunities between Sept and November
  • Have web development experience - HTML, CSS, JavaScript, TypeScript, React, Angular.?
  • Have Java development experience; preferably those who have worked with Spring Boot.?
  • Have development experience in any other language and framework.

Ladies are highly encouraged to apply for this program.?

To register for the Boot Camp, you can register here

要查看或添加评论,请登录

Meliora Technologies Limited的更多文章

社区洞察

其他会员也浏览了