If you were hired by a company to write an application for them, then the code belongs to them. If you're intending to use that code as the basis of an open-source project, then you'll need to get written permission from them before you start. I'd strongly suggest talking to a lawyer to make sure everything's legal and above-board.
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
Not entirely true. If he was an employee of the company the code belongs to them. If he was a contractor, say 1099, then he has the intellectual rights to the code, even if he sat in their office and coded it.
I know this because I've been doing it for a while and been through this more than once. The company needs to specify in writing in the contract how the ownership is applied.
I'm working on an assignment -- not about programming directly -- where I thought I could collect some data useful to the community. At least in a "How about that!" way.
In short: I've been asked to review five applications that help put together online surveys. And while I could ask dumb questions like, "What is your favorite flavor of chocolate?" I think it'd be more fun to find out what job attributes -- beyond tech considerations -- developers feel are most important. This isn't scientific, and I can't use it for "real data," but wouldn't it be nice to know whether this group of people cares more about telecommuting options than flexible work hours?
The results are, obviously, completely anonymous. I'm just trying to get enough data for my screen shots to have pretty charts. But I'm happy to share the results with anyone who participates. (That lets me check out the software's reporting features, too.)
If you don't want to share honest opinions, then don't take the survey. It's no skin off my nose.
I figure that sharing the results with the people who do take the time to respond is a small thank-you for their participation. As I wrote, the results won't be considered scientific (it's too small a sample size, and self-selecting) so I can't use the data for another purpose.
I am a mainly C#/.Net/Vc++ etc etc developer, carrying around 12 years of exp. A lot of my work was related to mobile apps in eVC++ earlier and now in latest Windows platforms. I did some iOS work as well in between.
But now the client side work has started to tire me out, mainly because I find myself battling with a lot of UI issues, and Framework limitations. The Projects are small and Need fast development, which does not provide depth in my work. I am getting inclined towards Server side Technologies, but having worked for sometime on Azure and a lot on SQL Server, I must say I was really not a fan of these tools. Moreover with Azure, I think you get stuck on a lot of Hardware related issues? Is that true ? I don't know a lot though.
So I am pretty much confused right now, about what Kind of direction I should take? I am also thinking of plunging into Java world, mostly because I am really not excited about Microsoft Server side Technologies.
Though it is a vague question, to give more insight into what Kind of work I like, I would say I am all for clean architecture, Patterns and practices and I would like to get into something that provides me more opportunity to design and implement a full Software System.
I am not sad to say that Microsoft needs to just quit making software! I have been a big supporter of Microsoft for years but lately all they produce is garbage. I understand the basic Ideology of MVVM for applications but WPF is terrible at delivering this. It used to be a simple task to wire up a simple combo box to display a list of options but with WPF its not so simple. In fact when I started to ask questions about how to do it the only response I get was "ummm.... I have to look at your code" no one seems to have a simple response. Even researching online I never see a clear example not even from Microsoft's own site. So if the company that wrote this can't provide a simple example why are so many people dedicated to make this sh*t work. The entire platform is not obvious and the learning curve is too steep. Additionally, it seems that performance of these applications is terrible and buggy. Yet you see the demand for everyone to have this skill set from employers. A framework should deliver the following features to developers: stability of execution, obviousness of design, simplicity, and hopefully a reduction of effort. If you can't ensure these traits don't deliver a product, you will just weaken the end user. I don't feel that WPF delivers any of these traits. In fact a much broader statement could be made here Microsoft as a company no longer supplies this, or maybe it never did. I started looking back at everything Microsoft has produced and I realized its just a lousy provider of software in general. I kind of wish more people would abandon these products for the sake of pressuring these industry giants to start providing better solutions. If we as a community continue to accept inferior tools to do our jobs it will only become more difficult to progress forward. I know that some people will say "well if you don't like Microsoft what would you use in place of it?" The answer is I don't have a good answer to that one. There are so many lousy software companies out there that provide bottom of the barrel products that there is no safe haven for anyone. I see too many times that people generate so many patches or hack code to work around platform bugs that I wonder what would the software look like if you didn't always have to fix the code before you work on your own problem. If you eve wonder why you have so many service calls start looking at the underlying problems with the framework you have chosen you may find your answer there.
I find the same with all the .NET framework, each object and method is documented... with the obvious. But there is no MSDN page saying things like "File Operations: the classes aaaa, bbbb... zzz are the main interfaces with the File System. If you need to do this other thing that looks related plese look classes abc and bcd.". Then you look at class aaaa and see it is a file indexing so maybe you don't need it, bbb is a parser, and so on.
The plain old API is perfectly documented and there is little anyone can't do with a couple of days at most of documentation delving. The whole overgrown .NET framework is a collection of obscure objects.
Microsoft has never released a working product, and has consistently lowered quality standards for the entire industry. They were the first to sell software that doesn't work, then have the gall to charge for updates. They were the first to eliminate manuals. They were the first to charge for telephone support for their defective "products." They set the standard for non-performance that all modern software companies now profit from following. If you think WPF sucks, you should read the documentation (very expensive) for MFC someday.
I wrote a couple of articles on the Healthcare.gov software
development disaster, and I'm looking for advice on the best way to
submit them to CodeProject.
I did three months of research, interviewing developers and
whistleblowers, and reviewing numerous media reports. I'm not a
mainstream journalist, but I was a tech journalist for years, as well
as being a senior software engineer. As far as I know, I'm the only
journalist who has done such a thorough technical review of what
The second article contains "lessons learned" for managing software
development projects, and dealing with project stakeholders who either
are incompetent or who actually try to sabotage the project. This
article is targeted to managers, researchers, and academics, and
contains a lot of technical information that would be useful to both
programmers and managers:
I'm neither journalist nor lawyer, but I spent 10 seconds looking at the first article to see it contained numerous incidents of libel that you could be sued for. Journalism is best keep to reporting of facts rather than accusations you might find yourself having to prove.
Last Visit: 31-Dec-99 18:00 Last Update: 26-Sep-23 2:53