What makes an excellent software engineer?

I was wondering what would make an engineer stand out and not be just like any other coder.

They obviously have to be fluent in a diverse amount of programming languages and be logically sound, but does creativity play a big role in the coding process? I would presume that a good coder would be able to write creative and innovative code…

Anyways, what would a make up a great software engineer?

Good questions actually. It depends on a lot of factors in my opinion. If you work alone for example, you need to be able to come up with a creative and solid approach to tackling a given problem, and translate this to working code. If you work in teams, it would be perfectly acceptable for someone else to do the “creative” part, and for the coder to just translate this into bug-free code.

There’s no one description that fits the bill, I think. If you work in games than a good visual imagination and perfect grasp of trigonometry, vector math and matrices is important. If you work in databases this is all unnecessary. And so on…

Why do you ask? Personal path or hiring someone else?

The following is a bit of a “corporate” view, from a hiring perspective.

To me, a software engineer that stands out is one that is aware of more than the code and the algorithms. Technical skills are, to some extent, a given. When hiring, I would invite those who have the right technical skills for a job interview, but I would give the job to those who could look beyond technology - those who understand organization, projects, and people, and can communicate on many levels. And above all, those who take responsibility for the software they’re building. The kind of people who do not divide the world into “my problem” and “someone else’s problem”, but take action to make things work regardless of whose problem it may formally be.

I definitely agree with _memo that the technical skills are actually a given, or should be.

Additionally, _memo’s mail further illustrates my point that there is no one perfect definition of a coder. Some positions require people with excellent organisational and people skills, some positions require “semi-autistic” (as a figure of speech) hardcore genius coders, and some positions require lone-ranger type generalists… That’s why I’m asking. The answer to your question will vary strongly according to your intentions and the context at hand.

Thomas I am asking because I am going to be graduating high school this year and I messed up the first two years with a 2.6 gpa both years. Last year “my Jr year” I got a 4.0 and I plan on getting a 4.0 this year as well. I am going to be taking the act and I am super sketched out about colleges. I know with my first two years I would never be able to get into a place like Cali Institute of Tech, or MIT. So I just wanted to know how to stand out and be more than just good grades. Be worth something with potential.

Couldn’t I just go do my GE somewhere else then apply at more prestigious schools such as CIT for my major?

Max, you’ve got your head in the right place. I’m sure you will have a great future.

Just know that the US colleges these days look for more than just GPAs and ACT/SAT scores. You can add so much to your application through your Leadership & Extracurricular activities. You should think about how you can use your existing programming skills to benefit and support a cause that speaks to you. Don’t do it because you want to get into college but do it because you enjoy it and allow this to reflect through your essays you will write come application time. All this will help you get to where you want to be. 

Also if all else fail for the US colleges, consider Canada. Excellent schools, often lot cheaper than US college costs and finally, admission is only by year 11 & 12 GPAs… So if you do great in last 2 years as you are planning on doing then you have an almost sure shot at one of the top Canadian schools where you will get an excellent education at almost half the cost. Something to consider. 

Best of luck!!!

Thank you very much! I have come to acceptance that I must figure this all out as I do it, and just do it. 

@Max,

When you’re in college you’ll take courses (this is especially true for technical courses) where there is the option to do:

  • Project A - Well defined sample project everyone does, every year. OR
  • Project B - Make up your own project, as long as it is interesting and demonstrates the principles of the course/lesson.

Do project B.  This will definitely help you stand out.

This worked for me quite well (although at the time I only chose B because doing the same thing as everyone else was very boring).

In my case, I was taking a course on micro controllers (computer engineering course).  The class had to do a project to demonstrate they understood the course content.  Our choices were,

A. Make a calculator.

B. Make something else.

I chose to made device that could read in text data, identify patterns, and then re-code the data with a custom lookup table.  Basically I made a piece of hardware that could generate a roll-your-own zip of any input data.  (It could decode too.).

Years later, I got a job at Intel because the Teachers Assistant (TA) for the course (who went to work for Intel before me) remembered me and that project.

Long story short, “don’t follow the crowd, and you’ll have a much better chance of standing out.”

RoamingGamer is quite right.

I would add a word of caution, with my ex-teacher’s hat on, to that. Some mark schemes for projects are very very literalistic. I used to teach GCSE Computing Science (exams at 16) and because of the utterly insane mark scheme, every piece of University work, private work or professional work would have been a fail.

Sometimes a project which is absolutely awesome may fail the coursework criteria. So check with your tutors that  your “Project B” actually does fit this. 

As an example, if you had a question “Name 3 programming languages” there may be a provided list and something which is a programming language that isn’t on there doesn’t get the marks. It’s not always about whether the answer is right or not.

But RG’s “attitude” so to speak is spot on ; get yourself out there, write some code, help people on forums, get involved with some OS projects.

I once was interviewed by EA for a job (which I couldn’t take for other reasons, but I followed the process out of interest, I got as far as the next stage being flown out to Florida) - the reason for this was a bit like RGs - I’d worked with a chap, who I only knew as “Frogger” on some emulator project or other. He’d got a job with EA ; they asked him, did he know anyone else who was any good, and he said me. Sometimes these things just happen - I reckon I could have got the job if I had tried.

@Max Nelson

Hey im a young developer too, but my plan one day is to own a AAA games studio but i guess ive got a long way to go … just as a question to throw out to the crowd. Can i take maths instead of computer science and still land a job as a programmer?

to 86lemonade68: yes, maths instead of computer science could work, in my view. Just make sure you learn about ECMA-script compliant languages and object oriented programming on your own (if you understand math you’ll be able to pick up on this fast enough). I program games in Lua and fifty percent of the work is math and logic either way.

