Formerly of Apple, I currently write software to solve all manner of interesting problems. I work and live in Coral Gables, FL with my beautiful wife and two kids.
I Agree with this sentiment completely. Since you've already started with Python, you may as well continue with it and work on increasingly challenging problems. Can you build a CMS (Content Management System) web app? Great! Now try building an API driven SPA (Single-Page App). After you can do that, try building something real-time, like a Web-Sockets driven chat app. Once you can do chat with web-sockets, try doing it with ZeroMQ instead. How about bare TCP Sockets?
Python is a general-purpose enough language that you can take advantage of it to explore the "full stack" of technologies that make modern computers run. Then, once you've spent some time on that deep dive, branch out but don't focus on specific languages. Rather, try and cover as many different programming paradigms as you can. As a quick list, you should probably at least try:
If you can master that list, then there's not a programming job in the world you couldn't apply for. Finally...
Conversely, if you discover you like FORTRAN, Assembly, ADA, or some other strange "ancient" language like that, by all means embrace it!
COBOL was a horrible language that nobody liked using, but everyone did because "Corporate America™" said they should. As soon as there were alternatives, most programmers abandoned COBOL completely. You know who didn't? All the banks and Wall street firms whose day-to-day operations depended on systems written in COBOL! As a consequence, some of the highest-paid programming positions today are for experienced, competent COBOL programmers who can maintain and update all those critical systems developed decades ago.
All that's to say, if you chase the "next big language", you'll be chasing it your entire life. If you hone you core skills as a developer, you'll never be out of work.
Great additional thoughts, Joshua! Also, nice list.
Only one word of caution I should have mentioned earlier: be careful not to become overly dependent on standard libraries to do all the heavy lifting for you. This is a trap one can easily fall into, especially with "let us do it all for you" languages like Java, C#, and Javascript. While there's nothing wrong with using a standard library implementation of, say, a linked list, you should also learn how to build one yourself.
In short, aim to have at least a basic understanding of any "abstraction" you use. You don't have to learn this all at once, but plan to make time to learn it sooner rather than later.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
I Agree with this sentiment completely. Since you've already started with Python, you may as well continue with it and work on increasingly challenging problems. Can you build a CMS (Content Management System) web app? Great! Now try building an API driven SPA (Single-Page App). After you can do that, try building something real-time, like a Web-Sockets driven chat app. Once you can do chat with web-sockets, try doing it with ZeroMQ instead. How about bare TCP Sockets?
Python is a general-purpose enough language that you can take advantage of it to explore the "full stack" of technologies that make modern computers run. Then, once you've spent some time on that deep dive, branch out but don't focus on specific languages. Rather, try and cover as many different programming paradigms as you can. As a quick list, you should probably at least try:
If you can master that list, then there's not a programming job in the world you couldn't apply for. Finally...
COBOL was a horrible language that nobody liked using, but everyone did because "Corporate America™" said they should. As soon as there were alternatives, most programmers abandoned COBOL completely. You know who didn't? All the banks and Wall street firms whose day-to-day operations depended on systems written in COBOL! As a consequence, some of the highest-paid programming positions today are for experienced, competent COBOL programmers who can maintain and update all those critical systems developed decades ago.
All that's to say, if you chase the "next big language", you'll be chasing it your entire life. If you hone you core skills as a developer, you'll never be out of work.
Great additional thoughts, Joshua! Also, nice list.
Only one word of caution I should have mentioned earlier: be careful not to become overly dependent on standard libraries to do all the heavy lifting for you. This is a trap one can easily fall into, especially with "let us do it all for you" languages like Java, C#, and Javascript. While there's nothing wrong with using a standard library implementation of, say, a linked list, you should also learn how to build one yourself.
In short, aim to have at least a basic understanding of any "abstraction" you use. You don't have to learn this all at once, but plan to make time to learn it sooner rather than later.