Forum search & shortcuts

Software developmen...
 

[Closed] Software development - would anyone recommend it as a job?

Posts: 389
Free Member
 

chambord - depending on what you did between undergrad and PhD, and especially if you can blag an MPhil or MSc out of your abandoned PhD, then you're not too late to get on a reasonably salaried graduate training programme with a big employer.

Has anyone here used stackoverflow careers, you'd think that might be a good place to look but I've never had the occasion to.

Definitely there are good and bad companies; ones that pressure their employees vs ones that train them. If you are lucky enough to have your pick of job offers then ask around as much as you can to dig up the dirt on them. In your situation I imagine being in a good company on a lower salary beats earning more in a bad one.

Agree with most stuff on this thread apart from the people who said coding is boring. If you agree with them don't go into software 🙂 And VB isn't that bad, it has its place for some tasks (if you want horror try coding in visual lisp!). Language is irrelevant really it's how you use it.


 
Posted : 21/10/2013 4:10 pm
Posts: 389
Free Member
 

Oh and about your PhD. PhDs are very self directed and you have to guess the unknown to channel your efforts into something you personally think worthwhile while staying within the remit of a funding application which is probably bollocks and bears little relation to what you will eventually produce. If you knew what you were doing it wouldn't be research would it! On the plus side until your 3 years are up you kind of have a blank cheque and a carte blanche to do this. And you are the customer so you get to work how and when you choose.

If you're unsure about it with 3 years to go still, and you can't address your problems by something simple (like more communication with your supervisor and maybe a program of learning on some specific topics), then you're right it's probably not for you - get out sooner rather than later.


 
Posted : 21/10/2013 4:21 pm
Posts: 0
Free Member
 

It's a very broad church. What domain and aspect interests you?


 
Posted : 21/10/2013 4:23 pm
Posts: 0
Free Member
 

Definitely there are good and bad companies; ones that pressure their employees vs ones that train them

question is, which is the good one here?

If you work in the so-called agile environment, with two week dev cycles, the idea is to keep everyone under a slight bit of pressure all the time...

Language is irrelevant really it's how you use it.

I sort of disagree on that one - on one hand there is the ability to code yourself out of any problem/framework deficiency if needed, and the other one is the naturalness of using certain features in a language, normally to support using abstractions better.

And another one is the maturity of the development 'community' - although there are too many frameworks in the Java world there is a stronger likelihood that you will find support for something you want to do.

I have just had to support Soap with Attachments with WCF and it hasn't been a particularly easy ride. I now need to support something called Schematron, and I think I will give up and just write a bridging 'bus' and use multiple languages.


 
Posted : 21/10/2013 4:24 pm
Posts: 389
Free Member
 

And another one is the maturity of the development 'community'

Agreed. </hijack>


 
Posted : 21/10/2013 4:38 pm
Posts: 91169
Free Member
 

Language is irrelevant really it's how you use it.

Well, technically, maybe, but different industry sectors use different languages generally. If you learn C then you're likely to end up writing embedded software; Java and you will probably end up doing enterprise apps.


 
Posted : 21/10/2013 4:47 pm
Posts: 0
Free Member
 

Complete mastery of a programming language is essential if you are going to be a useful programmer. Maintaining that mastery can be an issue if you have all the other development roles or use several languages!

Whilst excellent programming skills are essential for a development project, it's only a fraction of the skill-set required for a project to be successful. I haven't programmed a computer for ~7 years. I'm too busy to miss it.


 
Posted : 21/10/2013 4:57 pm
Posts: 0
Free Member
 

Complete mastery of a programming language is the easy part, it is the breadth and depth of all the frameworks that is the issue.

Everybody has the buzzword acronyms on their cv, but they often don't have any depth in that framework.

So nowadays it seems that you just want someone who has the fundamental programming skills and can use google well !

Plus if you use productivity/refactoring add-ons like resharper it fills in stuff from intellisense and resolves references for you so you never learn the frameworks properly anyway.

And then when you combine wrapping any APIs you use into nice abstracted interfaces, you never get to learn them properly as after a couple of weeks you stop actually using such APIs directly anyway. I can't remember the MQ API but I wrote our library that uses it, so if I put that my cv it wouldn't mean a lot.

At interviews we normally ask someone to describe a system that they worked on and then drill down into it - if they were a bit part player it will become apparent.

I also have a short c# function to add a node into a sorted singly linked list, which has a few bugs in it that aren't immediately apparent, and I have found this a reliable test ever since I had a C version.

Basically it tests if they are considering the edge conditions when stepping through the code, like node at start or list, node in the list, and node at end of list, and maybe empty list as well.


 
Posted : 21/10/2013 5:25 pm
Posts: 7097
Free Member
 

15 years experience here. Always received decent pay IMO, and never been short of puzzles to entertain my brain. Plus you get to doss about on STW, obviously.

