We may earn an affiliate commission when you visit our partners.
Course image
Antonio de Amescua, Maribel Sánchez Segura, Juan Llorens, Paloma Díaz, Manuel Velasco, Javier García-Guzmán, and José María Álvarez Rodríguez

Enhance your software skills and capabilities from a software innovation perspective. Do you have a career in the software industry? Are you a founder of a technical startup or even a business executive willing to know what kind of qualified job applicants do you need to recruit? Or are you a software developer who want to unveil your skills in order to build innovative software products with added value? Join us for this 8-week course to find out.

Read more

Enhance your software skills and capabilities from a software innovation perspective. Do you have a career in the software industry? Are you a founder of a technical startup or even a business executive willing to know what kind of qualified job applicants do you need to recruit? Or are you a software developer who want to unveil your skills in order to build innovative software products with added value? Join us for this 8-week course to find out.

The world is becoming increasingly digital and software is everywhere. Every company is affected by software so having the knowledge to excel in this industry is essential. This course will introduce the skills necessary to create software, but at the same time it is crucial to understand that succeeding in a digital world requires much more than to be just a good software developer. We will explain how people from different professions can work together in order to create innovative software. We will also present the most important activities for generating effective software products and services to meet tomorrow’s demands.

What you'll learn

  • Gain the skills needed to succeed as a software designer and software architect.
  • Understand the role of a software architect in the digital world
  • Learn the importance of capturing all essential user needs and applying the “Do it yourself” method to plan and build software pieces
  • Explore the software design and testing activities addressing the new challenges of tech-focused times
  • Understand new interaction paradigms, creativity and design methods that move the focus from the software to the humans who use it

What's inside

Learning objectives

  • Gain the skills needed to succeed as a software designer and software architect.
  • Understand the role of a software architect in the digital world
  • Learn the importance of capturing all essential user needs and applying the “do it yourself” method to plan and build software pieces
  • Explore the software design and testing activities addressing the new challenges of tech-focused times
  • Understand new interaction paradigms, creativity and design methods that move the focus from the software to the humans who use it

Syllabus

PART I: Software Architects Talents
Go to the Renaissance to discover the Da Vinci talents and come back to the future to unveil the talents required for building a digital world.
Read more
Week 1: The Da Vinci Code Understand the Da Vinci talents. We will show that software architects are adventurers, where imagination, optimism, courage, determinism, flexibility, the ability to predict, foresight, perseverance, continuous learning, and a desire to excel are essential ingredients.
Week 2: The Digital World Code This week, we will travel to the future to decode the talents for working in high-creative teams and the best digital organizations in the world. We want that you understand the key elements to manage engagement, cooperation, innovation and success in a smart world lead by software.
PART 2: Envisioning Needs and Wishes
The art of understanding different prospects to classify and prioritize needs and wishes.
Week 3: Identifying needs A holistic view of the mission and vision of a system to fulfill all essential needs and to think ahead.
Week 4: Do not reinvent the Wheel, no need! In this week, software will be presented as an intangible asset that can be designed to be shared and reused.
PART 3: Designing & Testing
Drawing sketches and polishing their design. Looking for perfection
Week 5: Portray a Creator in the Age of Software We will learn the process of Software Designing, with the creator as main role in the process, focusing on quality values.
Week 6: Looking for perfection In this week, we show how the testing process is around the whole software architect work.
PART 4: Human Computer Interaction & Thinking Out of the Box
Get to know the main concepts and principles of human computer interaction, creativity and participatory methods that a modern software engineer should be familiar with.
Week 7: From software-centric to human-centric In this week we will shift the focus from the software itself to the person who uses it and thus we will introduce the main concepts about human computer interaction that a software architect should be familiar with.
Week 8: Creativity and participatory design We will introduce the need to combine creativity and participatory methods with software engineering practices to be able to think out of the box and imagine new applications.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by instructors who are recognized for their work in software architecture and engineering
Develops software design and testing skills, which are core skills for software architects and engineers
Examines the role of a software architect in the digital world, which is highly relevant to the software industry
Teaches the importance of understanding user needs and applying the "Do it yourself" method to plan and build software pieces, which is standard in the software industry
Explores creativity and participatory methods that move the focus from the software to the humans who use it, which is a modern and innovative approach to software development
This course requires prerequisite knowledge in software development

