Advertisement
If you have a new account but are having problems posting or verifying your account, please email us on hello@boards.ie for help. Thanks :)
Hello all! Please ensure that you are posting a new thread or question in the appropriate forum. The Feedback forum is overwhelmed with questions that are having to be moved elsewhere. If you need help to verify your account contact hello@boards.ie

Change job to get OO experience?

Options
  • 08-04-2009 1:35pm
    #1
    Closed Accounts Posts: 5


    I know there is a work+jobs forum but I think this is the better place to post this as I'm looking for specific advice related to programming.

    I've finished college a few years ago and have been doing web development for the last 3 years with my current company.
    For the first 2/2.5 years I was just concentrating on programming to the coding to the standards here and learning .Net as I had only done Java in college.
    Then I was at a couple of talks on some different topics and I realised how far behind the company (and me) was with more more modern paradigms like OO, Unit testing, TDD, Agile, XP, ORMs, etc.
    I had done some OO in college but I didn't really think much about it once I started working here.

    I've been reading up on these topics more over the last few months and I feel that if I want to progress as a developer that I should be getting exposure to some of these ideas (at least OO and unit testing).
    I know some of you will say you can be a good dev without doing OO, etc. and I know that, but I just feel that for me, this is the direction I would like to go.

    The company here don't use any of these ideas, they have working on the same product we develop in the same way for the last 5+ years.
    The two senior devs/managers that steer the product/coding standards were vb6 devs and our vb.net app is structured like they used to write vb6 code.
    We are using .net 2.0 for our web app but still use mostly 1.0 controls, and because there are no objects in the system we dont use databinding :(
    There is no seperation between the data layer and the business layer, the codebase is a mess.
    There are no exceptions(!!)/inheritance/polymorphism/etc. used
    We have tried talking about it but there is no will will by the senior guys to change.

    I like the people here and I know the company have a lot of time for me as a dev.
    Normally that would be enough to keep me here but the thought of staying here long term (very low staff turnover) makes me feel like i would be giving up on any hope of getting the sort of skillset that I would like to have.

    I'm guessing some people will say not to move cos of the economy, thats a fair point, but i'm not thinking of leaving right away, I may just keep an eye out or wait till things pick up before I leave so please don't suggest I stay because of the economy.
    What I'm looking for is advice from developers that are more experienced than me on the stuff I've outlined above.
    Am I being náive?
    Do most companies work like this?
    Am I likely to find the kind of job I'm hoping for that will use OO, unit testing (maybe tdd/agile?) ?

    I know that with only 3 years experience I'd still be considered fairly junior.
    If I move I'd hope to move into C# as, from what I've read, companies that use C# would be more likely to use OO.
    I'd like to go back to Java but having looked at jobs online, any job that dosen't require any experience is normally a graduate job which would require a pay cut :(

    I'd appreciate any thoughts.


Comments

  • Closed Accounts Posts: 5,284 ✭✭✭pwd


    I would say you should move even if it means taking a paycut. You won't develop your skills past a certain point somewhere like that (you're probably long past that point). Experience there isn't going to be that useful except on paper and staying there will have a negative effect on your long term prospects in my opinion.
    What company are you working in?


  • Registered Users Posts: 25 DeJaMo


    I think you should look for a move to develop your skills further. Years of experience means nothing in IT - don't worry about that. It's all about how quick you can solve problems and adapt to change. I understand times are tough now but try and find a company that has a proper career ladder in place.

    Unless you love coding...you should only expect to be programming for a couple of years before you progress to software design, team lead, management etc...


  • Registered Users Posts: 2,534 ✭✭✭FruitLover


    Sounds like a bit of a dead end alright. But you should probably make one more effort to bring attention to this problem before you do anything drastic. Explain your frustration at being restricted to outdated methods, and that you're thinking of moving on if you can't do what you want to do with the current company. If they do value you, they may be more willing to change things if they think they'll lose you.


  • Registered Users Posts: 21,264 ✭✭✭✭Hobbes


    If your going to do a write up, do the research. Show the benefits of the MVC, cost savings and costing to add a new feature/new developers. try to map that data to support calls you have gotten from customers or feature requests.

    Manangement care more about money, time saved. Of course these changes are probably not going to go in until you start refactoring or creating a new release.

    Then how you sell it. You have three options.
    - Selling directly to manangement if works will piss off senior developers if you bypassed them. That can lead to sabotage and feet dragging and potencially damage the teams morale.

    - You hand off the report to the more senior of the developers. If they accept it they may take the credit for it or ignore it. Sometimes you have to give the credit to someone else (as crazy as it sounds).

    - You ask one of the senior developers to help you with a research report you are doing then while they are helping sell it to them to help sell it to management. This allows you to get in with the senior developers, they sell to management so if it works they will probably get the lion share of the credit. If it fails your more likely to be pointed to as to why it didn't.


  • Registered Users Posts: 2,150 ✭✭✭dazberry


    The company here don't use any of these ideas, they have working on the same product we develop in the same way for the last 5+ years.
    The two senior devs/managers that steer the product/coding standards were vb6 devs and our vb.net app is structured like they used to write vb6 code.

    I've worked with senior developers that are senior because they've written software for a long time - not senior because they're good at it - the best way I heard it described is that they have say 10 times 1 years experience as opposed to 1 times 10 years. So selling new concepts to these guys may be nye on impossible.

    If the job is bearable, hang on there for another 2 years, because that will bring you up to the 5 years sweet spot where you will be considered senior. In the meantime don't be sitting on your laurals, spend your time learning about OOD, design patterns, ORM etc. on your own time, and IMHO C#. Inevitably some of it will wash back into your work, where there isn't scope atleast you'll be looking at things from a different perspective.

    D.


  • Advertisement
  • Registered Users Posts: 5,618 ✭✭✭Civilian_Target


    In a similar situation to you OP.
    I'm in a job that's got me programming but not enlarging my skill-set much, and the development environment is rigid, crusty, and there is no will to change to modern methods. A few of us have been pushing modern design templates, distributed version control, and project componentization, but management aren't interested. Although I'm working with great people, and the employer treats developers very well, I'm getting itchy feet.

    Unfortunately, I'm contractually bound-in until the end of the year, but in the meantime, I'm heavily using the employer training options to take my Sun Java Certifications and learn a second language, and at the same time keeping an eye for smaller projects on rent-a-coder to get some real jobs that push the skill set a bit.

    That way, at the end of the year, I will still be in a job, but be primed to move :)


  • Registered Users Posts: 197 ✭✭pauldiv


    It sounds like you work for good people who respect your abilities both as a programmer and as an individual. That is a big plus in my opinion and would make me very reluctant to just up and leave.

    You might make a move you later regret but then again you might not if you know exactly what you are trying to achieve.

    If your company has plenty of work lined up then that is another thing to consider and in the present climate you may be better staying there until you reach the 5 year mark.

    In the meantime you could conquer your frustrations by formulating a plan for the next two years. If you have a vision then you will come to the realisation that even though your current job is frustrating it wont last forever because you have a plan.

    If you pick a couple of modern technologies and focus on learning them well then you might be able to persuade your bosses eventually that they need to change. They will have to change if they want to stay competitive.

    You might also want to place more value on the experience you have already gained in your present position. There is no real benefit in writing off those three years of hard earned experience just because the working practices seem outdated.

    Maybe you could become someone who is an expert in adopting legacy systems to modern technologies and practices. No point in throwing out the baby with the bathwater.


  • Closed Accounts Posts: 5 StuckInTheFudd


    Thanks for all the replies.
    Just an update on this:

    I think I already knew deep down that it was time for a change when I started this thread.
    I have started looking for a new job but I think its going to take a while.
    I'm focusing on C# and Java jobs atm.

    I am working on a simple enough C# website that I'm going to put online, its just a music mashup thing that I'm doing to get experience with some of the .net stuff that I don't get experience of at work, stuff like:
    .net 3.5, databinding, asp.net ajax, linq, web services.
    Once I have that done and put online I'm going to start on a more substantial J2EE project.
    The Java project should give me a chance to use tools and techniques that I want to learn like OO, unit testing, Spring, Hibernate, JUnit, Ant, Tomcat, Eclipse
    I know the above list is a mix of techniques/frameworks/orm/tools but these are the things that I'd like to use and they seem common enough in most java ads I see.
    I'll stick the source up in an online cvs/svn repo and give any potential employer guest access to it.

    I think its going to be hard enough to get a Java job without any commercial Java experience and only 3 years .net experience but hopefully if I can show a potential employer some code for a project I undertook myself it will help.
    I bought a couple of Java books too, one called Effective Java 2nd edition, its really good.
    I'm waiting on a book on spring aswell before I start coding my Java project.
    If I don't have a Java job by the time I get the Java project done or in about 6 months time (whichever comes first) I'll start looking at the SJCP certs.
    I'm more focused on a Java job atm as I dont want to get pigeon holed in .net, that said, if a c# job came up that offered the things I'm looking for then I'd jump at it :)

    Thanks again for all the replies.


  • Registered Users Posts: 2,494 ✭✭✭kayos


    The Java project should give me a chance to use tools and techniques that I want to learn like OO, unit testing, Spring, Hibernate, JUnit, Ant, Tomcat, Eclipse

    Ahhhh you could use all of those, bar tomcat and eclipse, in .NET.

    Just because the .NET system you work on at the moment does not use any of these does not mean you can not go and learn them. This would also give you a better shot at finding a different job as you already have some .NET exp under your belt.

    But hey if you really want to go back to Java then you can do them there aswell.


  • Closed Accounts Posts: 5 StuckInTheFudd


    kayos wrote: »
    Ahhhh you could use all of those, bar tomcat and eclipse, in .NET.

    Yup, and I've looked at projects like spring.net, NUnit and NHibernate but I don't think I would benefit as much from doing a .net project as I would doing a Java project.

    My main reason for doing a java project is to try to make up a bit for not having much/any commercial java experience, and I figure that if i'm going to do this type of project I may aswell use the tools that would be used in industry, enterprise level tools.

    and even if I use the java versions of these projects and end up sticking with .net development then the experience of using the java versions should make it a lot easier to use them in .net if I needed to. :)


  • Advertisement
Advertisement