I've known how to program for a while but I went to college to get something official on paper. I'm going to be graduating in spring of next year and I am wondering what is the best way to get in the computer fields I am interested in.
What I am interested in:
-Scientific stuff (simulations, ect...)
-Embedded programming (specifically controllers for equipment/devices and to a lesser extent other embedded programming)
-Other graphics related stuff (CAD/CAM, games ect...)
What I am not interested in:
-Business programming (keeping business records, accounting ect...)
Other areas like web programming depend on how related the are to the stuff I've mentioned already.
Anyways I've been looking at the jobs on craigslist and it seems like the ones that sound the least desireable are the most common and when I do see an interesting job they often have requirements like 5+ years experience. My question is for those of you that are in the fields I like. I was wondering how you got your foot in the door and what is the best way to get into those fields? Am I likely to find any entry level jobs in those areas or am I just going to have to bite the bullet and take one of the others till I get some job of experience.
Forgot to ask what languages do you recomend learning? I know C/C++, vb.net and have done some assembly.
Getting your foot it the door is tricky. Experience is key. There are graduate programs around where companies take on fresh graduates for a year, then off the best permanent jobs. Start looking now as these often fill up early. Go to the careers fairs at your college.
If you can't find something that way, the more experience you can show the better. Consider joining open source projects and contributing code to them (or start your own open source project). This can go on your CV.
I used to think like you, but I realised that it's actually programming I enjoy, not specifically what I'm writing. I'm now writing software for a manufacturing company to schedule jobs, track production, produce reports - General business stuff really, but I really enjoy it. Yeah, ok, I don't get to write any cutting edge AI, or graphics, but it's still fun. I play with AI ideas in my spare time at home.
If you a really dead set on finding something cutting edge, maybe consider doing masters/phd courses. (Do courses like this for the enjoyment of the course though, don't expect them to further your career too much, for a career, experience is more important that high level qualifications)
Forgot to ask what languages do you recomend learning? I know C/C++, vb.net and have done some assembly
Forget VB it's only used for business apps (culture[^]). For the areas you are interested in stick to C++ (or consider transferring your vb.net knowledge to c#, they are close enough that you won't have much difficulty, particularly as you have C++ knowledge anyway). C++ and Assembly are probably more relevant in embedded stuff and high intensity graphics (cad/cam/games).
Next month I have to lead a three day hands on.NET C# training workshop for our development group. I am new to the organization (about 3 months) and was brought in for my .NET & C# experience so I will be training the senior members of the team who are all long time Visual FoxPro developers. As a group everyone understands the need to move towards n-tier application development, but the current VFP methodology relies heavily on code behind the form.
Anybody out there have any good course outlines or suggestions for course materials? We are looking at a pretty hefty paradigm shift here and I want to start off on the right foot.
I've made the shift from VFP a couple yrs ago. First to Java. Then I moved to another company within the same industry using C#.
A couple observations based on my experience:
1) The fact that there is code behind the form is not the biggest, or even a big hurdle to jump over. I didn't have any problems with understanding that a method that I wanted to call is in a separate class or even a separate DLL.
2) Things that are different enough that it will take sometime to get everyone on the same page:
a) Inheritance/Polymorphism - It's possible to get some of this functionality in Foxpro, so the difficulty of this one depends on the crew you work with. But things that I've seen some get hung on are Encapsulation, Interfaces. Good class design many get hung up on. But I've examples of those new to dotnet adding methods that manipulate the customer class to the order class, etc.
b) Data Handling - There's a big, big difference between data handling in .net and Foxpro. There are people still clinging to VFP because they think that's the only tool that handles data correctly. Good luck on this one.
c) Collections - VFP only has arrays. I find that you use collections a whole lot more then I ever used arrays in Foxpro.
Something that I found very useful would be a fairly simple app, but enough complexity to give you enough to cover in 3 days. An order form with customer information. And the data stored in a database.
The problem that I found coming from a code behind form (and I was there myself at one time) is that you tend to address of the problem domain through the lens of the user interface. And that becomes a problem when on day one you understand you are developing Windows desktop app and then a month later you are duplicating some or all of the functionality in a web app, or a web service.
I agree with you that Inheritance, polymorphism & interfaces may be difficult areas. Also C# adds some other useful, but new things to the mix like abstract classes, structures, collections, etc.
You're correct about the code behind. But it still shouldn't be a major concern. Code's code. Where to put it shouldn't be a major concern. Especially in the beginning.
It all get's back to encapsulation. And that encompasses a lot more then just code behind. So I think you have to concetrate there. Codebehind is just a symptom of not doing proper encapsulation. In this case separation of data logic from ui logic.
The important question thou, is what level are the Foxpro guys? Are they older, more set in their ways? Do they try to create lots of class libs so their getting a lot of reuse of their code?
Again I agree. You are right in that the core issue is encapulation. There does not seem to have been a lot class libs developed so reuse will be another factor.
The guys (and one gal - my boss!) are long time FoxPro developers, but are reasonable and open to change. No one is dragging their feet in any way, but the challenge will be moving to .NET while continuing to support a large VFP application base in the organization.
The trick will be starting a low enough level to give everyone a good foundation without insulting anyone's intelligence.
To complicate things a bit more, the plan is to also incorporate a third party business object framework into the development mix. One of my tasks has been to evaluate this framework. Somethings about it I like, some I don't, but a big factor for me is the the framework developer uses untyped DataSets to back up the business object layer. No problem with this approach, but I can see that having a good grasp of ADO.NET, DataSets, etc. will be important in understanding how this framework functions and using it effectively.
I am a little uncomfortable in having the folks here blindly using this framework without some understanding of the ADO.NET at it's core.
I may have to tackle some .NET , C# and VS basis in the first three days and then cover ADO.NET in more detail later.
If they don't use classlibs in their Foxpro app, you've got some big hurdles ahead. That they sound open to change, and actually wanting to change are 2 different things thou.
It really frustrated me when I still used to attend Foxpro events, or Foxpro forums on the net when Foxpro people would complain all the time how dotnet did something in such a poor way compared to Foxpro. Or that they could do x in one line of code in Foxpro, but they can't figure out how to do it in dotnet.
Another reason why I would be hesitant to buy into their being open is I've got a bud working in a VB shop. So they're trying to transition from VB6 to dotnet. And he is frustrated because they all claim they want to do it right, but concepts like encapsulation seem to evade them.
There are a couple framework's written for dotnet by ex-Foxpro people. I would assume they selected one of those. I would have hoped that they would have left any of those kind of decisions up to you. They obviously would not have the knowledge to properly evaluate a tool like that. So they've locked themselves in without knowing the why's and wherefore's.
I started way back in Clipper 5.x (I was lucky I did not have to work much with Summer 87) and was fortunate to be mentored by a fellow who understood the advantages of developing reusable libs even in the pre OO DOS days.
When it came time to move to Windows, I went with CA's Clipper migration path which was Visual Objects. VO was ultimately a pretty good development platform (although Version 1 was pretty near useless). IMHO VO was a stronger in OOD compared to VFP and I think that gave me an advantage when moving to .NET
As I said before, the framework they are looking at is not all that bad for the price, but I think you need a decent understanding of the .NET framework to get the most out of another framework layered on top.
Apart from being very interested in their concept, and keeping this ace up my sleeve for when I find time to invest in it, I have no first had information - either negative of positive...
There tools I downloaded seems impressive - and having a good rating from the site must be a most reliable recommendation one could put on a resume I can think of.
I recently spent a good month and half writing a management application for a hair salon, and they're asking me a good question: how much am I charging for it?
I've done several similar projects in the past, but for one reason or another they ended up not getting used. One time, some moron came in half way through my working on the project, offered to do the same thing for my client for $500, and my client ditched me. The guy had no idea what he was doing, and my client ended up getting exactly what he paid for -- a botched company.
Not that I was too sure of how much to ask for back during those days, but I'm sure things have changed nowadays. Any pointers?
Thanks in advance.
Edit: I forgot to mention, the software has several functions: contact management, a periodic emailer for subscribed customers (not spam), customer checkout, a very well-decorated survey app for customers, and marketing reports that I'll be making in the future as the needs arise.
I tried looking around various salary and rates at a few websites. Things seem to have changed lately, with the average salary for developers in 2004 being around $65,000[^], and now at around $80,000 to $110,000[^]. Consultants average around $60 to $70 per hour[^].
Then again, it probably makes more sense to determine the market price of the product itself rather than the amount of work in time. Hmm...
I used to work with a friend that came up with contracts and prices and such, but now that he's gone I have to deal with the business side of stuff myself
I've been down this track in the past (10 no 15 years ago).
Do you consider this a one off project or
Do you intend to onsell the finished product?
Who is going to own the IP?
In one case I built the app with no sale price on it, simply chrged $1k support per month, starting from 1st month with a 6 month dev twindow (it was not my primary job). Client was happy as he could change his mind as often as he liked and the only thing to change was the delivery date. I supported and developed the product for 8 years and only stopped when I left the country.
Never underestimate the power of human stupidity
Now you know why I'm a contractor, you turn up for work, they start paying you, you leave, they stop. I once had a partner who was very business savvy, I went broke he walked away with the business and what's more I was happy.
Make sure you have a line drawn in the specs, this far and no more. Do get the client to sign off on the requirements, I know this sounds a little melodramatic but a 2k job can cost you 5 times that in scope creep.
Never underestimate the power of human stupidity
Last Visit: 31-Dec-99 18:00 Last Update: 13-Aug-22 9:06