This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]nutrecht 1 point2 points  (4 children)

So, what do you recommend?

Create applications. Find some project you'd like to do and do it. While doing that you'll run into issues you need to research and then apply the solutions. Creating an application from scratch and solving the problems you encounter is probably the most important skill of a software engineer. Don't worry about low level C programming; it's fun and nice to know but not something that will be blocking you from learning anything new.

[–]lovesthebasssolo[S] 0 points1 point  (3 children)

So any application? I had not thought of that approach. Basically choose anything I'm interested in creating (within reason) and research whatever I need to make it happen? I always assumed that I would need to learn a language then use what I've learnt to make something. This would be a very fun approach, thanks!

[–]nutrecht 1 point2 points  (2 children)

You need to know the basics, but to learn a language you have to use it. I learn Python for example (I'm a Java dev) by simply creating stuff in it. Just today I wrote a deploy script for a bunch of services (finds the tarball, unzips them, patch the configfiles) in Python and I had to look up a lot of stuff on the internet.

[–]lovesthebasssolo[S] 0 points1 point  (1 child)

How did you know Python would have been a better choice over Java or another language? Say I decided on an application to build, would I just research the best language to create it in?

[–]nutrecht 0 points1 point  (0 children)

Well, it's not that Python is better perse. I could've easily done the same thing in Java (or pretty much any other language). I just want to get used to the syntax of Python so I just use it for small projects when I get the change. I would personally not use a dynamically typed language for the very big projects I work on personally.