Coding/Programming - career advice please

Coding/Programming - career advice please

Author
Discussion

ecs

1,228 posts

170 months

Wednesday 29th March 2017
quotequote all
Learning some open source web technologies would be the way to go - these sorts of skills seem to be in high demand at the moment (PHP, JavaScript, Ruby, e.t.c). I also heard that there was a shortage of Java and Scala developers too, you can see by the day rates devs who work with those languages can command.

tankplanker

2,479 posts

279 months

Wednesday 29th March 2017
quotequote all
Just be sure that programming for a living is what you want to do as I found it very different from programming for fun so I moved out of the field quite early on.

I did a Software Engineering Degree focusing on as many programming modules as I could get my hands on. I was very good at programming, enjoyed it immensely, and decided to prioritise programming jobs when I left Uni. Managed to land a Junior Unix C developer role when I left at a large multi national, while I was good at the coding I did not enjoy coding just part of a large application to other peoples specs.

I moved out of development into an Infrastructure focused career and my Masters reflects that, but my development background has been increasing drawn on with the rise of scripting to automate everything to make it repeatable. I much prefer writing scripts, even quite complex ones that call bits of API I have written in C++ or even simple bits of XML processing to interface to middleware gateways, to writing monolithic programs.

PurpleTurtle

6,987 posts

144 months

Wednesday 29th March 2017
quotequote all
anonymous said:
[redacted]
90%? Really? How does anything get developed then?

In my experience (22yrs coding and counting) I fully accept that there are some programmers winging it, and whenever something new comes out there is always a group of bullstters who will jump on a course for a week and then try to pass themselves off as a guru the following week, but the vast majority of people know their onions. They do in my contract world anyway as they otherwise quickly get found out and let go.

OP - you say you are a 'system consultant' at the moment, that's a bit of a generic term. Is it a non-technical role? Are you effectively a business user/subject matter expert, but no formal coding background? How old are you?

I was similar to (what I think) you are but did a non-technical degree (Business Studies) with an IT option. It gave me no real coding experience, but it did get my CV into a pile for an employer who was specifically looking for non-IT graduates that they could train their own way; they had been sold a pup of a product by Andersen Consulting and were fed up of being charged £2k/week for 'Consultants' to sort out problems when these people were in effect cocky graduates with 12 months' experience who knew very little. Far cheaper and cost-effective to get some new blood in, teach them from scratch, learn as they go. When I started out it was accepted that you would not be particularly productive for the first year, simply because of the learning curve. I was kept there as they offered a sizeable bounty (enough to clear my student debts) if I completed a full two years with them. Not sure if such deals are about now, unlikely, I suspect.

In my time I have met people from all sorts of prior backgrounds, all of whom have made the leap into coding, but most did it when under 25. If you are older (more responsibility, likely higher outgoings) I would imagine that it would be difficult to compete with graduates falling over themselves to get that first foot in the door in entry-level jobs.



Edited by PurpleTurtle on Wednesday 29th March 10:06

alock

4,227 posts

211 months

Wednesday 29th March 2017
quotequote all
anonymous said:
[redacted]
This is a real world example and similar to what a large proportion of my programming challenges are. We write automated testing tools. One of the things we do is list all of the software running on your computer (a bit like Task Manager). We go a bit further though and extract the current URL of any running browser. We have an interface like the following with different implementations for Chrome, IE, Firefox etc:
 string GetUrl(IntPtr hWnd); 


A new browser then hits the market and we need a way to extract the URL from it. If you think TDD adds anything meaningful other than a tick in the box to the above coding problem then I'm all ears.

From experience I know the key challenges are making sure the method we use works (or fails gracefully) at different UAC integrity levels, unknown locked-down corporate desktops, Citrix hosted desktops, etc...

As I said originally, if you live in a world where your environment is your own and you can control it then I'm sure TDD might offer some benefits. For me though, that's the boring side of programming which I avoid.

loudlashadjuster

5,123 posts

184 months

Wednesday 29th March 2017
quotequote all
IME there seems to be two paths into development as a career.

1) Do CS degree etc., get good job, get promoted into better job.

..or..

2) Start coding obliquely as part of your ops/sales/support/etc. job, doing tactical fixes on otherwise abandoned intranet pages/building CRUD apps/automating tasks in Excel/some SQL wrangling etc., gradually learn the stack you're working with, get given more and more responsibility for larger and more complex projects until BOOM one day you're a 'developer'.

Route 1 you can plan, route 2 not so much.

I've worked with people who have come through both routes and, surprisingly, it doesn't seem to matter if the person themselves is good enough.

For every self-taught spanner who kludges everything together with awful design and zero comments/documentation causing a long-term support nightmare, there is a hacky genius who can pick up a project instantly, wave a magic wand over a roadblock and get everything singing, often with a load of 'nice to haves' and 'oh, we never even thought of that' thrown in.

