A 9-month comprehensive program designed to prepare you to start working as a Junior WEB Back-end programmer. The program is developed by our specialists and is the result of our accumulated experience so far. It consists of 3 modules, with each subsequent one building upon the knowledge gained from the previous.

From 0 to IT Career
Java Journey

STEP 1: JAVA JUMPSTART

Four-week program for individuals who have never learned programming languages or want to refresh their knowledge. The material is presented in a way that is beginner-friendly, covering the Java language up to arrays and functions. The goal is to determine if you enjoy the language and if programming is right for you. You can watch the videos and complete the tests and tasks at your convenience. After successfully completing the program, you have the opportunity to proceed to the next step – Unlock Java.

The training includes 15 video lessons covering topics ranging from how computers work and how programs are created to types, variables, conditional statements, loops, functions, and arrays. At the end of each video, there are exercises to practice and reinforce your knowledge. It is suitable for complete beginners.

The module requires approximately 10 hours of commitment per week – for watching the video lessons, studying, and completing the tasks.

Price: 197 BGN  | Fully funded by Code Academy

  • 15 video lessons on the Basic part of the Java language
  • 50+ self-preparation tasks
  • 10 Tests
  • Certificate upon course completion
  • Slack group for asking questions to the mentor
  • Basic knowledge of terminology and principles of programming in Java
  • Understanding of what programmers do
  • Personal insight into whether this profession is for you
  • Confidence in whether you want to dedicate more time to development in this field
  1. How the computer works
  2. How programs are created
  3. Java program structure
  4. Numerous systems
  5. Types
  6. Variables
  7. Operators
  8. Conditional expressions
  9. Cycles
  10. Arrays
  11. Methods

STEP 2: UNLOCK JAVA

Eight-week program designed for individuals who have completed Java Jumpstart or possess the knowledge from Java Jumpstart.

With this module, we offer you the flexibility to schedule your learning time, access to consultations with senior programmers, group support, and the opportunity to prepare at your own pace for professional training in the next module, without quitting your job or interrupting your university studies. In Unlock, you will delve into the fundamental theory of the Java language, including the Object-Oriented Programming (OOP) aspect and the Java Collections Framework. You will acquire both theoretical and practical knowledge of Java, enabling you to actively participate in the professional training module for career readiness and practical projects.

In addition to video lessons, tasks, and tests, this module also features meetings with a mentor and lecturer, once a week or a total of 2 fixed, mandatory meetings – for questions and code review of tasks. These meetings will be scheduled in advance.

To ensure the training is maximally beneficial for you, you will need to focus and dedicate time to video lessons, learning, and coding. The module requires a minimum commitment of 20 hours per week for learning, homework, meetings with the lecturer and mentor.

Price: 860 BGN

  • Admission without an entrance exam if you have completed the Java Jumpstart module;
  • Video lessons for theory;
  • 200+ self-preparation tasks;
  • Access to recordings of mentor and lecturer meetings;
  • Progress tests;
  • Weekly meeting with a mentor for task review;
  • Weekly meeting with a lecturer for questions about the new material;
  • Slack group for communication with the mentor and lecturer;
  • Certificate upon completion of the course.
  • In-depth understanding of programming principles with Java;
  • A solid practical and theoretical foundation that will allow you to immediately engage in project development in the next module of the program;
  • Flexibility in determining the hours for watching lectures and solving tasks;
  • Personal feedback on your code during group meetings;
  • Skills for reading others’ code;
  • After this module, you’ll be ready to continue your practical training and add tools and frameworks to be sufficiently prepared to start your career.
  1. Review of Java Basics
  2. Lists
  3. Methods
  4. OOP – Working with Objects
  5. Creating Classes
  6. Constructors
  7. Class Attributes and Methods
  8. Packages
  9. Access Control
  10. Java Beans & POJO
  11. Object Composition & Inheritance
  12. Object – The superhero of objects
  13. Enum Types Methods
  14. Object Casting. Wrapper Types
  15. Interfaces
  16. Abstract Classes
  17. Nested, Inner, Local, and Anonymous Classes
  18. Exceptions and Assertions
  19. Introduction to Collections

STEP 3: JAVA MASTERY PROJECTS

A six-month highly intensive program, after which you will be fully prepared to start a career as a Junior Web Back-end programmer with Java. We will mainly focus on project-based learning and simulate the real work environment. It is necessary to have a solid foundation from Unlock Java in order to keep up with the pace. The module requires a minimum commitment of 40 hours per week – for learning, coding, code reviews, and meetings.

