Fundamentals for a Successful Software Engineering Career
What you'll learn
- Importance of knowing fundamentals like applied maths, algorithms, networking, file systems, operating systems and other computer science related topics.
- Importance of human psychology, people management skills, business development skills & other Non engineering topics that are ignored in technical curriculums.
- A clear roadmap to self learn at appropraite time of the career.
- References to follow up and build expertise as needed.
Requirements
- Planning a career in software industry
- No programming experience needed.
- Patience and curiosity to follow up about new topics.
Description
Welcome to "Fundamentals for a Successful Software Engineering Career"!
Are you tired of feeling overwhelmed by the constant changes in the software industry and the pressure to keep up with the latest trends? Are you frustrated with the lack of diverse and relevant knowledge in your field? This course is designed to provide you with a lifelong learning roadmap and references to build a solid foundation for your career in software engineering.
In this course, we will cover a wide range of topics, including engineering topics such as algorithms and data structures, compiler design, computer architecture, programming languages, databases, distributed systems, file systems, mathematics, networking, operating systems, and general programming and design patterns, as well as non-engineering topics such as advertising and marketing, business management, economics, finance and behavioral economics, people management, including introspection, psychology, evolution, history, and philosophy.
For each topic, we will answer the following questions:
Why should you learn this topic?
When is the best time to learn this topic?
What should you learn about the topic?
How should you decide what to learn about the topic?
Who should you learn it from?
Where should you apply the knowledge?
When should you apply the knowledge?
We will also discuss the importance of treating people as individuals with unique needs and personalities, rather than "resources" with predictable behavior. We will explore the human element of software engineering and the importance of understanding the broader perspective and fundamentals of dealing with teams.
This course is designed for both computer science degree holders and non-degree holders, as well as for those who are just starting their careers and those who are looking to change their careers. The course will help you to avoid the common pitfalls of the industry and to build a fulfilling and successful career in software
Who this course is for:
- Software professionals from non computer science background struggling to grow in career
- Post Graduates seeking job in software industry after graduation in fields other than computer science.
- Application developers trying to move to infrastructure product companies.
- Developers curious to build skills beyond coding.
- Professionals with ambition of leading teams or running startups.
- Professional seeking direction to shape their career in technical or management roles.
- Students and professionals willing to go extra mile to learn what the technical lanscape looks like from 30,000 feet
- Professionals eager to understand software as a business.
- Engineers trying to move from IT services companies to product companies.
Instructor
About Instructor
=============
Subodh is a programmer with an MS in Electrical Engineering and 17+ years of experience in the software industry. Subodh has held roles of principal engineer across multiple organizations, building products that serve billions.
Subodh has been designing and implementing software solutions for Digital Cinema Distribution, Distributed Systems, Embedded Systems, Map Making, Insurance, Email Servers, and Data acquisition systems for a problem in the Astrophysics domain (master's thesis) since 2005.
Subodh finds peace in exploring the connection between the "How" and "Why" of any technical problem. Over the years, he has realized that research is a lifestyle and engineering is an attitude.
Mission
======
Helping people build burnout-free careers in the software industry. The primary uncertainties happen to be the following three questions.
WHY are you pursuing your current profession?
How long do you WANT to pursue the current profession/job?
How long do you HAVE to pursue the current profession/job?
The intent of all courses will be practical implementation and a long-term career perspective.