to Max: I’m a hobby Corona programmer, used to be a teacher for 5 years and now founder and associate in a 20-man design studio in Belgium. Both as a teacher and as someone who hires people, I have never been impressed by grades. 95 percent of my students had good grades and arrived in my year, or arrived at our studio’s doorstep. No big deal. They’re okay, sometimes great, but somehow alike all of the others.

The other 5 percent stands out. Because they like to build log cabins and treehouses. Because they travelled across the world for a year. Because they actually studied psychology but wanted to work in design so they educated themselves (no degree, past experience or diploma whatsover, just a portfolio made in their spare time). Because they failed everything they did in college, worked for five years and then decided to try college again, which shows courage and motivation. Because they left their country because there was no work or future there. Because they work with disabled children in their weekends.

These are the people that know how to make things happen, how to get things moving, how to work together, how to think around problems. How to do things in ways nobody else knows about.

These people catch our eye a lot faster than the other 95 percent, so don’t overestimate the importance of grades or diplomas. We hire based ONLY on portfolio and personality. The standard school curriculum does not show personality, even if your grades are super-high.

Now, mind you, there are definitely companies that are actively searching for employees that try to excel within the constraints or standards set by other people. These companies look for profiles that try to demonstrate this by getting high grades within the curriculum. But our designstudio and the school where I taught values the creative “exceptionals”.

And these are generally the “cooler” places to work :slight_smile:

p.s. Either way, wether you excel by getting high grades or by doing your own thing really well, hard work and dedication shows. There’s no substitute for this!

@MaxNelson, along the lines of what others have commented, you’ll do fiine at any college – find one that fits you, don’t just go somewhere that’s “highly ranked” unless you, yourself, actually like it.  The intangibles really do matter in college – can you learn new topics in big classes, or do you do better in small classes?  do you want to focus on all technical classes, or do you want a mix of tech/non-tech classes? etc.  Find one that fits who you are, and you’ll do fine.

The other thing I’d suggest is that wherever you end up, find a professor that you like and just ask them if they have any projects you could help out on.  Having been on the other side, I can tell you that the answer is almost always “YES!!”  Profs always have side projects, back-burner projects, “this just might work” kinds of projects – and they always have a hard time finding people who are willing to work on them.  Probably it will start as free labor, but if you show them what you can do, they’ll find grant money, discretionary funds, etc. to pay you.

@86lemonade68, yes, math can work too – in fact, I’ve heard several hiring managers from major software companies say they view CS degrees as a negative!  Just be sure to find a project to work on so you have some “proof” that you can code.  (and depending on where you go, math/CS dual-degree could be an option too)

CS degrees are viewed badly because they are sometimes appallingly taught :frowning:

Unless you have attended an exceptional school.

Good questions actually. It depends on a lot of factors in my opinion. If you work alone for example, you need to be able to come up with a creative and solid approach to tackling a given problem, and translate this to working code. If you work in teams, it would be perfectly acceptable for someone else to do the “creative” part, and for the coder to just translate this into bug-free code.

There’s no one description that fits the bill, I think. If you work in games than a good visual imagination and perfect grasp of trigonometry, vector math and matrices is important. If you work in databases this is all unnecessary. And so on…

Why do you ask? Personal path or hiring someone else?

The following is a bit of a “corporate” view, from a hiring perspective.

To me, a software engineer that stands out is one that is aware of more than the code and the algorithms. Technical skills are, to some extent, a given. When hiring, I would invite those who have the right technical skills for a job interview, but I would give the job to those who could look beyond technology - those who understand organization, projects, and people, and can communicate on many levels. And above all, those who take responsibility for the software they’re building. The kind of people who do not divide the world into “my problem” and “someone else’s problem”, but take action to make things work regardless of whose problem it may formally be.

I definitely agree with _memo that the technical skills are actually a given, or should be.

Additionally, _memo’s mail further illustrates my point that there is no one perfect definition of a coder. Some positions require people with excellent organisational and people skills, some positions require “semi-autistic” (as a figure of speech) hardcore genius coders, and some positions require lone-ranger type generalists… That’s why I’m asking. The answer to your question will vary strongly according to your intentions and the context at hand.

Thomas I am asking because I am going to be graduating high school this year and I messed up the first two years with a 2.6 gpa both years. Last year “my Jr year” I got a 4.0 and I plan on getting a 4.0 this year as well. I am going to be taking the act and I am super sketched out about colleges. I know with my first two years I would never be able to get into a place like Cali Institute of Tech, or MIT. So I just wanted to know how to stand out and be more than just good grades. Be worth something with potential.

Couldn’t I just go do my GE somewhere else then apply at more prestigious schools such as CIT for my major?

Max, you’ve got your head in the right place. I’m sure you will have a great future.

Just know that the US colleges these days look for more than just GPAs and ACT/SAT scores. You can add so much to your application through your Leadership & Extracurricular activities. You should think about how you can use your existing programming skills to benefit and support a cause that speaks to you. Don’t do it because you want to get into college but do it because you enjoy it and allow this to reflect through your essays you will write come application time. All this will help you get to where you want to be. 

Also if all else fail for the US colleges, consider Canada. Excellent schools, often lot cheaper than US college costs and finally, admission is only by year 11 & 12 GPAs… So if you do great in last 2 years as you are planning on doing then you have an almost sure shot at one of the top Canadian schools where you will get an excellent education at almost half the cost. Something to consider. 

Best of luck!!!

Thank you very much! I have come to acceptance that I must figure this all out as I do it, and just do it.