I am sure professionals in the Software Development community have come across this scenario in their careers.
I am about to be assigned to work on an existing project that my team mate worked on. However he is being moved to work on another project. One of my team members who worked on this project has left. So as you can see there is only one person left on how this piece of software is suppose to work.
I am overwhelmed/nervous because my knowledge on the project is very limited and the deadline for this is short. This individual has knowledge on the technical aspects of the project and the business requirements/process. He has 20 years experience in software development.
We have a tester assigned to the project but the tester only has knowledge about the business requirements not the nitty-gritty stuff.
I appreciate if someone can provide me with advice/general tips on how to become better at adapting to new projects, learning about the project and implementing features, fixing bugs, what to do, what not to do.
Unfortunately there is no easy answer to this, as it depends on so many unknowns: the complexity of the application, the programming language, the rules and processes, your knowledge and experience, etc.
I have had to do this a number of times in my career, and the support I received varied from very good to non-existent. If you have access to the original developer then you should be able to ask for help from time to time. As it is you need to spend as much time as possible studying the code and (hopefully) the documentation, to get familiar with the overall design and flow of the application. One of the things I sometimes did, was to take a copy of the project and do mock changes and builds for my own testing, just to see what happened in certain situations. Ultimately the only real way to do it is by practice, practice, practice.
9 years ago I was hired to build an application for an iron foundry.
It took almost 2 years to build.
I used PHP and mySQL.
Now because of the economic crisis they had to let me go.
After 7 years I decided to contact them again.
Nobody did anything to the software nor the database.
Now they are telling me they are still using this.
I realy could use some advice about how to proceed in this proces.
How can I best proceed to make it future proof.
I would like to create an open source platform for iron foundry software but where to start.
Any help would be greatly appreciated.
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.
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.
I've already discussed all that with my lawyer, and besides that, many readers of my web site are lawyers, and would have written to me about it.
The reality today is that the corruption and criminality in Washington and on Wall Street are at enormous levels, at levels so high that they were unthinkable prior to the rise of Generation-X in the 2000s.
So the other side of that is nobody gets sued because almost everyone is a criminal, and criminality is the norm, so no one goes to jail.
It's possible that someone will try to sue me, but for what purpose? I have almost no money, I'm old enough that I don't give a sh*t, and suing me would just cause me to write about the people suing me, which would give more publicity to their crimes. They know that, so they'll just ignore me.
By the way, the whistleblowers that I wrote about have also given evidence to the FBI, which is investigating the same crimes. These are people who took hundreds of millions of dollars, knowing that their programming staff were too incompetent to even implement a network connection, and the results speak for themselves -- Healthcare.gov: The Greatest IT Disaster in World History.
For 10 years I used VB5-6/VBA/SQL2000-2005 to write applications for small business clients that integrated various features of MSOffice modules, DTS and Crystal Reports programmatically via office automation. Then I went on a 5 year sabbatical.
I now want to get back to work in the industry as some kind of software developer - VB, Java, C-something, ASP.net, Crystal, etc. However, in the described past I had accumulated a great amount of knowledge concerning MSServer, Windows and all the development tools that I used and was just beginning web development. I am assuming that everything has changed in 5 years and that getting back to my past level will require a strategy similar to that employed when eating an elephant, that is, a bite by bite approach. So, I am not lazy, but I am trying to draw responses that can help me to identify the smallest, most manageable set of tools currently in demand that can be learned in the initial 3 months and that will be the most likely to lead to employment.
Also, in 2009-10 I intended to aggressively update my skill set, so I purchased a workstation and server, an MSDN VS2008 subscription and 15 month access to New Horizons so that I could take 242 2-hr Microsoft related courses related to web & forms development, VB&ASP.net, SQL2005-2008, SSIS, BI, Server2008. I completed the courses with screen recording so that I could go back to review, but a family illness disrupted my concentration as I went thru my 1st pass and made a planned 2nd pass impossible. I just bring this up because these resources are available to me if any of this software is still in demand. I hope that I have defined my request clearly enough and I thank all contributors kindly in advance.
You might want to invest some time in learning the MEAN stack. This is incredibly popular right now, and isn't too hard to get started on. MEAN stands for
MongoDB - a NoSQL database
All of these tools are free to download, and simple enough to get your head around. I would recommend taking out a Pluralsight[^] subscription and working your way through the many courses they have that cover the MEAN stack.
Hi, I prepare to have Windows 8 Certification. I have check from Microsoft Homepage[^] and found that it require exam 70-687 and 70-688. So I try to search from amazon and I found the following book to study:
My question are:
1. What is the difference between these above book?
2. If I want to study Windows 8, which book that I should read first?
3. If possible, please kindly explain the difference all of these three book.
You could just follow those links and read the information that is provided. If you really do not understand the difference between them then perhaps you need to study some more introductory books, something like those listed at https://www.google.com/search?q=windows+8+books[^].
I have just taken a job as the IT Director for a small private school. Amongst all my duties I have been asked to teach a small class of 6 students. They're all seniors and supposedly very computer savvy.
Does anybody have a starting point where I can find some lesson plans. I have some great ideas but unsure of how to put everything together.
I love Ian Sommervilles book, Software Engineering and I'll probably pull from it. Also I got the school to buy several Raspberry Pi's so I want to work them up to that kind of project.
Hello guys. Recently a guy left. A week after I am told that I will be taking over his project. I myself am new and still getting my head around. I wanted to ask: How much time should I spend with him on this taking over discussion and what sort of questions should I ask him so that I may understand what is going on, in this project. Thanks for any input.
Spend as long as it takes for you to understand every part of it. Prepare and write down things you wonder and also what's left to do and if he had thought about how to it and if you don't understand reformulate the question. Also ask about any known bugs or any issues he think would be hard to solve or something like that. Would be nice to have it recorded but atleast write everything down and if he talks to fast ask him to wait, if it seems appropriate. Atleast that's what I would have liked to know.
Hello guys. I am sure some gurus are out there, to help me understand the situation. I am thrown into this big surveillance software application. Its not that I don't like this field. It is just that I sometime want to run away. Some of my problems are
+ I dont know the work ethics (how things are done)
+ I dont know when to communicate (how much time should I take for a problem and then report if im stuck)
+ My seniors try to imply that I am behind schedule. Each time I ask something, first sentence that comes is: "If you can not do this then tell the management and I will take over the project".
+ Some politics at work which I am disastrous at.
+ And biggest of all, nobody is telling me how to approach a problem. What should I look for, in the code and nobody is telling me the application life cycle.
Are all of these things normal?? Thanks for any input.
This world is going to explode due to international politics, SOON.
Not in my experience. If your seniors expect good work from you, then they should be helping you in the areas that you have problems with. You could try talking to your manager about these issues and see what help they are prepared to offer. If they are not prepared to help you at all, then it's time to look for another job.
There are several distinct problems which must be addressed differently.
Most of what you are referring to is not technical. Thus it is a management problem. Which might or might not be fixable.
You didn't state what 'level' you are. But if you have less then 2 years of actual profession programming experience then your "seniors" and perhaps your company is just wrong in a number of ways.
If you have more and specifically sold yourself as being a self starter then some of this comes back more on you. Certainly if you have say 10 years of experience then not being able to get your head around the tasks is all on you.
The application life cycle shouldn't really matter unless you are being told something is late when you didn't know there was a schedule to start with.
Did you estimate the tasks or did someone else? If it was someone else, regardless of your experience level, and then someone/anyone expects you to take the same amount of time then take comfort in knowing that those people are idiots. Which doesn't ease the situation but might make it easier to approach emotionally.
Are all of these things normal??
Unfortunately at some places yes. But not most.
Some few places will proactively help the new person. Most places are bit more lazy in terms of this but they still want the new person to succeed because someone must do the work. And if the new person doesn't/can't then one of the existing people will then have to do all of their work and the additional work as well.
Best you can do at this point is to approach your actual manager, not your teammates and discuss the general frustration with the onboarding (yours) process. Make sure that you do not attempt to make it their problem but rather phrase it as your inability. Doing that way, hopefully, makes it less confrontational for a manager that probably doesn't know how to manage that well.
Or just keep your head down and try, try, try until they accept you.
They tend to change with each niche you visit. The more money is involved, the less ethics will be bothering you.
+ I dont know when to communicate
Yes, you do; you communicate as often as required. If something is unclear, communicate. If something is inappropriate, communicate. If something is unclear, communicate. You are there to take the "unknowns" away
+ My seniors try to imply that I am behind schedule.
Yes, some management assumes that there will be more production if you are stressed. I don't make the schedule either, but that also implies that I cannot be liable if we do not make the schedule
+ Some politics at work which I am disastrous at.
You are NOT paid to play politics. Someone that focusses on politics instead of work is a liability that should be eliminated.
+ And biggest of all, nobody is telling me how to approach a problem.
They will, once you fail the problem; then everyone will have a solution saying you should have done X or Y. Hence, communicate - collect X and Y before you begin.
Yes, been there and ain't going back
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
Seems like your company has a lot of politics going on somewhere. The reason why I said that is because they threw you into most complex and tough project and do not want to help you out. They always hit you with a "Get back to work!" kind of board! Which is always a job of Boss. No big deal to worry about.
You can only perform better at work when you are familiar with what you have to do, and what you are doing. Another required component for this is, that you are also frank at your environment. You are not oppressed. You are free to share your views, problems and other concerns.
Work ethics are simple... You work on what you've been asked to do!
The best time of communicate is when you feel like you want to communicate. When you want to get some guidance, go and ask. There is no shame in telling them, "You have no idea where to go". Most of the time we -- developers -- think it is a shame. No it is not. Just go and tell them you are not ready. Your seniors (everyone's seniors) always think they are better. Only because they are seniors.
Frankly speaking... Context seems as if you are being sentenced to code. Like you're in jail, and your punishment is to code. I would never work for such a company, where I don't have self-respect, self-esteem, freedom. If the senior under whom I am working is not telling me anything. It is a clear cut answer that I won't be able to complete the task at all. I would be wasting my time, talent and keyboard (if I brought mine). I would simply resign and look for another job! So should you.
The sh*t I complain about
It's like there ain't a cloud in the sky and it's raining out - Eminem
~! Firewall !~