4 Replies - 1920 Views - Last Post: 16 August 2014 - 07:08 AM

#1 Voltronguy2  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 01-June 14

How does a noob like me prepare to be a software developer?

Posted 01 June 2014 - 10:56 AM

I am about to graduate from high school, and I am interested in software development. For college I put software development as my major. I am really excited to start learning what it takes to be a great developer. The thing is, I have very little knowledge of it and I know it is vital to start learning on your own. I've seen countless of youtube videos and I've worked on code.org to get started. I was wondering if I could have suggestions on what it takes to be a software developer, what I should learn on my own to be ready for classes in the fall, how to prepare, and just any tips on the industry. Thank you :)/>

Is This A Good Question/Topic? 0
  • +

Replies To: How does a noob like me prepare to be a software developer?

#2 BetaWar  Icon User is offline

  • #include "soul.h"
  • member icon

Reputation: 1147
  • View blog
  • Posts: 7,134
  • Joined: 07-September 06

Re: How does a noob like me prepare to be a software developer?

Posted 01 June 2014 - 12:13 PM

Moved to Student Campus.

Well, starting out, it is important to remember that the vast majority of people who are going into their major think it sounds interesting and haven't had any actual experience with it until College starts.

It really depends on how much you want to learn _at_ school instead of on your own. If you go out and learn say, C++, Java, Python, PHP, and HTML over the summer (it would be a huge undertaking, so I wouldn't suggest it) it is pretty safe to say you will go into college significantly further ahead than any of your classmates. However, I also would point out that I had 4+ years of programming experience before going into college so I didn't learn everything overnight.

In general, if you know Java you should be in good shape for your intro courses since they normally focus on an upper level language to introduce the basics of programming to the new students. If you know C/C++ and how memory management works you will be that much further ahead (since Java does all the memory management for you) and if you know a variety of languages then you will more easily be able to decide which direction you want to go with software development (mobile, desktop, firmware, web, etc.). All the options I listed previously have different requirements. Web for instance will focus on HTML, CSS, Javascript (Note - this isn't Java), PHP, Python, Perl, Ruby (these last 4 being server-side languages, and will really depend on what the class teaches as to which is the most important to learn).


My biggest suggestion on learning to program is to learn how to debug. Most of the time you see new programmers start off and get an error in their program (either during compile or run time) and they have no idea where to start trying to fix it. I would suggest you start off using Java or C++ and a plain text editor (that's right, no syntax highlighting, no auto-complete, none of that). Compile frequently, try things out, and learn how to manually find the errors in your program when they come up (and they will come up). This will help you our a LOT down the road where you are able to use nicer tools since you will already know how to debug, it will just be a matter of finding the line and fixing the error.
Was This Post Helpful? 2
  • +
  • -

#3 Ryano121  Icon User is offline

  • D.I.C Lover
  • member icon

Reputation: 1362
  • Posts: 3,002
  • Joined: 30-January 11

Re: How does a noob like me prepare to be a software developer?

Posted 01 June 2014 - 12:35 PM

You may find this helpful to see what its like and what skills you need to develop: Q&A with the Experts.
Was This Post Helpful? 0
  • +
  • -

#4 ccubed  Icon User is offline

  • It's That Guy
  • member icon

Reputation: 160
  • View blog
  • Posts: 1,403
  • Joined: 13-June 08

Re: How does a noob like me prepare to be a software developer?

Posted 01 June 2014 - 12:38 PM

In my opinion, the most important thing is never knowing a language. Obviously, you need to learn at least one to a sufficient level to be a developer, but I believe we spend too much time on the word language. In a way, we've created a duality in how we learn and perceive. When you start talking about Computer Science, it's almost entirely bereft of code specific to any platform because it should apply to all platforms. So what's my point with this? My point is that every programming language is essentially the same. The concepts inherent to each programming language are exactly the same. All languages have three things: Variables (Data Storage), Input/Output (IO Systems) and Functions (Processes). In reality, C++ and Java aren't that different. Neither is C++ and Visual Basic. What makes them noticeably different is syntax. Syntax however is something dependent on the people that make the programming language. It doesn't change the underlying concepts.

So, What is my ultimate point with this paragraph?

My point is: The most important thing I would suggest is not learning a programming language, it would be altering your thought process to refer to concepts instead of implementations. Abstract Types instead of Standard Templates. If you can master that, then any programming language will simply become a set of syntax rules.
Was This Post Helpful? 4
  • +
  • -

#5 MrN1ce9uy  Icon User is offline

  • New D.I.C Head

Reputation: 0
  • View blog
  • Posts: 1
  • Joined: 16-August 14

Re: How does a noob like me prepare to be a software developer?

Posted 16 August 2014 - 07:08 AM

View Postccubed, on 01 June 2014 - 12:38 PM, said:

In my opinion, the most important thing is never knowing a language. Obviously, you need to learn at least one to a sufficient level to be a developer, but I believe we spend too much time on the word language. In a way, we've created a duality in how we learn and perceive. When you start talking about Computer Science, it's almost entirely bereft of code specific to any platform because it should apply to all platforms. So what's my point with this? My point is that every programming language is essentially the same. The concepts inherent to each programming language are exactly the same. All languages have three things: Variables (Data Storage), Input/Output (IO Systems) and Functions (Processes). In reality, C++ and Java aren't that different. Neither is C++ and Visual Basic. What makes them noticeably different is syntax. Syntax however is something dependent on the people that make the programming language. It doesn't change the underlying concepts.

So, What is my ultimate point with this paragraph?

My point is: The most important thing I would suggest is not learning a programming language, it would be altering your thought process to refer to concepts instead of implementations. Abstract Types instead of Standard Templates. If you can master that, then any programming language will simply become a set of syntax rules.


I am a beginner to programming. I am taking a class this Fall called Problem Solving, which helps the student learn programming concepts using Alice(http://www.alice.org/index.php.)

You don't need to learn a programming language to use Alice, you just learn the underlying concepts. I'm not sure if this is the only software like this(I'm sure it's not), but I just wanted to put it out there.
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1