Designed for professional Software Developers who are looking to develop a career as a Software Architecture.
Software Architecture & Design (MSc)
overview
Designed for the professional Software Developer who wants to move to the next level. This excellent programme aims to form part of the evolutionary path a Software Developer takes to become a Software Architect. It is delivered part-time online by night over 24 months.
Architecture, irrespective of the domain, is concerned with creating structure and a vision. As a noun, architecture is about creating a “unifying or coherent form or structure” [Merriam-Webster]. As a verb, the process of architecting something involves gaining an understanding of what you need to build, creating a vision to realise this and making appropriate design decisions along the way. Across all disciplines, requirements drive architecture, and the communication of the vision forms a critical component of realising the end product or structure.
In software, architecture spans across several pillars which include the application, system, software and enterprise. Application architecture represents the fundamental building blocks of the software, and at this layer, an architect needs to make decisions about the programming language, the constructs, libraries and frameworks that will be used to develop the software. An application rarely lives in isolation, and typically a system is composed of multiple collaborating applications.
At this system-level, software architects are concerned about issues such as reliability, interoperability and integration. Applications are developed using software and software architecture is concerned with the significant elements of the software system from the structure and design of the code to the deployment of that code to the live environment. At this layer, a software architect is concerned about issues such as security, reliability, authentication, performance etc.
Across these pillars, software architects make architectural decisions that shape a system and design decisions to ensure his/her vision is realised. In this programme, students will learn skills to fulfil the role of software architect or senior member of the development team. The programme is designed to form part of the evolutionary process that a software developer undertakes as a software architect in their respective organisation. Click this link or the image above to download the programme flyer which contains links to the complete list of modules.
Industry and academic experts leaders in their field
The programme is taught by industry and academic leaders in their field who are either practitioners as software architects or senior technical architects or research active in the field.
What is the aim of the programme?
This programme aims to form part of the evolutionary path that a software developer takes in becoming a software architect, allowing them to advance their technical career path. As part of this programme students will learn and understand the role of a software architect, in creating an extensible and maintainable software solution by applying abstract knowledge and well known patterns to software architecture and design. This traditional role of software architect will also be critically assessed in the face of agile development methodologies and the adoption of tools and practices that avoid or decouple up front systems or architectural design.
What skills will I learn?
Students will learn skills to system architect an application, system and software. Modules have been created to develop competencies across these pillars.
- Software Architecture & Design - Across these pillars, students will learn about the principles of software architecture and design and common architectural design patterns to solve problems when designing software. As poorly designed software and applications affect the non functional requirements of the underlying system, students will also be taught skills on how to develop algorithms and analyse these algorithms in terms of efficiency and performance. In addition, they will also be able identify and assess software vulnerabilities that impact the security of the underlying software system.
- Application architecture - programming languages and their choice are an important tool in software development and knowledge and understanding on how programming languages are implemented are invaluable to success design, develop and maintain software systems. In this programme, students are given the opportunity to develop skills (as an elective) in programming language design.
- System Architecture - Students will also develop skills in applying emerging trends and paradigms in software architecture, and the challenges, risks and opportunities in migrating from a monolithic software architecture to microservices. They will learn how to migrate complexity inherent in software to development and operations (DevOps) and how to automate, scale and manage a distributed system created from a collaborating components.
Who should apply for this programme?
- Are you a software developer or engineer looking to advance your career with a professional master’s degree in the area?
- Do you have 3 years professional experience in software development/engineering?
- Do you want to move into the role as software architect or senior member of a development team?
- Do you want to become a technical leader and communicator in your organisation?
- Do you have deep design and programming skills and want to apply these skills as a software architect?
Graduate Profile
At the end of this programme students will be able to fulfil a number of roles as a software architect, senior engineer/developer or IT/Software manager.
ABOUT THE DEPARTMENT OF COMPUTER SCIENCE
The Department of Computer Science at CIT is one of the largest Computer Science departments in Ireland. We offer a range of modern undergraduate programmes and a host of opportunities at master’s degree and at PhD level. Our industry engaged programmes match the needs of our economy and have an excellent reputation for producing the most employable computer science graduates in the region. These highly skilled graduates are in huge demand and contribute significantly to the development of the region. As technology plays a greater role in our society the growth in the demand for these graduates will continue year after year.
ADMISSION REQUIREMENTS
Entry to the MSc in Software Architecture & Design will require a minimum of a Level 8 honours degree in Computer Science, Computing or a cognate discipline. In addition to the above applicants will need to have a minimum three years experience working in industry as a software developer/engineer to be eligible to apply for the programme. Applicants who do not meet the above criteria will be considered on a case by case basis. Please see the Recognition of Prior Learning (RPL) page for further details.
online APPLICATIONS
Enquiries
Dr Ruairi O'Reilly
Department of Computer Science
Ruairi.OReilly@mtu.ie +353 (21) 432 6161
Applications are now open for September 2024. Closing date is 31st August 2024 for applications, or whenever the programme is full.
Please click the "Apply Now" button to make an online application for this programme. The CIT online application system will open in a new window and this will allow you to enter details of your application for this programme. Fields marked with a red asterisk are required fields and need to be completed. You can use the supporting documentation section to add scanned copies of transcripts, your CV, or any other relevant documentation. Please study the entry requirements for this programme and ensure that you've supplied all information that's relevant to your application.