<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Norio Okawa</title>
    <description>The latest articles on DEV Community by Norio Okawa (@noriookawa).</description>
    <link>https://dev.to/noriookawa</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1017270%2Fbd58fe9d-062d-42ef-973d-fe6d3631135a.png</url>
      <title>DEV Community: Norio Okawa</title>
      <link>https://dev.to/noriookawa</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/noriookawa"/>
    <language>en</language>
    <item>
      <title>Example: Creating a Console Application "Hello C#"</title>
      <dc:creator>Norio Okawa</dc:creator>
      <pubDate>Mon, 30 Jan 2023 14:59:07 +0000</pubDate>
      <link>https://dev.to/noriookawa/example-creating-a-console-application-hello-c-89</link>
      <guid>https://dev.to/noriookawa/example-creating-a-console-application-hello-c-89</guid>
      <description>&lt;p&gt;Let's create our first &lt;strong&gt;console program&lt;/strong&gt; in Visual Studio. We will start the Visual Studio IDE, will create a new console-based C# project, will write a few lines of C# code and will compile and run the program. Finally, we will submit our C# code for evaluation in the automated Judge system.&lt;/p&gt;

&lt;h2&gt;
  
  
  Console App in Visual Studio: Step by Step
&lt;/h2&gt;

&lt;p&gt;We should already have Visual Studio and we can start it. Then, we create a new console project: [&lt;strong&gt;File&lt;/strong&gt;] → [&lt;strong&gt;New&lt;/strong&gt;] → [&lt;strong&gt;Project&lt;/strong&gt;] → [&lt;strong&gt;Visual C#&lt;/strong&gt;] → [&lt;strong&gt;Windows&lt;/strong&gt;] → [&lt;strong&gt;Console Application&lt;/strong&gt;].&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--zntM9DIo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98axlbe5rn0i2l62hjgr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zntM9DIo--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/98axlbe5rn0i2l62hjgr.png" alt="Creating a Console" width="660" height="377"&gt;&lt;/a&gt;&lt;br&gt;
We set a &lt;strong&gt;meaningful name&lt;/strong&gt; to our program, for example &lt;strong&gt;HelloCSharp&lt;/strong&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WvVn1u5p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c145ylhzbqmshs7zn5wb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WvVn1u5p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/c145ylhzbqmshs7zn5wb.png" alt="Creating a Console" width="880" height="531"&gt;&lt;/a&gt;&lt;br&gt;
Visual Studio is going to create for us &lt;strong&gt;an empty C# program&lt;/strong&gt;, which we have to finish writing (VS Solution with VS Project in it, with C# source file in it, with one C# class in it, with Main() method in it).&lt;/p&gt;

&lt;h2&gt;
  
  
  Writing the Program Code
&lt;/h2&gt;

&lt;p&gt;The source code of the C# program is written in the section &lt;strong&gt;Main(string[] args)&lt;/strong&gt;, between the opening and the closing parentheses { }. This is the main method (action), that is being executed with the start of a C# program. This &lt;strong&gt;Main()&lt;/strong&gt; method can be written in two ways:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;static void Main(string[] args)&lt;/strong&gt; – with parameters from the command line (we are not going into details)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;static void Main()&lt;/strong&gt; – without parameters from the command line.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both ways are valid, as &lt;strong&gt;the second one is recommended&lt;/strong&gt;, because it is shorter and clearer. By default, though, when creating a console application, Visual Studio uses the first way, which we can edit manually if we want to, and delete the part with the parameters &lt;strong&gt;string[] args&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Press [&lt;strong&gt;Enter&lt;/strong&gt;] after &lt;strong&gt;the opening parentheses {&lt;/strong&gt; and &lt;strong&gt;start writing&lt;/strong&gt;. The code of the program is written &lt;strong&gt;inwards&lt;/strong&gt;, as this is a part of shaping up the text for convenience during a review and/or debugging.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--FA1LlUvD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvbnkcsvb6ofuopmiyi5.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--FA1LlUvD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cvbnkcsvb6ofuopmiyi5.png" alt="Creating a Console" width="666" height="422"&gt;&lt;/a&gt;&lt;br&gt;
Write the following command:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Console.WriteLine("Hello C#");&lt;/strong&gt;&lt;br&gt;
Here is how our program should look like in Visual Studio:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--hXGKSaEN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/usq35pfdxqri9w0sln1i.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--hXGKSaEN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/usq35pfdxqri9w0sln1i.png" alt="Creating a Console" width="684" height="434"&gt;&lt;/a&gt;&lt;br&gt;
The command &lt;strong&gt;Console.WriteLine("Hello C#")&lt;/strong&gt; in the C# language means to execute printing (&lt;strong&gt;WriteLine(…)&lt;/strong&gt;) on the console (&lt;strong&gt;Console&lt;/strong&gt;) and to print the text message &lt;strong&gt;Hello C#&lt;/strong&gt;, which we should surround by quotation marks, in order to clarify that this is a text. In the end of each command in the C# language the symbol ; is being put and it says that the command ends in that place (it doesn't continue on the next line).&lt;/p&gt;

&lt;p&gt;This command is very typical in programming: we say a given &lt;strong&gt;object&lt;/strong&gt; should be found (in this case the console) and some &lt;strong&gt;action&lt;/strong&gt; should be executed upon it (in this case it is printing something that is given inside the brackets). More technically explained, we call the method &lt;strong&gt;WriteLine(…)&lt;/strong&gt; from the class &lt;strong&gt;Console&lt;/strong&gt; and give as a parameter to it a text literal &lt;strong&gt;"Hello C#"&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Starting the Program
&lt;/h2&gt;

&lt;p&gt;To start the program, press [&lt;strong&gt;Ctrl + F5&lt;/strong&gt;]. If there aren't any errors, the program will be executed. The result will be written on the console (in the black window):&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X3RW3U2u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cmrg4e4dmrys4ytaya7h.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X3RW3U2u--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/cmrg4e4dmrys4ytaya7h.png" alt="Creating a Console" width="465" height="123"&gt;&lt;/a&gt;&lt;br&gt;
Notice that we start it with [&lt;strong&gt;Ctrl+F5&lt;/strong&gt;], and not only [&lt;strong&gt;F5&lt;/strong&gt;] or with the start button in Visual Studio. If we use [&lt;strong&gt;F5&lt;/strong&gt;], the program will run shortly and right afterwards the black window will disappear, and we are not going to see the result.&lt;/p&gt;

&lt;p&gt;Actually, the output from the program is the following text message:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hello C#&lt;/strong&gt;&lt;br&gt;
The message "&lt;strong&gt;Press any key to continue . . .&lt;/strong&gt;" is displayed additionally on the last line on the console after the program ends, in order to push us to see the result from the execution and to press a key to close the console.&lt;/p&gt;

&lt;h2&gt;
  
  
  Testing the Programs That Play Notes
&lt;/h2&gt;

&lt;p&gt;Now, after &lt;strong&gt;you know how to run programs&lt;/strong&gt;, you can test your example programs that play musical notes. Have some fun, try these programs out. Try to change them and play with them. Change the command &lt;strong&gt;Console.WriteLine("Hello C#")&lt;/strong&gt;; with the command &lt;strong&gt;Console.Beep(432, 500)&lt;/strong&gt;; and start the program. Check if the sound of your computer is on and whether it's turned up. If you work in an online environment, you will not hear a sound, because the program is not executed on your computer, but elsewhere.&lt;/p&gt;

</description>
      <category>csharp</category>
      <category>visualstudio</category>
      <category>development</category>
      <category>console</category>
    </item>
    <item>
      <title>The 4 Essential Skills of the Software Developers</title>
      <dc:creator>Norio Okawa</dc:creator>
      <pubDate>Mon, 30 Jan 2023 12:40:31 +0000</pubDate>
      <link>https://dev.to/noriookawa/the-4-essential-skills-of-the-software-developers-43p3</link>
      <guid>https://dev.to/noriookawa/the-4-essential-skills-of-the-software-developers-43p3</guid>
      <description>&lt;p&gt;There are 4 main skill groups where all programmers must have. Most of these skills are resistant in time and are not influenced by the development in specific technologies (that are changing constantly). These are the skills that any good programmer has and to which every beginner must strive:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;coding (20%)&lt;/li&gt;
&lt;li&gt;algorithmic thinking (30%)&lt;/li&gt;
&lt;li&gt;computer science and software engineering concepts (25%)&lt;/li&gt;
&lt;li&gt;languages and software technologies (25%)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Skill #1 – Coding (20%)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Writing code&lt;/strong&gt; forms around 20% of the minimum knowledge and skills of a programmer, needed for starting a job in a software company. The skill of coding includes the following components:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Working with variables, conditional statements, loops&lt;/li&gt;
&lt;li&gt;Using functions, methods, classes and objects&lt;/li&gt;
&lt;li&gt;Data manipulation: arrays, lists, hash tables, strings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The skill of coding &lt;strong&gt;can be acquired in a few months&lt;/strong&gt; of hard learning and solving practical problems by writing code every day. If you don't learn perfectly the material, you can't become a programmer. You are going to miss fundamentals and it will be harder in the future. For this reason, &lt;strong&gt;give enough time to programming basics&lt;/strong&gt;: solve many problems and write code every day for months until you learn to &lt;strong&gt;solve every problem very easily&lt;/strong&gt;. Then go ahead.&lt;/p&gt;

&lt;p&gt;We specifically note that &lt;strong&gt;the programming language does not matter&lt;/strong&gt; for the ability to code. You can code or not. If you can code with C#, you will easily learn to code with Java, C++ or other languages.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skill #2 – Algorithmic Thinking (30%)
&lt;/h2&gt;

&lt;p&gt;The algorithmic (logical, engineering, mathematical, abstract) thinking forms around 30% of the minimum skills of a programmer needed to start the profession. &lt;strong&gt;Algorithmic thinking&lt;/strong&gt; is the ability to break a particular problem into a logical sequence (algorithm), to find a solution for every separate step and then assemble the steps into a working solution. That is the most important skill of any programmer.&lt;/p&gt;

&lt;p&gt;How to build &lt;strong&gt;algorithmic thinking&lt;/strong&gt;?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Algorithmic thinking is developed by solving &lt;strong&gt;multiple programming (1000+) problems&lt;/strong&gt;, as diverse as possible. That is the recipe: solving thousands of practical problems, building algorithms and implementing the algorithms, along with debugging the issues that come up in the process.&lt;/li&gt;
&lt;li&gt;Sciences like physics, mathematics and similar ones helps a lot, but they are not mandatory! People with &lt;strong&gt;engineering and technical skills&lt;/strong&gt; usually learn very easily to think logically, because they already &lt;strong&gt;have problem solving skills&lt;/strong&gt;, even if it is not algorithmic.&lt;/li&gt;
&lt;li&gt;The ability of &lt;strong&gt;solving programming problems&lt;/strong&gt; (for which algorithmic thinking is needed) is extremely important for a programmer. Many companies test particularly this skill during their job interviews.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To become good at this profession you must add &lt;strong&gt;logical thinking and problem solving skills&lt;/strong&gt;. For example, working with &lt;strong&gt;data structures&lt;/strong&gt; (arrays, lists, matrices, hash-tables, binary trees) and basic &lt;strong&gt;algorithms&lt;/strong&gt; (searching, sorting, searching in tree structures, recursion, etc.).&lt;/p&gt;

&lt;p&gt;As you may have guessed, the choice of &lt;strong&gt;programming language does not matter&lt;/strong&gt; for the development of algorithmic thinking. It is a skill unrelated to Programming. Because of their well-developed logical thinking, there is the misconception that all programmers are smart people and having a high IQ is a requirement for entering into the profession.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skill #3 – Computer Science and Software Engineering Concepts (25%)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Fundamental knowledge and skills&lt;/strong&gt; for programming, software development, software engineering and computer science comprise around 25% of the developer's minimum skills to start a job. Here are the more important of these skills and knowledge:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;basic mathematical concepts&lt;/strong&gt; related to programming: coordinate systems, vectors and matrices, discrete and non-discrete mathematical functions, state automata and state machines, combinatorics and statistics concepts, algorithm complexity, mathematical modeling and others&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;programming skills&lt;/strong&gt; – code writing, working with data, using conditional statements and loops, working with arrays, lists and associative arrays, strings and text processing, working with streams and files, using programming interfaces (APIs), working with IDE, debugger, developer tools, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;data structures and algorithms&lt;/strong&gt; – lists, trees, hash-tables, graphs, search, sorting, recursion, binary search trees, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;object-oriented programming (OOP)&lt;/strong&gt; – working with classes, objects, inheritance, polymorphism, abstraction, interfaces, data encapsulation, exceptions management, design pattern&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;functional programming (FP)&lt;/strong&gt; – working with lambda functions, higher order functions, functions that return a function as a result, closure, etc.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;databases&lt;/strong&gt; – relational and non-relational databases, database modeling (tables and links between them), SQL query language, object-relational mapping (ORM), transactions and transaction management&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;network programming&lt;/strong&gt; – network protocols, network communication, TCP/IP, concepts, tools and technologies from computer networks&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;client-server&lt;/strong&gt; interaction, peer to peer communication, back-end technologies, front-end technologies, MVC architectures&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;technologies for server development (back-end)&lt;/strong&gt; – Web server architecture, HTTP protocol, MVC architecture, REST architecture, web development frameworks, templating engines&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;front-end technologies (client-side development)&lt;/strong&gt; – HTML, CSS, JS, HTTP, DOM, AJAX, communication with back-end, calling REST API, front-end frameworks, basic design and UX (user experience) concepts&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;mobile technologies&lt;/strong&gt; – mobile apps, Android and iOS development, mobile user interface (UI), calling server logic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;embedded systems&lt;/strong&gt; – microcontrollers, digital and analog input and output control, sensor access, peripheral management&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;operating systems&lt;/strong&gt; – working with operating systems (Linux, Windows, etc.), installation, configuration and basic system administration, process management, memory, file system, users, multitasking, virtualization and containers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;parallel and asynchronous programming&lt;/strong&gt; – thread management, asynchronous tasks, promises, common resources, and access synchronization&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;software engineering&lt;/strong&gt; – source control systems, development management, task planning and management, software development methodologies, software requirements and prototypes, software design, software architectures, software documentation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;software testing&lt;/strong&gt; – unit testing, test-driven development, QA engineering, error reporting and error tracking, automation testing, build processes and continuous integration&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We need to once again mention that &lt;strong&gt;the programming language does not matter&lt;/strong&gt; for acquiring all these skills. You will accumulate them slowly, over years. Some fundamental knowledge can be learned theoretically, but to get an in-depth understanding of it you need a lot of practice.&lt;/p&gt;

&lt;p&gt;Having &lt;strong&gt;basic knowledge in the areas listed above&lt;/strong&gt; is enough to start a job as a programmer. Your further improvement will come as a result of the technology and development tools you will use in your day-to-day work.&lt;/p&gt;

&lt;h2&gt;
  
  
  Skill #4 – Programming Languages and Software Technologies (25%)
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Programming languages and software development technologies&lt;/strong&gt; form around 25% of a programmer's skills. They have the largest learning content, but they change very fast over time. If we look at the &lt;strong&gt;job offers&lt;/strong&gt; in the software industry, they usually mention words like the ones below, but in the job offers they secretly mention &lt;strong&gt;the three main skills&lt;/strong&gt;: coding, algorithmic thinking and knowing the fundamentals of computer science and software engineering.&lt;/p&gt;

&lt;p&gt;For those clearly technological skills &lt;strong&gt;the programming language does matter&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: only for these 25% of the profession the programming language does matter!&lt;br&gt;
&lt;strong&gt;For the rest 75% of the skills the programming language doesn't matter&lt;/strong&gt;, and these skills are resistant in time and transferable between different languages and technologies.&lt;br&gt;
Here are some commonly used software development stacks which software companies are looking for (as of Jan 2023):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;C#&lt;/strong&gt; + OOP + FP + classes from .NET + SQL Server databases + Entity Framework (EF) + ASP.NET MVC + HTTP + HTML + CSS + JS + DOM + jQuery + cloud + containers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;JavaScript&lt;/strong&gt; (JS) + OOP + FP + databases + MongoDB or MySQL + HTTP + web programming + HTML + CSS + JS + DOM + jQuery + Node.js + Express + Angular or React + cloud + containers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Python&lt;/strong&gt; + OOP + FP + databases + MongoDB or MySQL + HTTP + web development + HTML + CSS + JS + DOM + jQuery + Django or Flask + cloud + containers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Java&lt;/strong&gt; + Java API classes + OOP + FP + databases + MySQL + HTTP + web programming + HTML + CSS + JS + DOM + jQuery + JSP / Servlets + Spring MVC or Java EE / JSF + cloud + containers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PHP&lt;/strong&gt; + OOP + databases + MySQL + HTTP + web development + HTML + CSS + JS + DOM + jQuery + Laravel or Symfony or other MVC framework for PHP + cloud + containers&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;C++&lt;/strong&gt; + OOP + STL + Boost + native development + databases + HTTP + other languages and technologies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Swift&lt;/strong&gt; + OOP + MacOS + iOS + Cocoa + Cocoa Touch + XCode + HTTP + REST + other languages and technologies&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Go&lt;/strong&gt; + OOP + Linux + Protobuf + gRPC + cloud + containers + other languages and technologies&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the words above look scary and incomprehensible, then you are at the very beginning of your career and you need &lt;strong&gt;many years of learning&lt;/strong&gt; until you reach the profession of a software engineer. Do not worry, every programmer goes through one or several technology stacks and needs to study &lt;strong&gt;a set of interconnected technologies&lt;/strong&gt;, but it is imperative for you is know how to write &lt;strong&gt;programming logic&lt;/strong&gt; (to code) and &lt;strong&gt;think algorithmically&lt;/strong&gt; (to solve programming problems). Becoming a good software engineer is impossible without those skills!&lt;/p&gt;

&lt;p&gt;To be a &lt;strong&gt;software developer&lt;/strong&gt;, you need to learn &lt;strong&gt;coding&lt;/strong&gt; (20%), learn &lt;strong&gt;algorithmic thinking&lt;/strong&gt;, and &lt;strong&gt;solve problems&lt;/strong&gt; (30%), to have &lt;strong&gt;fundamental knowledge of programming and computer science&lt;/strong&gt; (25%) and to master a &lt;strong&gt;specific programming language and the technologies around it&lt;/strong&gt; (25%). Be patient, for a year or two all this can be mastered on a good starting level, if you are serious.&lt;/p&gt;

</description>
      <category>coding</category>
      <category>algorithms</category>
      <category>computerscience</category>
      <category>develop</category>
    </item>
  </channel>
</rss>