Save this course

Save The Software Architect Code: Building the Digital World to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in The Software Architect Code: Building the Digital World with these activities:
Review the basics of software architecture
Going over the basics will help you prepare your foundational knowledge prior to taking this course. Review articles, videos and any previous notes you may have on the subject.
Browse courses on Software Architecture
Show steps
  • Read articles and blog posts about software architecture
  • Watch videos and tutorials about software architecture
  • Review your notes from previous courses or workshops on software architecture
Gather your course materials
Gathering and organizing your materials in advance will make this course more manageable, will make it easier to find what you need, and will help you stay organized.
Show steps
  • Gather all of your materials including your syllabus, assignments, notes, and any books needed
  • Organize your materials in a filing cabinet, binder, notebook, or on your computer
Read 'Designing Data-Intensive Applications' by Martin Kleppmann
Enhance your understanding of designing and architecting data-intensive software systems by reading this foundational book.
View Secret Colors on Amazon
Show steps
  • Read the book thoroughly
  • Take notes on key concepts and architectural patterns
  • Discuss the book with classmates or colleagues
Five other activities
Expand to see all activities and additional details
Show all eight activities
Follow tutorials for creating software architecture diagrams
This activity is designed to put what you have learned to the test to prepare you for success in this course. You will gain practical experience in creating software architecture diagrams.
Browse courses on Software Design
Show steps
  • Find a tutorial on how to create software architecture diagrams
  • Follow the tutorial and create a software architecture diagram for a simple application
Follow online tutorials on software architecture
Supplement your course materials with online tutorials to reinforce your understanding of software architecture principles and best practices.
Browse courses on Architectural Patterns
Show steps
  • Identify reputable online education providers
  • Choose tutorials that align with your learning objectives
  • Follow the tutorials step-by-step
  • Complete the quizzes or exercises provided
Contribute to open-source software projects
Gain hands-on experience in software development and contribute to real-world projects while applying architectural principles.
Browse courses on Code Collaboration
Show steps
  • Identify open-source projects that interest you
  • Join the project's community
  • Contribute bug fixes or feature enhancements
  • Review code and provide feedback to other contributors
Participate in coding challenges
Engage in online coding challenges to test your problem-solving and coding abilities in a competitive environment relevant to software architecture.
Browse courses on Coding Challenges
Show steps
  • Register for coding platforms (e.g., Codeforces)
  • Select a challenge that aligns with your skill level
  • Analyze the problem statement and design an algorithm
  • Implement your solution in a programming language
  • Submit your solution and review feedback
Practice LeetCode exercises
Strengthen your problem-solving and coding skills by tackling LeetCode exercises, specifically tailored to software design and architecture.
Show steps
  • Choose an appropriate problem level
  • Read the problem description carefully
  • Design and implement an optimal solution
  • Test your solution against sample inputs

Career center