For every highly-qualified primadonna who knows their technologies inside out but is singularly unable to apply their knowledge to solving business problems without extremely robust management, there is another that swans around, barely seeming to do anything yet their projects are always delivered on time, to spec and fully documented.

I'd take a curious, inventive, self-taught programmer over a rigid not-my-job 'paper' genius any time though.

RBH58

969 posts

135 months

Wednesday 29th March 2017
quotequote all
I built a successful 37 year career out of IT. Coders are a dime a dozen...but really good, creative, business savvy ones aren't! If you want to be successful in IT you have to learn the language of IT and the language of business and build your career on being the guy/girl that can straddle the line. Starting as a coder is a great "in" to the business. But inevitably you will hit a fork in your career where you have to decide whether are going down the purely technical stream or down the business analysis stream. I chose the later and wound up spending 20 years in the ERP space working all over the planet. My angle, I understand complex business issues quickly and can articulate the technical challenges to IT folks...and I can take the IT challenges and explain them to business people. Your career. I don't regret giving up the coding, but I'm glad that's where I came from.


Edited by RBH58 on Wednesday 29th March 11:49

loudlashadjuster

5,123 posts

184 months

Wednesday 29th March 2017
quotequote all
RBH58 said:
My angle, I understand complex business issues quickly and can articulate the technical challenges to IT folks...and I can take the IT challenges and explain them to business people.
That's me in a nutshell too beer I also have enough ops/support experience to bring their needs the table aswell, something that is often neglected.

A project may be a part of a PM/BA/dev/tester's life for 12 months, but someone has to live with it for 5+ years. Shame their needs are often at the back of the queue.

RBH58

969 posts

135 months

Thursday 30th March 2017
quotequote all
I completely agree with your "Two Paths" post BTW loudlashadjuster smile

davek_964

8,815 posts

175 months

Thursday 30th March 2017
quotequote all
DanL said:
I'd edit that to add that there will be jobs, but they may not be in the U.K...
I think this is a very valid point.

I've been in software development / coding for almost 30 years (mostly embedded, now PC) and the world has / is changing. I feel like I'm in a dying industry - there are definitely less jobs than there were 10 years ago, and the salaries are dropping - people from other countries are either working for less in their own country, or moving here and working for less.

I'm not sure I'd be confident it would be something to get into for the next 40 years.

(Incidentally, I don't have a degree but for what it's worth I regret it more now than I did in my early career. It now restricts me from considering other careers where I would need a degree - e.g teaching).

SwissJonese

1,393 posts

175 months

Thursday 30th March 2017
quotequote all
anonymous said:
[redacted]
^^^ this, the IT job market hasn't slowed down one bit, in fact I seem to be getting more and more emails. Lots of companies tried off shore IT companies and then brought it back to UK or Europe. However the IT market has changed, less and less of behind the desk geeky coders and more forward facing business type IT people. I seem to be travelling a lot more too, but as I work from home 90% then this is fine.

SystemParanoia

14,343 posts

198 months

Thursday 30th March 2017
quotequote all

DanL

6,213 posts

265 months

Thursday 30th March 2017
quotequote all
anonymous said:
[redacted]
I am certain that it's very dependent on the scale of the organisation, and the area you work in (business line, not necessarily coding language).

I work for a software firm - 10 years ago we had around 100 developers on shore working on the product, plus around the same number offshore in another development centre. Today we have no developers on shore. I believe this will be typical for any international business with reasonable scale.

Clearly a firm of 500 people won't have the ability to do this. With 5,000 people you're looking at putting the costs where they're lowest. Are there drawbacks in terms of time to market, quality (defects) and code "quality" itself (how well written, efficient, etc.) - yes. Does the business care? No, as the effects aren't large enough when compared with the cost savings.

davek_964

8,815 posts

175 months

Thursday 30th March 2017
quotequote all
DanL said:
anonymous said:
[redacted]
I am certain that it's very dependent on the scale of the organisation, and the area you work in (business line, not necessarily coding language).

I work for a software firm - 10 years ago we had around 100 developers on shore working on the product, plus around the same number offshore in another development centre. Today we have no developers on shore. I believe this will be typical for any international business with reasonable scale.

Clearly a firm of 500 people won't have the ability to do this. With 5,000 people you're looking at putting the costs where they're lowest. Are there drawbacks in terms of time to market, quality (defects) and code "quality" itself (how well written, efficient, etc.) - yes. Does the business care? No, as the effects aren't large enough when compared with the cost savings.
+1 - that's what I meant, and especially agree with the bit in bold. As with most things in life, you get what you pay for - and sadly, businesses do not realise that the long term cost is very different to the short term salary cost.

