That Brilliant Programmer May Not Be Your Most Valuable

A brilliant coder imho is not the jack of all trades and the master of none, but someone who specializes.

If WCF is your niche for example, stick with it and become good at it, really good. You can't go wrong.

A brilliant coder is also someone who has a solid foundation. He/she can then tackle any problem, any project and will always go back to the basics and not sit there head in hand wondering wtf to do. Always go back to the basics if you are battling and start from there.
 
Last edited:
A brilliant coder imho is not the jack of all trades and the master of none, but someone who specializes.

If WCF is your niche for example, stick with it and become good at it, really good. You can't go wrong.

A brilliant coder is also someone who has a solid foundation. He/she can then tackle any problem, any project and will always go back to the basics and not sit there head in hand wondering wtf to do. Always go back to the basics if you are battling and start from there.

Completely disagree and a whole host of Silverlight devs would probably disagree too.

Yeah it's important to specialise in a niche if you want to earn a boatload in that field or get niche employment, but technologies and stacks are changing too quickly for that and making it a very dangerous thing to do. You can specialise in backend or frontend or a specific field like finance but I wouldn't go much further than that. If I did that I would not know bootstrap, angular, jquery and MVC and hence be basically unemployable.

I know I'm a far cry from an amazing dev and may take longer to do something than someone that has specialised in it but I always let my employer/manager know this upfront and allow them the benefit of having my abilities across a broad range of topics. This allows me to be versatile in a wide scope of jobs and means my employer doesn't need to hire someone else to do the job or portion thereof. It also keeps my skills relevant which is very easy to forget nowadays.

At the current pace if you are not learning at least one new open source library a year you very quickly become last years news and will find it harder to get a job or stay in your current job. There is even just the regular changes and improvements to your current stack that you have to keep on top of which can be complicated as well as new patterns and best practices that you are expected to learn and keep abreast of. Is it fair, no. Is it reality, yes.
 
If I did that I would not know bootstrap, angular, jquery and MVC and hence be basically unemployable.
This is what is happening out there. Hence why I am unemployable and I am looking to change to something else rather.

It moves, just too fast for me, and not only that, I have missed the bus, partly through no fault of my own...
 
So now you're sitting with a brilliant programmer, who knows all, you're not going to keep him because he knows everything, has done everything. So he get bored quickly and leaves... next job same scenario.
 
So now you're sitting with a brilliant programmer, who knows all, you're not going to keep him because he knows everything, has done everything. So he get bored quickly and leaves... next job same scenario.

In reality... you're a boss, and usually this means a certain mindset. You are going to make life hard for him to force him to leave because he makes you feel small because he knows so much more than you do...
 
In reality... you're a boss, and usually this means a certain mindset. You are going to make life hard for him to force him to leave because he makes you feel small because he knows so much more than you do...

That's just stupid
 
So now you're sitting with a brilliant programmer, who knows all, you're not going to keep him because he knows everything, has done everything. So he get bored quickly and leaves... next job same scenario.

I reckon you'll have that problem with them only while they are young and cocky. Once a dev like that matures and/or finds what he wants he'll stick around. If he carries on job hopping onto the "next best thing" then he isn't a reliable asset anyway and you don't want him.

Most of the work in RSA needs reasonably good developers that work well in a team and forewarn the project managers etc. in due time of issues instead of a "brilliant" developer. Most of the work out there don't need super clever code or insane problem solving skills anyway. What's needed are people that know how to do their jobs.
 
Most of the work in RSA needs reasonably good developers that work well in a team and forewarn the project managers etc. in due time of issues instead of a "brilliant" developer. Most of the work out there don't need super clever code or insane problem solving skills anyway. What's needed are people that know how to do their jobs.

Exactly this... yet many want a "brilliant mathematician" for some reason. Lately, being able to code, and not use super clever patterns and sexy lambdas is also not good enough.
 