Learners who complete The Software Architect Code: Building the Digital World will develop knowledge and skills that may be useful to these careers:
Software Designer
Software Designers specialize in designing and developing software applications. By focusing on customer needs and requirements, Software Designers help build software that is user-friendly, efficient, and meets the desired objectives. This course enhances your knowledge of Software Design by introducing you to the process of Software Designing, with the creator playing a central role in the quality values of the process.
Software Architect
Software Architects hold several responsibilities such as leading software development teams, working with stakeholders, designing and developing software solutions, and managing software projects. However, beyond the technical skills, the course will equip you with essential talents and skills needed to succeed as a Software Architect in today's digital world. Through this course, you will understand how different professions can collaborate to create innovative software, and you will gain a holistic view of the mission and vision of a system to fulfill all essential needs and think ahead.
Software Engineer
Software Engineers apply engineering principles to the design, development, deployment, and maintenance of software systems. This course may be useful for Software Engineers who wish to understand the role of software in the digital world, and how to create innovative software products and services that meet the demands of tomorrow. The course also covers important activities for generating effective software products and services.
Web Developer
Web Developers design and create websites. By focusing on both the front-end and back-end aspects, Web Developers ensure that websites are visually appealing, functional, and meet the needs of users. This course may be helpful for Web Developers, especially those interested in learning about the importance of capturing all essential user needs and applying the “Do it yourself” method to plan and build software pieces.
Mobile App Developer
Mobile App Developers create software applications for mobile devices, including smartphones and tablets. They design, develop, and test these applications to ensure they meet the needs of users and run smoothly on different devices. This course may be useful for Mobile App Developers, especially those interested in understanding how to build innovative software products with added value.
IT Manager
IT Managers plan, implement, and manage an organization's information technology systems and infrastructure. This course may be useful for IT Managers as it provides insights into the role of software in the digital world. The course also covers the importance of understanding different professions and how they can work together to create innovative software.
Computer Programmer
Computer Programmers write and maintain the code that powers software applications and systems. This course can help Computer Programmers gain a deeper understanding of software design and testing activities, addressing the new challenges of tech-focused times.
Systems Analyst
Systems Analysts study business processes and develop solutions to improve efficiency and productivity. This course may be useful for Systems Analysts, especially those interested in understanding the different aspects of software design and testing. The course also covers the importance of understanding different professions and how they can work together to create innovative software.
Product Manager
Product Managers are responsible for managing the development and launch of new products. This course may be useful for Product Managers as it provides a holistic view of the mission and vision of a system to fulfill all essential needs and think ahead. The course will also help you understand the importance of capturing all essential user needs.
Database Administrator
Database Administrators manage and maintain an organization's database systems. This course may be useful for Database Administrators, especially those interested in understanding the importance of software design and testing activities. The course also covers the importance of understanding different professions and how they can work together to create innovative software.
Technical Writer
Technical Writers create and maintain technical documentation, such as user manuals, white papers, and online help files. This course may be helpful for Technical Writers, especially those interested in learning about the importance of understanding different professions and how they can work together to create innovative software. The course also covers the importance of capturing all essential user needs.
Software Tester
Software Testers test software to ensure it meets the desired requirements and is free of defects. This course may be useful for Software Testers, especially those interested in understanding the different aspects of software design and testing. The course also covers the importance of understanding different professions and how they can work together to create innovative software.
Quality Assurance Analyst
Quality Assurance Analysts test software to ensure it meets the desired requirements and is free of defects. This course may be useful for Quality Assurance Analysts, especially those interested in understanding the different aspects of software design and testing. The course also covers the importance of understanding different professions and how they can work together to create innovative software.
Web Designer
Web Designers create and maintain websites. This course may be useful for Web Designers, especially those interested in learning about the importance of understanding different professions and how they can work together to create innovative software. The course also covers the importance of capturing all essential user needs.
UX Designer
UX Designers focus on the user experience of websites and applications. This course may be useful for UX Designers, especially those interested in learning about the importance of understanding different professions and how they can work together to create innovative software. The course also covers the importance of capturing all essential user needs.

Reading list

We've selected 17 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in The Software Architect Code: Building the Digital World.
Provides a clear and concise introduction to the Rational Unified Process (RUP), a widely-used software development process.
Provides a comprehensive overview of the challenges and best practices of software architecture, and is particularly useful for those seeking a deeper understanding of software design principles. It common textbook used in software architecture courses.
Provides a comprehensive overview of software testing, from planning and execution to analysis and reporting.
Provides a practical guide to agile testing, with a focus on collaboration and continuous improvement.
Classic on the design of everyday objects, with a focus on usability and human factors.
Classic on typographic style, with a focus on the principles of clarity, consistency, and readability.
Classic on innovation, with a focus on the challenges faced by established companies when they try to innovate.
Practical guide to the Lean Startup methodology, which process for building and testing new products and businesses quickly and efficiently.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to The Software Architect Code: Building the Digital World.
Software Architecture & Design of Modern Large Scale...
Software Architecture for the Enterprise Architect
The Complete Microservices & Event-Driven Architecture
Software Architecture & Technology of Large-Scale Systems
Humanitarian Action in the Digital Age
DevOps with Github and Azure: Implementing Package...
Intelligence Tools for the Digital Age
Digital Advertising and Marketing 101: The Complete Guide
Software Development From A to Z - Beginner's Complete...
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser