Contact us

Mastering Linux Application Development that Embedded Industries are looking for

All you need to be excel in one place 

Courses


Hello there.

I am Bhavith C Achar

Programming & Teaching are my Passion, Embedded industries are different compare to other software industries. My mission is to help all my students to be a proffesional programmers in this Embedded world and to be successfull in their career

Passionate Programmer | Teacher | Youtuber | Tech Blogger 

10+

Years of Industrial experience

4K+

LinkedIn Followers

1K+

Youtube Followers

1000+

Students Taught

Learning Path

Learning Programming Language is not only enough to be a professional programmer. We should also be aware of other things such as build systems, Test Driven Development, Version control etc

1.

Linux Operating System

Fundamentals of Linux Operating System, How to use Linux as a application developer, setting up the development environment which include IDE setup, alias, installing packages etc.

2.

C Programming Languages

Fundamentals of C programming and its syntax. Compiler, linker, loader, binaries, libraries, Pointer, Array, Data structures, using external libraries, external linkages etc.

3.

Linux System Programming

System Programming involves knowledge about Linux kernel, Architecture, File API's, Process, Process Control, Signals and Daemon Processes, Inter Process Communications, Network & sockets Posix threads etc.

4.

C++ Programming

C++ being a application level programming, knowing about OOPS, Inheritance, Polymorphism, Abstraction, Classical & Modern C++, STLS's Templates, References, R Value, L Values etc.

5.

Build Systems

Fundamentals of Makefile system, autoconf. Modern build system generators like CMake with different generators like Unix Makefile, Ninja, Visual Studio etc. 

6.

Version Controlling System

There are mainly two widely used Version Controls, SVN and Git. Git is the must and should for any programmer irrespective of embedded or non embedded developers. How to create repo, fork, clone, commit, push etc.

7.

Test Driven Development

TDD is the best way of developing any software where in we write test case first then develop. The most used unit test framework is Xtest and Google Test. Knowing a Google test framework and save you lot of bug fixing cost later in point

8.

UML

Similar to drawings in Civil engineering we also have various drawings for software development like Class diagrams, Sequence diagram, Component diagram, Flow charts etc. 

9.

Design patterns & Principles

Knowing S O L I D design principles, idioms like pimpl, factory & 23 design patterns makes a more professional in Embedded industries, which can save lot of your time and development cost if design is proper in place from day one

10.

Debugging Techniques

Using GNU Debugger (gdb), objdump, nm, readelf, postmortem analysis using coredumps, gdb servers, Logging using log4cplus. All these are handy tools every Linux application developer must know

11.

Cross compilation

What are toolchains, how program written in X86 host machine can work on ARM using toolchains and cross compilers. How to download them, use them, develop one for your self

12.

Tools which many wont talk

Code formatter using clang-format, static analysis tools like clang-tidy, clang-check, cppcheck, Code coverage tools like gcov, lcov. Perforamance analysis tools like lttng, htop, top, etc. Dependency charts generators like Graphiz with CMake

13.

Documentation

A library or software developed without the documentation & diagrams are of no use, So know about various documentations tools likes Markdown, plantuml, Doxygen etc.

14.

Tech Blog

Knowing every thing without sharing is a waste of having the knowledge, So know about how to purchase domain, creating blog, hosting a blog, committing a blog all with spending as less penny which you never thought about

15.

Networking & Resume Building


Build resume, LinkedIn profile creation, ATS score etc. 

What would like to learn today?


E- G R A S P

Mastering Linux Application Development
Bhavith C Achar

© Copyright 2023 E-GRASP