The technologies included in the training are selected according to market requirements and demand. In addition to Java, you will study Spring BOOT and databases, programming tools, and methods of work. This is the necessary minimum to start a career as a junior programmer. The module is oriented towards a lot of practice, teamwork, and project work.

In addition to video lessons, tasks, and tests, this module also includes weekly meetings with mentors and lecturers for questions and code reviews. We have also planned the development of projects based on real business assignments. The final exam of the module is a project presentation to IT companies – partners of Code Academy. We will also prepare you for the interviews, where we will assist you in attending.

Your investment is valued at 3500 BGN. There is also an option for installment payments.

  • Admission without an entrance exam upon successful completion of the Unlock Java module with a minimum of 70% success rate
  • Video lessons covering theory
  • Projects based on real business assignments
  • Access to recordings of mentor and lecturer meetings
  • Progress tests
  • Bi-weekly meetings with a mentor for code reviews (tasks, projects)
  • Weekly meeting with a lecturer
  • Effective communication sessions
  • Slack group for communication with mentors and lecturers
  • Project presentation to prospective IT employers
  • Certificate upon completion of the training
  • Interview preparation
  • Solid practical preparation and a comprehensive set of skills needed to successfully apply for Junior Programmer positions – working with source control systems, tool proficiency, programming language and framework proficiency, database skills, participation in complex software development, simulation of a real work process
  • Teamwork and communication skills
  • Established system for acquiring knowledge – both theoretical and practical
  • Support from experienced mentors currently working as programmers
  • Training for comprehensive presentation to employers
  • Presentation to potential employers
Content of the training:
  1. Object – Супергероят на обектите
  2. Вложени, вътрешни, локални и анонимни класове
  3. Java Collections Framework
  4. Процеси и нишки
  1. Java Collections Framework
  2. Algorithms
  3. Design patterns
  4. Multithreading
  1. Debugging
  2. Maven
  3. Javadoc
  4. Version control – Git
  5. What is Spring Framework?
  6. When OOP is not enough – Dependency Injection
  7. Spring MVC – The web companion to Spring
  8. Spring Boot = Spring Framework made simple. * Spring Boot * Spring Boot Initializer * Spring Boot Starter * Our first project with Spring Boot Data Rest *
  9. Web is not just web pages – The HTTP protocol * Transferring data – plain text, xml, json, html * Intro to REST * OpenAPI for documenting REST services
  10. Architecture of a Spring Boot Project
  11. Validating data
  12. Storing data without SQL – intro to Spring Repositories
  13. Testing spring boot projects
  1. Introduction to Databases – architecture, languages, relational database theory, basic concepts
  2. Introduction to SQL – data insertion, modification, and deletion
  3. ANSI SQL – Select, the WHERE clause, operators, LIKE, IN, BETWEEN expressions, ORDERED BY, aggregate functions, HAVING and GROUP BY clauses, nested queries
  4. ANSI SQL operators – query unions, outer joins, inner joins – JOIN, UNION, INTERSECT, EXCEPT
  5. Stored procedures and triggers – encapsulation, creation, and deletion
  6. Indexes and views
  7. Aliases and synonyms. Schemas, tablespaces. Built-in functions
  8. Logical, arithmetic, bitwise operators. User-defined operators
  9. Sessions, transactions, and locks – basic operations, session parameters, ACID check, transactions
  10. COMMIT, ROLLBACK, nested transactions, distributed transactions
  11. ANSI SQL Security

What makes us different?

Code Academy helps individuals who want to start working as programmers, who have studied at universities or courses (have some foundation), but don’t feel sufficiently prepared technically, practically, and in terms of communication. They don’t know what to expect from interviews and workplace requirements, and they’re not sure if they’ll handle the upcoming change. They would like to have a guaranteed training system that prepares them without taking up several years and wandering about what additional technologies they need to know.

What sets us apart from other academies is that our training includes several programming languages, technologies, and tools to work with them. Our programs are intensive, condensed into 6 or 12 months, depending on the workload you can afford. Another thing that sets us apart is the support and friendly atmosphere we create in the academy, with mentors and a wide team of specialists working with our students. Throughout the training, we focus heavily on practical projects, teamwork, and communication skills with different types of people. We assist each student with individual preparation for interviews and crafting their profile, resume, and personal presentation.

Thanks to this, our students are ready to start working successfully after completing their training.

A Guaranteed Training System

Projects

During the third module of the program, you mainly work on projects in a team led by an experienced mentor. This prepares you for the real working process in an IT company.