What area is the PhD in?
Computer science - computer vision really.

You should steam in with that kind of background. If you've not long left in the phd, maybe stick it out - or try and convert it to MSc.

If you want on job training, possibilities for promotion & bonuses, and don't mind working on a big systems where you're a small part of the whole affair, go for a big company. You also get to see a good spectrum of the different specialities within software dev, which means you can pick where you want to head quite easily.

Smaller companies tend to allow you more free reign to code how you want (and make all the mistakes you want) and you'll probably have the chance to have a large input into the end product. Its less likely to find specialists and people will be "wearing a lot of different hats". Career path opportunities aren't easily come by, though, without leaving and going for a position somewhere else.

Both can be good, both can be bad - depends on the company. I've learnt a lot from both ends of the scale.

I'd aim to look for somewhere that values the word "engineering". There's lots of people who know code; far less who can engineer. One doesn't pay so much, the other does. One will be working with your ten gallon hat on, the other will involve decent process & practices. I guess ultimately engineering is the science/art of doing it right, wheras writing code can be done both badly and easily. My experience is that customers ultimately are willing to pay for things that work, a lot more than crap knocked up in a hurry, you can imply a lot about how a company will work from its customers and who they are (i.e. don't work for a startup whose only customer is a nigerian gangster, just to pick a completely random example out of the blue)


 
Posted : 21/10/2013 5:27 pm
 br
Posts: 18125
Free Member
 

I started life as a Programmer, as that what it was called in those days - the days when we handwrote code onto sheets and it was input by the Data Input girls... Now managed 30 years of IT, somehow.

It's a job, and like most others can be good/bad/indifferent. How you'd get into it these days, no idea.

And the good thing of outsourcing work; is that it quickly shows how crap the company is at spec-ing and the like. Because if you need to 'know' something that isn't in the spec to be able to develop the solution, then it's a crap spec. And folk never add enough cost in to cover the management/governance of offshore work, but then tbh they usually also don't add enough cost to cover the management of most contracts.


 
Posted : 21/10/2013 6:23 pm
Posts: 13594
Free Member
 

