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

Time to sort out my development approach?

Options
  • 15-07-2004 9:28am
    #1
    Moderators, Society & Culture Moderators Posts: 2,688 Mod ✭✭✭✭


    Im not a happy camper...

    well its time for me to get things into perspective.

    Im a database developer, have been for the last three years since i finished college. Longest term in work was 2 years. rest has been 3 - 6 month contracts.

    I feel that im OK at my job, but i want to get more satisfaction from it, i want to learn more about what i do, about programming methods, planning applications, building databases properly. I want a more structured approach to what i do.

    Everywhere ive worked has had a poxy ad-hoc approach to development, planning and documentation have been seen as a hindrance rather than a help. As a result i dont feel like im a good developer.

    I want to re-organise my approach to development both on the client application and the database side.

    I want to re-learn about developing a database, the IMPORTANT fundamentals to consider, to create a new approach rather than the current method of
    "well we need these tables and a couple of stored procedures and a few views, so ill just throw them together from scratch"

    I also want to learn more about IIS and about my development, there was a time (when i was in college) that we had structured methods beaten into us, but now it seems that the "were-under-pressure-hack-and-slash-programming" methods ive been using have beaten these good practices out of me.

    Why must i constantly refer to the internet for source code that at one time i could write myself?

    With the way work has gone in the last year or two, I have very little interest in programming outside of work, and feel like im living someone elses life while IN work, when away from my desk i cant bear to think about development, it frustrates me and even makes me feel ill from time to time, my career such as it is, is in the doldrums, its all slipping away from me at a time when what i need most is an IT challenge and a better salary... (this is almost a personal forum issue!).

    Where should i start? Any advice?