Meetings with Lecturers

Our lecturers are programmers with years of practical experience. They will guide you confidently through the complex material of programming and always point you in the right direction.

Mentors

They will review assignments and will be there for you when you work on projects. You will work with them during the second and third modules. They will provide you with guidance, best practices, encouragement, and will ensure that you meet deadlines.

Flexibility

You learn theory through videos and practice with tasks. You determine your daily workload, considering the deadlines set for you.

Focus

The mentorship program gives you a goal to focus on. With us, you will have a deadline for everything, and we will monitor to ensure that deadlines are met. You will learn technologies that you will later use in your work; you won't accumulate knowledge for general culture.

Personal Approach

We are a cohesive team and we care for newcomers as our own. We will be with you every step of the way, supporting you and helping you succeed. All that is expected of you is to study and be serious; leave the rest to us.

Communication Skills

Our experience shows that communication skills are fundamental for building a successful career, even in the IT field. Therefore, along with technical skills, in our training, we also focus on developing teamwork, communication with different types of people, prioritizing tasks, and planning personal time.

The team that will work with you for your success!

Specialist in Java, SPRING Boot, C++, C, C#

Stefan Vasilev

Specialist in SQL and PL/SQL


Dimitar Chakarov

Specialist in Communication and Management Skills

Katya Velikova

Specialist in Communication Skills and Training Techniques

Stela Todorova

Specialist in Java & Spring Boot

Svetlana Proycheva

Mentor

Nadezhda Hristeva

Mentor

Vanya Peshina

Operations Manager

Yoana Yonova

Training Manager

Galina Nikolova

Success Manager

Anna Vasileva

Graduates share

Daniela has over 6 years of experience as a programmer with various technologies in diverse projects, including installers, replication servers, and cloud services. In recent years, she has been developing Cloud Services using Java and Spring. Daniela loves to teach because it gives her the opportunity, by sharing her knowledge and experience, to help her students start a successful IT career.

Dimitar is a programmer with many years of practice and experience in developing communication systems, software, and databases. He started his career at the Institute of Computer and Communication Systems at the Bulgarian Academy of Sciences. He has participated in international and Bulgarian projects and has conducted exercises at the Technical University of Sofia. He has been involved in the development of billing systems, fiscal devices, VoIP, digital television, pharmacy and warehouse software, games, and many others. Dimitar uses C, C++, Python, Perl, JavaScript, HTML, PHP, PL/SQL, PostgreSQL, MySQL, MS SQL, Delphi. Dimitar is a fountain of technical knowledge. He will support you during the time allocated for self-study, whenever you have a question or a situation you’re not sure how to approach.

Katya has extensive experience in organizing and conducting business training for skills and training trainers. She is a specialist in communication, teamwork, management, and sales. Katya will provide you with valuable guidance on how best to present your work, how to organize and prioritize your tasks, and how to communicate with colleagues effortlessly. These skills are just as key to your successful career as mastering programming technologies.

Stela is a coach with over fifteen years of experience in training and developing personnel at various hierarchical levels. She specializes in training for the formation and improvement of communication skills and team development. With her assistance, you will master the ability to communicate effectively with management and colleagues and ask the right questions. These skills will be extremely beneficial when you embark on your journey as a programmer. Stela is certified as a coach for group psychodynamic training.
Alexander has over 20 years of experience in information technology. He has successfully completed more than 25 projects based on Java, JavaScript, SQL, Pl/SQL, and Python technologies. Currently, he works as a consultant in Quality Assurance and Information Security for leading financial institutions in Europe. He is certified in ISTQB Advanced Level, SCRUM Master, PRINCE2, and ISO27001 ISMS Information Security Lead Auditor.

Anastas is a programmer with over thirty years of practice. He has participated in the development of many projects for telecoms, financial institutions, games, and other business systems. He spent two years of his career as a university lecturer. Today, he prefers to program in C++, but he has extensive experience with Java, Python, C, Pro*C, PL, and PL SQL. For him, every programming language is just another expressive tool that helps him get the job done. Anastas has the ability to convey even the most complex material in an understandable language. For him, there are no secrets in programming, and he will gladly guide you through your first steps in the training.

Valentin is a Java programmer with over 20 years of experience, specializing in Java & SPRING. He has contributed to numerous diverse projects throughout his career. Teaching is one of his greatest passions, and he has successfully guided the course for the profession of Back-end Junior Developer with a Java profile in the first season of CODE ACADEMY. Valentin has earned the affection of students with his genuine style and clear teaching approach.