(i.e. don't work for a startup whose only customer is a nigerian gangster, just to pick a completely random example out of the blue)

If you change the word ganster for MNO (Mobile Network Operator) then you've just described my job! I've just spent a couple of days developing a new feature for one (in BASH if you want to know). I quite like Telecoms, hack away on my laptop at my desk in Cambridge, whilst implementing features on a mobile network in Nigeria. The irony being I have better visibility of their network than they do and I'm 6000 miles away. Just shows how small the world has become....


 
Posted : 21/10/2013 6:57 pm
Posts: 0
Free Member
 

@chambond, @sideshow's comment is a good one, try and get an MSc out of what you're doing. 28 you're only just getting started in life mate ! Why not try and get something relate to your field, computer vision, digital imaging tv etc. I have a mate who has worked for Adobe and Siemens on similar, here and abroad.

In my day with an quant skill and a phd you went into finance ! It might not be for you but there is still work and contracting available.

"Computer Programming" is a bit broad - a generalisation. If you've an interest and a talent in it why not mess around with some mobile apps, have a play in your spare time. The world is moving towards mobile devices at a fast pace.


 
Posted : 21/10/2013 7:11 pm
 kcal
Posts: 5450
Full Member
 

Software development - or engineering, or programming - appeals to a certain style or character of person IME - I like, I've been doing it for nearly 30 years, don't think I'd choose anything else TBH - not now anyway!

Have done the gamut of assembler, C, C++ and now C# - along with methodologies, techniques, frameworks. TDD and the like isa bit of a marmite thing but has more pluses than minuses I think.

Have always worked for small, medium or indeed very small businesses and I think if that works out it's a better route - latterly - than the big company style - if that works for you anyway.

Programming a game or small set of routines is one thing, working with a team on a bigger project is another. The scope for lone wolf style of programmers is probably receding fast.

Try it, if you like it go for it. computer vision has a big outlook I'd have thought - likes of military, oil&gas survey work, all that sort of thing..


 
Posted : 21/10/2013 7:15 pm
Posts: 0
Free Member
 

chambord: just in case someone else hasn't already said it, software development can be a very solitary role it creeps up on you unannounced. Try to stay sociable.

The other thing is that if you don't 'get' software development its not the kind of work you can learn how to do and be good at it. If you have a genuine interest in code and think that you might even code for fun, then go for it but otherwise it will be hard work and deadly dull.

Good luck


 
Posted : 21/10/2013 7:26 pm
Posts: 11
Free Member
 

BigData and Cloud are the buzz words of the moment and if you are so inclined you could pick a couple of applications that can utilise both, learn lots about them and then watch the cash roll in as a highly paid consultant....

In my experience whilst many companies are out sourcing to off shore plenty more are still hiring developers in the UK and the quality of developers out there varies enormously but many are crap.

If you don't want to have to keep re-learning a new language ever couple of years as fashions change and want to be able to get into consulting a few years down the line I would get into databases - particularly the RDBMS kind to start off with - Oracle or SQL Server although Postgres and MySQL skills are also in demand.

Once you get your head around that pick up some HADOOP, Hive and Pig skills. These are skills that many data professionals think will be in demand over the next 3-5 years as more and more companies start trying to do stuff with all the unstructured data they can harvest from their websites, sensors, Server logs etc.

The skill will then be to write good MapReduce code to get that unstructured data back into the RDBMS and then into Excel, SharePoint, Reporting Cubes etc. for Self-Serve BI.

Note: None of this may come to pass but there is plenty of hype about it at the moment and Microsoft and the rest are investing heavily. I've seen some great demo's of this start to finish i.e. starting with HADOOP filtering all the way through to PowerBI excel reports on a tablet.


 
Posted : 21/10/2013 7:49 pm
Posts: 19547
Free Member
 

molgrips - Member

Coding is the most tedious and boring work in software

No, it's not - testing is worse, and project management is worse still imo.

I remember working in an IT company where all my colleagues passed their time reading Dilbert.

[img] [/img]

[img] [/img]


 
Posted : 21/10/2013 8:02 pm
Posts: 13594
Free Member
 

I like this one:

[img] [/img]


 
Posted : 21/10/2013 8:08 pm
Posts: 1471
Full Member
Topic starter
 

General consensus appears to be that most people enjoy the job, so that's encouraging. I'll keep programming and working on skills and may one day do it.

I'll have (Another) chat with my supervisor and see if we can sort it out. I forget that I'm in a fairly priviledged position really, and I can shape the next 3 years to suit me. I do enjoy the work it's just the feeling that I'm not making any real progress that winds me up, plus I'm almost 30 and there's something niggling in my head that says I should probably have a job by now, or at least be making steps towards a career path.

Meh, one to sleep on again I think. Hopefully wont be making a similar post in a few months time - if I am please be blunt and tell me to sort myself out!

And once again, cheers everyone for the replies - plenty to think about.


 
Posted : 21/10/2013 8:30 pm
Posts: 4954
Free Member
 

Yes. No. Maybe. I quit a PhD at the 11th hour, I wish I had done it earlier tbh as I wasted a good 18 months + trying to fix the unfixable living on no money.

Personally I think how good software is depend a lot on the field of application. Personally I also think the buzz word areas are the dullest, but that is because I like engineering application due to having a more engineering background and it plays to my personal strength to use my subject knowledge. There are lots of niches. Have a look around see what jobs there are.


 
Posted : 21/10/2013 8:45 pm
Posts: 0
Free Member
 

[img] http://johngushue.typepad.com/.a/6a00d83451f25369e20120a513810c970b-800wi [/img]


 
Posted : 21/10/2013 10:56 pm
Posts: 0
Free Member
 

Friend of mine started as a developer programmer, progressed to contractor, because of his knowledge base as contractor company he now works for asically tied him up to them as technical architect, now he's the guy behind most of your mobile banking apps, stressfull job but he seems to enjoy it


 
Posted : 22/10/2013 12:24 am
Posts: 0
Free Member
 

Friend of mine started as a developer programmer, progressed to contractor, because of his knowledge base as contractor company he now works for asically tied him up to them as technical architect, now he's the guy behind most of your mobile banking apps, stressfull job but he seems to enjoy it


 
Posted : 22/10/2013 12:24 am
Posts: 460
Free Member
 

Started life as a programmer, graduated to a software engineer 😉 and then spiralled off into the world of security. Mostly C and assembler at the start for position systems, the a lot of crypto, A LOT, and then i helped write a firewall daemon and the rest is history.
Truth be told i was a crap software programmer, the minutae annoyed me which wasn't the best. However, even now in my lofty position I understand how stuff works significantly better than many other IT 'experts' because i know the background and how stuff talks to each other. I did a sandwich course precisely to have industry experience and that was *thinks* jeeepers 1994 !


 
Posted : 22/10/2013 12:49 am
Posts: 3409
Full Member
 

finish your PhD. Then consider R&D jobs. CS skills are in variable demand in a number of R&D-based industries that still exist in the UK. It's also a handy help in getting a transfer to or job in the USA or Canada. A PhD will improve your prospects and employability in the right places.

SW dev can be really rewarding. It can also be incredibly tedious. If you're finding your PhD a struggle for the reasons you stated then the world of work might also be a bind. Give yourself as many options as you can.


 
Posted : 22/10/2013 7:18 am
Posts: 0
Free Member
 

It can also be incredibly tedious.

I seem to have missed this bit 🙂


 
Posted : 22/10/2013 8:50 am
Page 2 / 2