Question:
How can I be a great software developer?
Daniel
2014-04-02 00:34:17 UTC
I'm a 13 year old kid that wants to become a software developer. I'm not going to bore you with a whole bunch of detail right now. So basically I have been learning C++ on and off for a few months and am now learning about pointers, referencing, dereferencing, etc.. So since I still have a lot of time to develop and work and most importantly learn how do I become a great developer. I always want to be the best. That's why I was always a ball hog, I always wanted to be the best and score. I can't settle for not being the best. So any tips on what I should do in the future. Side information(sorry if I sound like I'm being arrogant) straight A's, pretty god damn good social life, and also really like running. So I know I basically asked this like a million times throughout the span of this question, but what should I do with C++, what other languages should I learn, and what should I do to become a great software developer. Sorry for being super repetitive and/or arrogant. Best answer I will make sure gets 10 points or more depending on how good it is.
Six answers:
2014-04-02 01:10:48 UTC
It all depends on whatever you want to do. "Software Development" is such an abstract term. Do you want to end up in web development, robotics, embedded systems, data management, or something else? It's almost like saying, I like science, what should I learn, math? physics? chemistry? If you like web development, Java and C# are excellent choices. If you are into more technical things (robotics, embedded systems) C, C++ and Python are better options. Don't worry too much about making a choice though, since you will be able easily learn other programming languages after you have mastered one.



PS. If you like C++, I advise you to learn a bit more about the differences of C and C++. This could help you understand the benefits of Object Oriented Programming (OOP) languages (and it's downfalls).
2014-04-02 00:48:29 UTC
One thing you must accept first is that in the world of software development, you will never, ever be the best. There will always be someone better than you in this line of work, and that's okay. Software development is often about team work and contribution, so the mindset of wanting to be the best doesn't work on your own. You want your team to be the best.



That being said, when I started at your age, I got my mum to pick me up some of them Sams 24 hour learning books from the library. I started out with VB (Visual Basic) and decided I wasn't to fond of it, so I tried another language inside of the .net framework, being C sharp. I clicked with this language and ever since, every day, I've been bettering myself. Don't stop reading, check forums like stackoverflow, read developer news articles, talk to other people that share your interests.
2014-04-02 00:37:41 UTC
Learn Java, Oracle etc. These should help you a lot in your career.

Anyways, you can also create small programs of your own in the beginning. Take a personal tutor to make you understand the basics of programming. Be confident in what you choose and want to become. I am sure you will succeed.
2014-04-02 04:03:29 UTC
There are lot of programming language which you can learn like: java, hybernet etc.
darrenforster99
2014-04-02 01:23:07 UTC
Well you've made a good start - learning C++ certainly is a good first language to learn because so many other languages are very similar to it.



PHP is also another good language to learn, but once you take a look at PHP if you know C++ you'll soon realise it is very, very similar to C++. There are a few differences like you don't have pointers in PHP and defining variables is a bit different (it's nowhere near as strict as C++ with it's casting from one type to another - PHP does most of the casting automatically which can feel a bit strange).



Also look into SQL - It's vital that you know SQL because SQL (quite often pronounced Sequel) allows access to a major database system which most internet based programs use in some way (forget that Microsoft Access - SQL is the real deal!) SQL is very different to C++ but you can quite easily pick it up.



If your using C++ you can find SQL engines to work with SQL database, and SQL and PHP go really hand in hand. SQL is quite self explanatory here are some examples:-



SELECT * FROM employee_table

SELECT name FROM employee_table

SELECT address FROM employee_table WHERE town = "Ludlow"



the top example tells it to "select" (select is like "get") all (* is a wildcard) fields from employee_table

the middle example "select" all data in the name field from employee_table

and the bottom example is to "select all data in the address field from employee table, but only if town is equal to Ludlow



The select command in SQL is like reading the data in. There are other more complex options too.



One other thing you should also learn about with C++ is a thing called Object Orientated Programming or OOP.



OOP is where everything goes back to one basic object but then you create new objects that evolve from that object - possibly the best way to describe OOP is to think of a vehicle...



now if your creating a vehicle they all have the same outline don't they - what makes a vehicle...



class vehicle

{

wheels

chassis

brakes

}



now if we wanted to make a push-bike that class might be fine, but what if we now want to take it a stage further and make it into a motor bike or a car. Well either way it's still going to have wheels, chassis and brakes so we can say something like this



class motorbike :: vehicle

{

engine

suspension

wheels = 2 ;

}



or



class car :: vehicle

{

engine

suspension

doors

seats

}



now from there we've created a few objects the car object is a child of the vehicle object ( car::vehicle ) so anything that all vehicles have like wheels, chassis and brakes are already defined but now we've added some extra bits on that are exclusive to cars like it's doors, seats, engine and suspension.



The other one - the motorbike only adds suspension and engine to it and sets wheels to 2 because normally a motorbike doesn't really need an entry for seats or doors, of course we could take it one stage further like this:



zafira::car

{

doors = 5 ;

seats = 7 ;

wheels = 4 ;

}



meriva::car

{

doors = 5 ;

seats = 5 ;

wheels = 4 ;

}



Now in this example we've created a new child of the car - again it's got all the same things that the car has got, the only difference is we're now defining it to be a specific car. We're telling it that a zafira car has 7 seats, where as a meriva has 5 (I only used zafira in the example 'cos I've got one), but going back to the beginning - it's still got all the stuff that the car has got - engine, seats, and also everything it's grandparents have got (it's grandparent is vehicle - so it's still got wheels, a chassis, and brakes)



So that's how OOP works, you start out with the most basic of object and then create new objects off from it. That way it's easier to create evolution - like from vehicle you could go to car, bus, van, bike, motorbike, coach they all share the same basic vehicle structure even though they're very different - and from car you could even go to various types of car - like even



class robinreliant :: car

{

wheels = 3 ;

}



And finally you also have recursion - recursion is a handy trick to learn because you can make a function loop without a for loop and it's really useful - for example



int total ( int ret = 0, int count = 0 )

{

return ( count > 10 ? ret : total ( ret+count, count+1 ) ) ;

}





now the example might not seem very useful - but it's only a basic example - in the example the total function will go through from 0, if the counter is less than 11 it will call the total function again (recursion) until it reaches 11, it will also add the counter to the ret value and at the very end when the counter reaches 11 it will return 1 to 10 added up - not really too useful, but you can use recursion in other ways - going through directories on a hard drive, or linked lists...



(btw in case you've not seen it before ?: is like an if else statement - e.g.



int b = 5 ;

int a = ( b == 10 ? 5 : 10 )



is the same as



int b = 5 ;

int a ;

if ( b == 10 )

a = 5 ;

else

a = 10 ;



just a lot shorter!
2014-04-02 01:56:56 UTC
You can study on computer engineer.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Continue reading on narkive:
Loading...