Exactly this... yet many want a "brilliant mathematician" for some reason. Lately, being able to code, and not use super clever patterns and sexy lambdas is also not good enough.
What do you consider clever patterns or sexy lambdas? also what language in this in reference to?
 
In reality... you're a boss, and usually this means a certain mindset. You are going to make life hard for him to force him to leave because he makes you feel small because he knows so much more than you do...

Have seen that scenario played out a couple of times. Happens when the manager feels threatened.
 
[)roi(];18963110 said:
What do you consider clever patterns or sexy lambdas? also what language in this in reference to?

Java, what else...
In any case, maybe a frame of reference would be useful...
I have not got any education in OOP... now that the fact is known.. perhaps it makes sense.

I learnt coding from the ground up.. ASM -> C and then onto minimal levels of Java and C#... I never intended to end up in IT. Its not that I cannot code, its just a lot seems to have happened in recent years, stuff has gone mad... When I wiped the crap out of my eyes, I realized with horror we have all these things called "design patterns" while in reality they are sexy things for stuff we already knew how to do by learning hands-on. Then they came with lambdas and all kinds of OOP stuff.

The problem as I have found out, is the use of terminology... coming from engineering, the words have a different meaning in computer science... than what they do in engineering... and when I explain stuff from an engineer's perspective, I usually get laughed at. I have explained the difference between overloading and overriding, the latter of course can be done in C, the former doesn't exist in C. Not good enough apparently.
 
Exactly this... yet many want a "brilliant mathematician" for some reason. Lately, being able to code, and not use super clever patterns and sexy lambdas is also not good enough.
Python supports the creation of anonymous functions (i.e. functions that are not bound to a name) at runtime, using a construct called "lambda". This is not exactly the same as lambda in functional programming languages, but it is a very powerful concept that's well integrated into Python and is often used in conjunction with typical functional concepts like filter(), map() and reduce().

If you know what you are doing with Lambda functions, you can make your code simpler and more easier to read.
 
Java, what else...
There are many... but the reason I asked is to set the scope of my response. Java in particular is one of the most highly OOP centric languages; meaning it almost a forgone conclusion that in order to master Java, an OOP mastery is implied; and therein lies the need to know Design Patterns. Why?, because these are common solutions to repeating challenges within the OOP paradigm.

Master of this, is usually a direct reflection on the candidate prowess -- similarly not knowing this usually indicates a candidate has limited to no practical experience.
In any case, maybe a frame of reference would be useful...
I have not got any education in OOP... now that the fact is known.. perhaps it makes sense.
Not really; if your CV highlights a Java proficiency, then a working familiarity with common design patterns is expected; an alternative for Java would be e.g. to state that you're more functionally oriented; but to be so would imply a knowledge of how similar OOP problems can be tackled in a more functional way. Either way it's would be inexcusable for a candidate to have no knowledge of either.

I learnt coding from the ground up.. ASM -> C and then onto minimal levels of Java and C#... I never intended to end up in IT. Its not that I cannot code, its just a lot seems to have happened in recent years, stuff has gone mad... When I wiped the crap out of my eyes, I realized with horror we have all these things called "design patterns" while in reality they are sexy things for stuff we already knew how to do by learning hands-on. Then they came with lambdas and all kinds of OOP stuff.
To be honest I'm struggling to equate someone with purported assembler & C proficiencies with someone who is horrified by OOP and Lambdas.
The problem as I have found out, is the use of terminology... coming from engineering, the words have a different meaning in computer science... than what they do in engineering... and when I explain stuff from an engineer's perspective, I usually get laughed at. I have explained the difference between overloading and overriding, the latter of course can be done in C, the former doesn't exist in C. Not good enough apparently.
If you're applying for a Java post; then appreciate that proficiency in Java is key; and should someone always relate their answers i.t.o. another language, like C; it could easily be construed that the candidate is either unfamiliar or uncomfortable with Java.
 
Last edited:
Top
Sign up to the MyBroadband newsletter
X