Fokus på språk beror lite på vad du vill jobba med. Idag krävs så mycket mer än att bara kunna ett simpelt programmeringsspråk. Många miljöer har även ramverk, interna teknologier och metoder som man förväntas kunna.
Java används främst inom Enterprise-utveckling, client-server baserade system. Där så är det vanligt med Spring, Hibernate och lite andra ramverk som man förväntas kunna om man ska jobba inom Java-världen. Java-systemen kör nog vanligtvis på Linux eller Unix-plattformen, så att kunna lite om den är att föredra då också. Inom java-världen så har det även utvecklats nya språk som fungerar i javamiljön, såsom Clojure. Det kan vara intressant att titta vidare på om man väljer Java-spåret.
Om vi pratar web-utveckling så ska du fokusera på frontend-delarna i första hand. Backend-delarna kan utvecklas med en rad olika språk och teknologier som du kan fokusera på i andra hand. JavaScript är den stora gemensamma nämnaren för all webutveckling idag. Alla ramverk som man förväntas kunna är skrivna i JavaScript. Så det är utan tvekan ett språk du bör lära dig bra i så fall.
Andra saker som du bör lära dig inom web-utveckling är HTML5, CSS3, de vanligaste och mest populära ramverken såsom jQuery, AngularJS, Backone.js, Bootstrap samt designmönster såsom MVC. Andra teknologier du bör kolla in är REST och JSON.
MVC är ett designmönster som används både av ASP.NET MVC och Ruby on Rails samt en hel del andra web-miljöer. MVC är det som efterfrågas idag. Har man lärt sig mönstret inom en miljö, så kan man ju alltid lättare förstå hur det är implementerat i en annan, tex ASP.NET vs Ruby on Rails.
Idag så bygger man ofta ett REST-baserat backend som sedan kommunicerar med ett relativt helt JavaScript-baserat frontend, baserat på ett eller flera av de GUI-ramverk som är vanliga idag. Då den REST-baserade backend-delen kan skrivas i både Ruby, ASP.NET MVC, Node.js, etc och ge samma gränssnitt mot frontend-delarna så känns det som att det kanske inte spelar så stor roll vilken backend-teknologi man använder, de funkar mer eller mindre lika bra allihopa. Alla har ju sina för och nackdelar.
Startups kör ofta på Open Source-baserade backends såsom Django, Ruby on Rails eller PHP-baserade ramverk medan många av de större bolagen kör med Microsoftmiljöer och ASP.NET.
Vid större utveckling så är det inte helt ovanligt att man använder ett CMS-system i grunden. I Microsoft-världen så är EpiServer ett av det mest använda systemen, åtminstone i Sverige, men de jobbar hårt på att bli större även internationellt. Även Microsoft SharePoint är vanligt förekommande på större bolag.
Inom Open Source världen så är Drupal, Joomla och Wordpress vanligt förekommande vid webutvckling av både mindre och större siter. Gemensamt för alla dessa tre system är att de är skrivna i PHP. Så vill man agera inom den världen så kan PHP vara bra att lära sig.
Du som är elektroingenjör skulle ju kunna hamna inom embedded-världen och där tror jag fortfarande att C är väldigt vanligt förekommande. Om inte annat så är det ett bra språk att lära sig från grunden.
För att lära dig ren objektorientering så kan ju Java eller C# vara lämpliga språk. Sedan finns det ju funktionella språk såsom F#, Haskell och andra. Tror Clojure är funktionellt också.
Läs in dig på och förstå skillnaderna mellan de olika typerna av programmeringsspråk. Olika språk lämpar sig olika bra för olika saker och med lite bakgrund så förstår man bättre varför.
Man kan ju hålla på hur länge som helst med att lära sig programmeringsspråk, metodiker och man blir aldrig fullärd. Ju mer man lär sig, desto mindre inser man att man kan.
Ett tips är också att fokusera på själva läran om programmeringsmetodik, inte bara fokusera på rena språk. Det är väldigt utvecklande att läsa in sig på.
Något jag verkligen kan rekommendera är att kolla in Uncle Bob's (Robert C. Martin) video-serie baserad på hans bok Clean Code som du finner här, http://cleancoders.com/. Boken bör du också läsa, men serien följer bokens kapitel ganska bra men kanske kan den ge vissa kompletteringar. Denna seier är grymt givande och borde vara obligatorisk för att blivande utvecklare!
Andra rekommendationer när det gäller läsning är följande där vissa anses vara klassiker:
http://www.amazon.com/Code-Complete-Practical-Handbook-Constr...
http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmans...
http://www.amazon.com/Beautiful-Code-Leading-Programmers-Prac...
http://www.amazon.com/Refactoring-Improving-Design-Existing-C...
http://www.amazon.com/Solid-Code-Donis-Marshall/dp/0735625921...
http://www.amazon.com/Software-Estimation-Demystifying-Practi...
http://www.amazon.com/Write-Great-Code-Understanding-Machine/...
http://www.amazon.com/First-Design-Patterns-Elisabeth-Freeman...
http://www.amazon.com/Coders-at-Work-Peter-Seibel/dp/14302194...
http://www.amazon.com/Pragmatic-Programmer-Journeyman-Master/...
http://www.amazon.com/Mythical-Man-Month-Software-Engineering...
http://www.amazon.com/Agile-Principles-Patterns-Practices-C/d...
http://www.amazon.com/Applying-Domain-Driven-Design-Patterns-...
http://www.amazon.com/Art-Unit-Testing-Examples-Net/dp/193398...
http://www.amazon.com/Productive-Programmer-Theory-Practice-O...
http://pragprog.com/book/dlret/agile-retrospectives
Videobaserad utbildning som täcker mycket har du på:
* www.pluralsight.com
* www.codeschool.com
* www.tutsplus.com
Nu är det bara att läsa och studera videos och testa att koda lite. Praktik ger färdighet!
Lycka till!