re: I'm Junade Ali, author of multiple software books and working on a PhD in theoretical computer science. Ask me anything! VIEW POST


I'm webdev who do college at night, at my work I use PHP/Javascript/MySQL but I have much interest in learn other languages that I actually study and see in college like C/Python/Prolog on the other hand I feel like I must focus on use the knowledge from college to improve my work, what would you recommend me to focus on, the improvement on work or learn new things and put more focus on college stuff ?


Do what your enjoy more and would help you with your wider career aspirations (it's not unreasonable for salary exceptions or job security to play a part in this decision). An popular open-source project may be the thing that seals the deal for your next role. Consider if you need any specific technical skills for a particular software engineering discipline if you want to specialise; for example, a data scientist may find a language like R useful whilst a Dev Ops consultant may need to know Kubernetes well (and by extension, Go).

Either way; try and get a firm understanding on writing clean, tested and reliable code - above specific languages. In the words of Martin Fowler: "Any fool can write code that a computer can understand. Good programmers write code that humans can understand."

Language elitism is valued by some engineers, but the best software engineers I've encountered as Polyglots with firm understandings of the fundamentals.

If you're pursuing a career in PHP or a similarly aged language (as opposed to some newer buzzword-driven language) - you will spend substantial amounts of your time refactoring legacy code. I used to (and still do) enjoy this, but it can be an unfortunate reality that so much code is written poorly. If you keep doing greenfield work you generally get the privilege of making the mistakes before anyone else has a chance to notice (or notice that the new language everyone's talking about on HackerNews can't do fundamental things like Polymorphism properly).


thank you so much for your answer, i'm halfway on college and I feel very attracted to AI and Programming Languages paradigms, so I'll put more effort on college subjects and eventually try to use the concepts and the theoritcal knowledge on work since so much can be improved If you have certain knowledge, and yes 100x, work with PHP and legacy code put you in very Crazy code situations, I kinda like refactory and improve some things but after spent much time in a project just doing this you get bored, and thanks for mention the words of Martin, who I didn't knew, I'll take these to life.

code of conduct - report abuse