If you have read the entire book and you've solved all the problems from the exercises and reached the present conclusion, congratulations! You've already made the first step in learning the profession of a programmer, but there is a long way to go until you become really good and make software writing your profession.
Remember the four main groups of skills that each programmer must have to work in the industry:
- Skill #1 – writing the program code (20% of programmer's skills) – covered to a large degree by this book, but you must learn additional basic data structures, classes, objects, functions, strings, and other elements of code writing.
- Skill #2 – algorithmic thinking (30% of programmer's skills) – covered partially by this book and developed mostly by solving a large amount of diverse algorithmic problems.
- Skill #3 – a fundamental understanding of the profession (25% of programmer's skills) – acquired for a few years in combination with learning and practice (reading books, watching video lessons, attending courses, and mostly by writing diverse projects in various technological areas).
- Skill #4 – programming languages and software technologies (25% of programmer's skills) – acquired in a long period, by a lot of practice, consistent reading, and writing projects. Such knowledge and skills quickly get outdated and need to be updated frequently. Good programmers are involved in studying new technologies every day.
If you were not able to solve all problems or a large part of them, go back and solve them! Remember that becoming a programmer requires a lot of work and effort. This profession is not for lazy people. There is no way to learn it unless you seriously practice programming for years!
As we've already explained, the first and basic skill of a programmer is to learn to write code with ease and pleasure. This is namely the mission of this book: to teach you how to code.
This book gives you a solid foundation, thanks to which it will be easy for you to continue developing as a programmer. If you wonder how to continue your development, you have the following possibilities:
- to study for a software engineer at SoftUni and make programming your profession;
- to continue developing as a programmer in your way, for example, through self-training or via online lessons;
- to stay at the coder level, without going more seriously into programming.
The first and respectively recommended opportunity to master completely and on a high level the profession of a "software engineer" is to start your training via the end-to-end SoftUni program for software engineers: https://softuni.org. The SoftUni curriculum is carefully developed by Dr. Svetlin Nakov and his team, to provide you consequently and with gradually increasing complexity, all the skills that a software engineer must possess, to start a career as a software developer in an IT company.
Keep in mind that to become a programmer takes a lot of effort, writing tens of thousands of lines of code, and solving hundreds, even thousands of practical problems, and this takes years! If someone offers you "an easier program" and promises you to become a programmer and start working within 3-4 months, then either they are lying to you, or they will give you such a low level, that companies won't even take you as a trainee, even if you pay to the company that is wasting its time with you. There are exceptions, of course, for example, if you are not starting from scratch, or if you have extremely well-developed engineering thinking, or if you apply for a very low position (for example technical support), but in general, you cannot become a programmer if you haven't spent at least 1 year of intense learning and code writing!
The training for software engineers at SoftUni is a serious occupation and you need to spend it at least 4-5 hours every day, preferably your entire attention and time. Combining working and learning is not always successful, but if your work is less demanding and you have a lot of spare time, it is a good option. SoftUni is an appropriate option for school students, university students, and people who work in another field, but it is best if you assign your entire time to your training and mastering the profession. It will not work out if you spend 2 or 4 hours a week on it!
The forms of training at SoftUni are on-site (the better choice) and online (if you don't have another option). In both forms of training, to learn the program in the curriculum (that is required by software companies for starting a job), you need a lot of learning. You need to find the time for it! Reason #1 for having a hard time on the road to the profession in SoftUni is not spending enough time for the training: as a minimum, you need to spend at least 20-30 hours a week.
We recommend to everyone who is passionate about making programming their profession, to leave the rest of their commitments aside and spend their entire time on learning the profession of a "software engineer" and start making a living from it.
- For people who work, this means quitting their job (and getting a loan or decreasing their expenses to live with a lower income for 1-2 years until they start working in the new profession).
- For people who study at a traditional university, this means to move significantly their focus towards programming and the practical courses in SoftUni, by decreasing the time spent in the traditional university.
- For unemployed people, this is an excellent chance to assign their entire time, power, and energy to acquire a new, perspective, well paid and highly sought profession that will give them good life quality and long-term prosperity.
- For students in secondary schools and high schools, this means giving a priority to what is more important in their development: studying practical programming in SoftUni, which will give them a profession and a job, or giving their full attention to the traditional education system, or combining smartly both undertakings. Unfortunately, often priorities are determined by parents, and we don't have a solution for these cases.
We recommend to all who have trouble in solving the programming problems from the book to spend more time on better learning, understanding, and most of all, practicing the material studied in the present book. If you cannot easily solve the problems in this book, you will not be able to cope with programming and software development in the future.
Do not skip the programming basics! Do not under any circumstances make bold decisions and quit your job or the traditional university, making great plans for your future profession as a software engineer, if you don't have a good results! It measures if programming is suitable for you, to what extent you like it and if you are motivated to study it seriously and work on this for years every day with joy and pleasure.
Another possibility to develop after this book is to continue studying programming outside of SoftUni. You can enroll or subscribe to video training that goes into more details in programming with Java or other languages and development platforms. You can read books on programming and software technologies, follow online tutorials and other online resources – there are plenty of free materials on the Internet. However, keep in mind that the most important thing about the profession of a programmer is to do practical projects!
You cannot become a programmer without a lot of code writing and intense practice. Allocate sufficient time to it. You cannot become a programmer for a month or two. On the Internet, you will find a wide variety of free resources, such as books, manuals, video lessons, online and on-site courses on programming and software development. However, you need to invest at least a year or two to acquire the foundation level needed for starting a job.
After you gain some experience, find a way to start an internship in a company (which will be almost impossible unless you'd spent at least a year of intense code writing before that) or come up with your practical project, on which you need to spend a few months, even a year, to learn based on the trial-and-error principle.
|Keep in mind that there are many ways to become a programmer, but they all have something in common: intense code writing and years of practice!|
A huge amount of resources is available on the Web for developers: online trainings, courses, tutorials, books, interactive training sites, etc.
We can not mention all of them because they change over time and because the list might be huge. What we recommend is to join the developer communities in your region, because this will help you a lot when you study.
Regardless of the path, you have chosen, if you are seriously involved in programming, we recommend subscribing to specialized online forums, discussion groups, and communities, from which you can get assistance from your colleagues and track the novelties in the software industry.
If you will study programming seriously surround yourselves with people who are involved in programming seriously. Join communities of software developers, attend software conferences, go to events for programmers, find friends with whom you can talk about programming, discuss problems and bugs, find an environment that can help you. In most large towns, there are free events for programmers a few times a week. In smaller localities, you have the Internet and access to the entire online community.
Here are some recommended resources that will be useful for your development as a programmer:
- https://softuni.org – official website of SoftUni. In it, you will find free (and not only) courses, seminars, video tutorials, and training in programming, software technologies, and digital competencies.
- https://www.facebook.com/softuni.global – official Facebook page of SoftUni. By it, you will learn about new courses, seminars, and events related to programming and software development.
- https://introprogramming.info – official website of the books "Programming Basics" with C# and Java by Dr. Svetlin Nakov and his team. The books examine in-depth programming basics, basic data structures and algorithms, object-oriented programming, and other basic skills and are an excellent continuation for reading after the current book. However, besides reading, you need to do intense code writing, do not forget that!
- https://stackoverflow.com – Stack Overflow is one of the widest discussion forums for programmers worldwide, where you will find assistance for any possible question in the world of programming. If you are fluent in English, look up at StackOverflow and ask your questions there.
- https://www.udemy.com – Udemy is one of the biggest marketplaces for technical training, offered free or at affordable prices.
- https://www.meetup.com/find/tech/ – look for tech meetups around your city and involve in communities that you like. Most of the tech meetups are free, and newbies are welcome.
On behalf of the entire authors' team, we wish you endless success in the profession and your life! We will be really happy, if with our help you are passionate about programming and we have inspired you to boldly take up the profession of "software engineer", which will: bring you a good job, working with pleasure, quality life, and prosperity, as well as great perspectives for development and possibilities for making impressive projects with inspiration and passion.
Sofia, December 5, 2017