Ask your questions for Eli and the rest of the Silicon Discourse community here.  Build your reputation by giving advice to others too!


Hello Eli,

Hello silicondiscourse Community,


finally (we) germans can enter silicondiscourse (I still call it geek sexy news btw – got used to it). Thank you for the additional opportunity for a one year membership.


Now to my question:

Most of the time if someone asks you what they should do you say “become a programmer”.

I totally agree with you but sadly it looks like “it’s not for me”?!

During my bachelors degree we had to learn java (basics + slightly advanced stuff). I passed, but I really struggled learning even the basics. As soon as we started with “loops” for example I totally got lost.

I can’t get the chances and opportunities out of my head which I might miss. So I was wondering what you think. Do you think everybody can learn coding to the point that he/she actually would get hired?

I was looking for internships. But in germany even programmer internships require programming experience.

Today you opened Udemy during your livestream. At this point I was wondering if you would consider doing a low cost paid java course a good idea. So I get some kind of “pseudo” certificate. And if you think it is a good idea, is udemy the best place to go? (most valuable low cost “pseudo” certificate for employers?)

Finally: If I remember correctly you recommend starting with PHP. Why?


Thank you very much.




Hi Fred. I’ll throw in my thoughts, being someone who works in the IT industry.

Programming, or more specifically, coding, is something that’s becoming a requirement for IT professionals. Now, does this mean that you need to know how to write code in Java ? Not necessarily. There are a lot of options when it comes to learning programming. Perhaps you would prefer web programming, like HTML, CSS, etc ? Maybe you would rather develop iOS and Android applications ?

As well, the level of coding needed isn’t necessarily THAT high, depending on what you’re doing. For example, integrating internal systems with web development environments often requires some knowledge of coding to make the systems “talk” to each other, but doesn’t mean you have to be able to build the entire web development environment.

This is kind of like saying that if you want to race cars around a race track, you should know something about mechanics. But, that doesn’t mean you need to know how to take the entire engine apart and rebuild it.

That all being said, yes, programming, coding and the development world is the future of IT these days. It’s all about taking common everyday problems and solving them, which these days means creating a digital solution. Hardware hasn’t changed that much in the last few years, and consolidation is eating through everyone’s data center / server room.

I can relate with you – I dislike coding myself as well. That being said, I do know a decent amount, simply because it’s a requirement of the job these days.


Short answer: no.


I’m currently working to change careers from auto mechanics to programming. Basically it’s a race against body aches.  But I’m good at math and logic. I programmed in high school


In in the first college level course I took, most of the students couldn’t grasp “hello world”. And they want to be programmers.


Programming is hard, and it’s definitely not for everyone.


How university teaches and shows what programming is, IS INCOMPARABLY DIFFERENT, from actually getting it done. I started programming jobs several years before attending university. I had to start university because (1) I was under illusion it will improve me (2) it was needed for immigration requirement. If I had not known the subject ahead of time, the way it was delivered, how torn out of context it was, if that was my first introduction to programming, I would have run away. In fact, my classmates, just like yourself, have ran away. I of course still do programming because I know the other side of the story.

Part of the reason official formal educational institutions deliver content like they do, is because formal education (according to their creators, not my words) should not be hand holding in order to assess you based on metric. In order to give you a grade, or otherwise decide if you passed or failed, they have to handicap you in one way or another to make it difficult for you to grasp the content so you can be weeded out as either someone who is worthy of a degree, or not.

Second reason, is that it is that, formal class. That means, you are taught loops and such in a mathematically formal way. Actually, you should not approach programming this way. In the field, programming is about translating business concepts into automated instructions. That means learning objects, classes, design patterns. Its not about some for-loop algorithm that calculates factorial efficiently.  Its about saying “HR has a person who submitted resume, went through interview, and now starts on-boarding process”. What you will find is graduates of official classes will write very unmaintainable solution because they know only mathematical formality of code, not the domain driven style of code, which is how you should be thinking about it. You will write:


class HR {

readResume(Resume $resume) {

// some SQL statement that marks $resume->readBy($this); true in database.



$suzan = new HR();

$suzan->readResume(new Resume($fredGER));

Do you see any for-loops there?

I see this is a massive problem in online tutorials too. They over focus on language syntax, conditional statements, that actually make your code bad (if-statements are horrible), but completely disregard what you actually get payed for, which is translating business requirements into named object instances.


Hi Fred,

I have to agree with the others, most people can learn coding. From my own experience I can say that people learn differently. For some people the university approach works just fine, for others it does not. Another big issue is the literature. I studied in Germany and the Netherlands and the German authors tend to explain a lot around the point they want to make. So if you can stick to English literature, if at all. There are so many good coding guides on the web that you probably won’t need to buy any book.

As a few people already suggested, starting with PHP, MySQL etc. is not a bad idea, but I would suggest a more practical learning by doing approach. As Eli always says: Find a problem to solve. Today most people need websites, start ask your family and friends if they or someone they know needs a website and start creating WordPress or Joomla sites for them. As you start getting more experience you can then start digging deaper, modify plugins, create your own ones or create new templates.

Normally tutorials for these types of actions guide you through the steps one at a time. As you start solving more and more complex problems you’ll get familar with how PHP, MySQL, HTML5 and CSS3 work and interact with each other. If you keep working on this you can have a pretty good understanding in a few months.

Since the basic concepts of programming and scripting languages are more or less similar to each other, you will then have a much better understanding of the basic language structure. This helps you to recognize different patterns easier, so you can focus on the real differences.

I am currently seing something like this developing with a friend of mine who is a mechanical engineer. He started managing content for a website and is now setting it up himself, expanding it and learning step by step.

I hope this helps you on your way.