0000

13,812 posts

191 months

Thursday 30th March 2017
quotequote all
RBH58 said:
But inevitably you will hit a fork in your career where you have to decide whether are going down the purely technical stream or down the business analysis stream.
Or management. Spit.

I've seen a few people get a bit more variety by running their own startups or being considered important enough that companies have created roles for them outside the traditional, prescriptive hierarchies.

AndStilliRise

2,295 posts

116 months

Thursday 30th March 2017
quotequote all
loudlashadjuster said:
IME there seems to be two paths into development as a career.

1) Do CS degree etc., get good job, get promoted into better job.

..or..

2) Start coding obliquely as part of your ops/sales/support/etc. job, doing tactical fixes on otherwise abandoned intranet pages/building CRUD apps/automating tasks in Excel/some SQL wrangling etc., gradually learn the stack you're working with, get given more and more responsibility for larger and more complex projects until BOOM one day you're a 'developer'.

Route 1 you can plan, route 2 not so much.

I've worked with people who have come through both routes and, surprisingly, it doesn't seem to matter if the person themselves is good enough.

For every self-taught spanner who kludges everything together with awful design and zero comments/documentation causing a long-term support nightmare, there is a hacky genius who can pick up a project instantly, wave a magic wand over a roadblock and get everything singing, often with a load of 'nice to haves' and 'oh, we never even thought of that' thrown in.

For every highly-qualified primadonna who knows their technologies inside out but is singularly unable to apply their knowledge to solving business problems without extremely robust management, there is another that swans around, barely seeming to do anything yet their projects are always delivered on time, to spec and fully documented.

I'd take a curious, inventive, self-taught programmer over a rigid not-my-job 'paper' genius any time though.
^^This

SystemParanoia

14,343 posts

198 months

Thursday 30th March 2017
quotequote all
Workin on 2 biggrin

xRIEx

Original Poster:

8,180 posts

148 months

Thursday 30th March 2017
quotequote all
loudlashadjuster said:
RBH58 said:
My angle, I understand complex business issues quickly and can articulate the technical challenges to IT folks...and I can take the IT challenges and explain them to business people.
That's me in a nutshell too beer I also have enough ops/support experience to bring their needs the table aswell, something that is often neglected.

A project may be a part of a PM/BA/dev/tester's life for 12 months, but someone has to live with it for 5+ years. Shame their needs are often at the back of the queue.
Same for me too - the translation part is often a big addition; it's scary the amount of time that people talk at complete crossed purposes because they're using inconsistent terms with each other.

It's interesting to see the mixed experiences with the strength of the jobs market - it is one of the things on my mind.

Crafty_

13,284 posts

200 months

Thursday 30th March 2017
quotequote all
There is no real reason to avoid the MS stack, if you look what they are doing they are being very active in the development space and are far more open to innovation and ideas than they've ever been.

What I would say is don't fixate on a language. Some people will resolutely stick to their favourite regardless of if its a good idea or not, it becomes tribal for some people.

Learn the skills away from which language you use. Proper requirement capture, use case, SOLID, design patterns, object orientation, database design/normalisation, how to scale, performance metrics and all that stuff (and maybe more importantly, when not to use it). If you can get those skills it doesn't matter what language you use, its just a means to an end at that point. There is much more to being a developer than just hacking code together.


SystemParanoia

14,343 posts

198 months

Thursday 30th March 2017
quotequote all
swerni said:
anonymous said:
[redacted]
Not if you're using conventional measurements like revenue, vision or ability to execute.

They will showing the largest percentage growth of the two this year, but that's because they come from a smaller base


Interesting thread though.
My son wants to get into coding, so I asked our CTO ( we are a software house) and his recommendation was Java
is there anything like freecodecamp for java ?

edit:

nevermind..

10secs on google has found me 12 weeks worth of free structured Java courses

http://mooc.fi/courses/2013/programming-part-1/

Edited by SystemParanoia on Thursday 30th March 21:30

paulrockliffe

15,698 posts

227 months

Thursday 30th March 2017
quotequote all
anonymous said:
[redacted]
You'd be surprised. I witnessed a business sink £10k into a simple excel job that they got their solicitors to do. It cost 10k because the solicitors didn't know about formulas in excel. This goes on all the time in the service industry, people palm stuff off to businesses that don't know how to do it because it's easier than finding time for something you can't do yourself. I won't go into details it makes me cringe thinking about it, but it was a 30 minute job with no VBA.

If you can understand businesses quickly, identify their opportunities and sell yourself there's a huge market out there, especially with small-mid sized businesses that just don't have any capability to see what they're missing.

The main issue is that you're setting yourself up as IT support for anything you develop and handing it over to the wrong type of people. You'd need to be patient!