Elena is a programmer with almost seven years of professional experience. She completed her higher education at Sofia University “St. Kliment Ohridski,” specializing in “Information Systems” and earning a Bachelor’s degree. During her studies, Elena served as an assistant lecturer for over a year in Programming Fundamentals & OOP in C++. Presently, she is a member of the teaching team for the elective course “Development of Front-End Web” at the Faculty of Mathematics and Informatics at Sofia University “St. Kliment Ohridski.” In addition to teaching and programming, design is a passion she enjoys during her free time.

Having worked on numerous projects over the years, Elena is eager to share her knowledge with those who are just embarking on a similar path.

Ivo is a software engineer with over eight years of professional experience. He completed his higher education at the Technical University of Sofia, specializing in “Computer and Software Engineering” and earning a Bachelor’s degree. He has been leading and training teams of programmers for more than 5 years. Ivo has worked on numerous large projects in the fields of Blockchain, Fintech, and Real Estate. Currently, he manages a company that focuses on software development and provides software consulting services. He has a passion for high speeds, and you can often find him at the track, whether racing go-karts or driving his personal car.

Peter is a programmer with over 9 years of experience. He describes himself as an unconventional software engineer. His experience is entirely centered around Python, going through various software projects along his journey. He started working in the sector as a joke during his preparation for a state exam in Finance. Since then, he believes that the most beautiful thing about the programmer’s profession is that you can learn every day and the more you learn, the more you realize that there is still much to learn. Solving business problems through software solutions is what makes him smile every day. He shares that when he received an offer to lead a course at Code Academy, he did not even think about it; he agreed to take on the challenge immediately. “It’s extremely important to accumulate knowledge, but it’s even more important to share it with people who are interested in it.”
Svetlana is a Java and Spring specialist, with additional proficiency in C, C++, VB, JS, HTML, CSS, and SQL languages. She possesses over 5 years of professional experience in developing various projects. “I love teaching because, by assisting young colleagues in enhancing their software development skills, I can better organize and systematize my own knowledge. This way, we grow together!” she says. With over 10 years of experience as a lecturer, she currently leads the Spring Boot module and teaches at TU Sofia, the university where she earned her bachelor’s degree in “Computer Systems and Technologies.”

Stefan is a software architect with over nine years of practical experience as a programmer. He has excellent knowledge of a wide range of technologies, including Java and Spring. Stefan is inspiring and loves teaching, which he has also engaged in as an honored assistant at TU Sofia. In his free time, he reads, swims, and plays computer games. From him, you can draw the entire wellspring of knowledge needed for your career realization.

Yo has over 12 years of experience in project management and team leadership. Among her projects, the Code Academy initiative is undoubtedly her favorite. She considers her encounter with programming and the people who are or want to become programmers as a pivotal moment in her career. Due to the lack of a more suitable comparison, she describes this moment as love at first sight 😊 For her, there is nothing more satisfying than seeing the students in the academy achieve their goals of professional realization after completing their training. And she devotes herself wholeheartedly to this cause.

Ani is an enthusiastic and highly motivated individual. She has an economic background, but her passion lies in dynamic work in the field of human resources. She enjoys communicating with awake and educated people, and her goal is to facilitate their entry into the IT sector by encouraging their progress and success. She is the person who will walk alongside you during your training and lend a helping hand when needed. Your success is her mission.

Galia has a background in finance and has had a long-standing friendship with numbers, but she has always been drawn to working with people, and communication is her forte. She has been working with the academy team on various projects for 12 years and sees the Code Academy project as a personal cause. She is inspired by the opportunity to support anyone who wishes to change their life and become a programmer. She is always ready to help with motivation for those who have lost confidence and need a friendly shoulder and support.

Vanya is a mentor in our program. She has been working as a programmer for three years with Java + Spring, Golang, TypeScript + Angular. Passing on her knowledge to newcomers in the field is her calling. In her free time, she reads books and helps homeless animals. She has three adopted dogs. Vanya will always be there for you to help you successfully deal with the bugs in the code you write.

Nadezhda is one of the babies of Code Academy. She is a graduate of one of our first groups and now she is already a mid-level developer with 4 years of experience as a programmer. Her technologies are Java and Spring. She loves folk dances and is generally a very artistic person. Nadezhda will guide you through the Jumpstart module and will be your mentor in the advanced modules. She will make sure that you learn to write quality code, adhere to conventions, and you will always see her by your side – with a wide smile.
Start Typing