Comments

  • Closed Accounts Posts: 8,264 ✭✭✭RicardoSmith


    I'm in a similar position. I've been looking at the various certifications, not for the certifications but to get a more rounded knowledge of certain subjects, and to fill in the gaps on my skillset. I know that most courses tend to teach the mechanics of programming not the discipline, and good practise that your looking for. In fact from contracting it seems to me that most programmers (contractors and permanent) tend to deliberately obscure their code through deliberate bad practises.

    I don't like that practise but I can see why some do it.

    As for the improving your skillset. I've access to a bunch of CBT training and I find going through the test questions is a good way to test your knowledge. Then I do the CBT bits of the areas I don't know.


  • Moderators, Society & Culture Moderators Posts: 2,688 Mod ✭✭✭✭Morpheus


    Whats this CBT training?


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


    Originally posted by Morphéus
    Whats this CBT training?

    Computer Based Training.


  • Closed Accounts Posts: 8,264 ✭✭✭RicardoSmith


    Basically instead of a book or going to a class you sit in front of the computer and it shows you all the content then asks you questions, scores your answers. They even give little test exercises to test your knowledge.


  • Closed Accounts Posts: 44 Err..


    Originally posted by Morphéus
    Im not a happy camper...

    Everywhere ive worked has had a poxy ad-hoc approach to development, planning and documentation have been seen as a hindrance rather than a help. As a result i dont feel like im a good developer.


    Having worked in the industry for 13 years now both permanent (first 6 years) and contract (past 7 years) I have to say that for the most part this is a situation you will just have to learn to accept and live with unless you are very lucky and find a company that understands how to properly develop a system (very rare).

    There are so many reasons for this:

    1. A lot of companies that have IT departments, but are not software houses (banks, govt, insurance, etc.), have people making IT decisions who have no IT qualifications.

    2. Smaller software houses normally come up against a number of real world problems that make it impossible to develop systems properly and normally end up with quickly developed prototypes becoming badly designed systems.
    (a) Time to market
    (b) Development costs
    (c) Client pressure

    4. Larger companies also suffer from time constraints which mean that documentation etc. often gets cut to meet the deadlines.

    5. As a database developer (I've always worked in C++/java) you will probably find that a lot of people consider the C++/java etc. as the application and the database as simply a place to store the data and so give it very little thought.

    6. As a contractor you will probably find you are usually hired after the damage has been done and will just have to live with it.

    That all said, there are some companies that try to get it right. The best one I've worked for is IBM. I think the best type of company for what you are looking for is somewhere like IBM, ie a BIG software house that has the time, experience, money, and clout to do things properly.


  • Advertisement
  • Closed Accounts Posts: 8,264 ✭✭✭RicardoSmith


    Well rushed development is one thing. Bad development is another. In the last two places I've worked in, the standing of coding was abysmal. So much so that the companies 60% of time was taken up with dealing with bugs, and the effects of bugs. In both cases the applications were 2+ years in Development.

    I've worked with a few coders and some people despite all their experience can't write solid code. I have one developer in mind. No matter what he writes he seems to add more bugs than functionality when he develops something. He leaves a trail of misery in his wake.


  • Closed Accounts Posts: 44 Err..


    Originally posted by RicardoSmith
    Well rushed development is one thing. Bad development is another.

    Agree completely. There are a lot of bad developers out there.

    As an addition to my last post, there is another way to attempt to get past your problem. Find a job where you are the database designer so you have full control from the start of any project.


  • Registered Users Posts: 640 ✭✭✭Kernel32


    Read Steve McConnell's books, they are a fantastic starting point for learning to be a professional in the software development industry. Once you have done that it should give you a starting point on how to take control of your professional career. The best possible thing you can do is simply learn to be a professional, demostrate your professionalism and lead by example.


  • Registered Users Posts: 4,276 ✭✭✭damnyanks


    Originally posted by Kernel32
    Read Steve McConnell's books, they are a fantastic starting point for learning to be a professional in the software development industry. Once you have done that it should give you a starting point on how to take control of your professional career. The best possible thing you can do is simply learn to be a professional, demostrate your professionalism and lead by example.

    I would reccomend his stuff. I got his book on professional software development on a family holiday so I didnt have to listen to my sister go on about the hair on my arms (GRRRR) excellent book really opened my eyes. Even transfering courses due to some strong points me made (and other publications I have read, also I hated my college :D)


  • Closed Accounts Posts: 8,264 ✭✭✭RicardoSmith


    Must check it out. Sound interesting. Pity there aren't more threads in Programming on these kinda subjects.


  • Advertisement
  • Registered Users Posts: 4,276 ✭✭✭damnyanks


    I'd check him out on the net as well he has a lot of good resources / articles (He used to be a editor of some form for IEEE) He also replies to emails with general queries :D


  • Moderators, Society & Culture Moderators Posts: 2,688 Mod ✭✭✭✭Morpheus


    :D Thanks lads, will check out Mc Connell...

    May be a perm job on the horizon too, hopefully, just checking out contractor rates, they are very impressive, i suppose the catch is that you may only have work for 6 or 8 months a year....

    Anyway as an example of my inexperience (self taught with SQL) can someone please make suggestions to tidy this procedure up?? and point out my possible... well i should say "probable"...design flaws?
    
    declare @totalAccountMngr float
    declare @FeeFlat float
    declare @FeeRate float
    
    SELECT @totalAccountMngr = 
    	(
    		SELECT isnull(SUM(QdLineItemTbl.LineTotal),0)
    		FROM    QdLangTbl INNER JOIN	
    			QdLineItemTbl ON QdLangTbl.QdLangKey = QdLineItemTbl.QdLangKey 
    		INNER JOIN
    			QuoteTbl ON QdLangTbl.QuoteKey = QuoteTbl.QuoteKey 
    		INNER JOIN
    			TaskDescriptionTbl ON QdLineItemTbl.TaskKey = TaskDescriptionTbl.TaskKey 
    		INNER JOIN
    			tblBudgetHeads ON TaskDescriptionTbl.BHKey = tblBudgetHeads.BHKey
    		
    		WHERE	(QdLineItemTbl.Required = 1) 
    			AND (QdLangTbl.Required = 1) 
    			AND (QuoteTbl.QuoteKey = 1103) 
    			AND ((QuoteTbl.AMFeeFlat > 0 AND QuoteTbl.AMFeeRate = 0)
    			  OR (QuoteTbl.AMFeeFlat = 0 AND QuoteTbl.AMFeeRate > 0))
    	)
    
    
    SELECT @FeeFlat = 	(
    		SELECT DISTINCT QuoteTbl.AMFeeFlat
    		FROM    QdLangTbl INNER JOIN	
    			QdLineItemTbl ON QdLangTbl.QdLangKey = QdLineItemTbl.QdLangKey 
    		INNER JOIN
    			QuoteTbl ON QdLangTbl.QuoteKey = QuoteTbl.QuoteKey 
    		INNER JOIN
    			TaskDescriptionTbl ON QdLineItemTbl.TaskKey = TaskDescriptionTbl.TaskKey 
    		INNER JOIN
    			tblBudgetHeads ON TaskDescriptionTbl.BHKey = tblBudgetHeads.BHKey
    		
    		WHERE	(QdLineItemTbl.Required = 1) 
    			AND (QdLangTbl.Required = 1) 
    			AND (QuoteTbl.QuoteKey = 1103) 
    			AND ((QuoteTbl.AMFeeFlat > 0 AND QuoteTbl.AMFeeRate = 0)
    			  OR (QuoteTbl.AMFeeFlat = 0 AND QuoteTbl.AMFeeRate > 0))
    		)
    
    SELECT @FeeRate = 	(
    		SELECT DISTINCT QuoteTbl.AMFeeRate
    		FROM    QdLangTbl INNER JOIN	
    			QdLineItemTbl ON QdLangTbl.QdLangKey = QdLineItemTbl.QdLangKey 
    		INNER JOIN
    			QuoteTbl ON QdLangTbl.QuoteKey = QuoteTbl.QuoteKey 
    		INNER JOIN
    			TaskDescriptionTbl ON QdLineItemTbl.TaskKey = TaskDescriptionTbl.TaskKey 
    		INNER JOIN
    			tblBudgetHeads ON TaskDescriptionTbl.BHKey = tblBudgetHeads.BHKey
    		
    		WHERE	(QdLineItemTbl.Required = 1) 
    			AND (QdLangTbl.Required = 1) 
    			AND (QuoteTbl.QuoteKey = 1103) 
    			AND ((QuoteTbl.AMFeeFlat > 0 AND QuoteTbl.AMFeeRate = 0)
    			  OR (QuoteTbl.AMFeeFlat = 0 AND QuoteTbl.AMFeeRate > 0))
    		)
    
    
    If @FeeFlat > 0 
    BEGIN
    SELECT @totalAccountMngr = @totalAccountMngr * @FeeFlat
    END
    ELSE
    BEGIN
    SELECT @totalAccountMngr = @totalAccountMngr * @FeeRate
    END
    
    SELECT @totalAccountMngr 
    
    


Advertisement