Welcome to Dream.In.Code
Getting Help is Easy!

Join 136,853 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,591 people online right now. Registration is fast and FREE... Join Now!




Software Engineer

 
Reply to this topicStart new topic

Software Engineer, What to learn ?

manzoor
19 Jul, 2008 - 04:14 AM
Post #1

D.I.C Regular
Group Icon

Joined: 7 Aug, 2007
Posts: 406



Thanked: 2 times
Dream Kudos: 50
My Contributions
What else is there to learn besides a programming language in software developing?

How to be good at Software Engineering?

Where do you learn all those things ? Can they be learn online ? Reading books ?

What is needed to get an entry level job in Software Engineering field?

What does the university (Computer Science, Software Engineering) teaches you beside programming languages.
User is offlineProfile CardPM
+Quote Post

NickDMax
RE: Software Engineer
19 Jul, 2008 - 09:24 AM
Post #2

2B||!2B
Group Icon

Joined: 18 Feb, 2007
Posts: 2,859



Thanked: 50 times
Dream Kudos: 550
My Contributions
Well there is quite a bit that goes into becoming a software engineer. Usually you start out as a grunt programmer and though experience work your way up.

See you start off with a very detailed small view of a program (like working on a particular function or some particular functionality of a program) and then over time your responsibility grows and you begin to look at the program as a whole.

I would say that the books you would want to look at are the design books. Design patterns, OO design. You also need to be familer with the various technologies and libraries that can be brought to bare upon solving a problem.
User is offlineProfile CardPM
+Quote Post

kikz
RE: Software Engineer
22 Jul, 2008 - 02:11 AM
Post #3

New D.I.C Head
*

Joined: 21 Jul, 2008
Posts: 32



Thanked: 1 times
My Contributions
Time management is a good start. If you want to be a better programmer, start by accepting you need to engage in life-long professional development. I say this to all newcomers, "If you're not prepared to continually learn and read, you're in the wrong industry".

Start reading blogs. Get exposure to industry code and what developers are thinking. Don't take what blogs say as gospel though, have a think about what the authors are blogging, and see if you agree.

Get some good books on programming. Not on programming langauges but on actual programming and software development. A few good ones are:
* Steve McConnel's Code Complete (version 2)
* The Pragmatic Programmer
* The Mythical Man Month
* Peopleware

Then learn all you can about software patterns. Both deisgn patterns and architecture patterns. The two seminals works in this field are the GoF book (Gamma et al) and Martin Fowlers "Patterns of Enteprise Application Development". (Make sure you know your UML too smile.gif) Patterns are the language we developers use to communicate. If I say to you "Use the decorator pattern", you should know exactly what I'm talking about. Patterns aren't language specific, though they are paradigm specific (OO).

Requirements for getting a foot in the door can vary widely depending on where you're applying at. Some dev shops will take you with just industry certifications, others will require undergrad degrees, and others will require at least a Masters degree.

A good uni course should teach at least these:
Design Patterns (the main GoF ones at least)
Software Project Management
Operating Systems
Networking
Databases
Realtime / Concurrent Systems programming
Machine Hardware (every programmer should do at least introductory computer systems engineering / hardware, to understand how memory is physically accessed, what registers are and why they're important etc)
Modelling and specification languages (UML, Z, etc)



User is offlineProfile CardPM
+Quote Post

Tastybrownies
RE: Software Engineer
1 Aug, 2008 - 08:42 AM
Post #4

New D.I.C Head
*

Joined: 13 May, 2008
Posts: 26



Thanked: 1 times
My Contributions
As well as learning programming languages would I have to get into command interfaces and programming with Linux and or Unix?
User is offlineProfile CardPM
+Quote Post

KYA
RE: Software Engineer
2 Aug, 2008 - 03:44 PM
Post #5

#include <nerd.h>
Group Icon

Joined: 14 Sep, 2007
Posts: 4,976



Thanked: 111 times
Dream Kudos: 1200
My Contributions
Depends on the role/job in my humble opinion.
User is online!Profile CardPM
+Quote Post

DeCompile
RE: Software Engineer
2 Aug, 2008 - 09:21 PM
Post #6

D.I.C Head
**

Joined: 20 Jul, 2008
Posts: 180



Thanked: 6 times
My Contributions
What to learn, what to study would be relevant only to where you want to go.

You wouldn't learn .Net programming if you were looking at writing embedded systems or vice versa.

Although a very relevant book to read would be:

'Beautiful code' by Andy Oram. (One of my favourites)
User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic
Time is now: 12/3/08 06:33PM

Live Help!

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month