Here are the top 10 mistakes people make during a coding interview for a software developer job.
#1 | Practicing on a Computer
If you were training for an ocean swim race, would you practice only by swimming in a pool? Probably not. You’d want to get a feel for the waves and other”terrain”differences. I bet you’d want to practice in the ocean, too.
Using a compiler to practice interview questions is like doing all your training in the pool. Put away the compiler and get out the old pen and paper. Use a compiler only to verify your solutions after you’ve written and hand-tested your code. Continue reading “10 Mistakes People make during an interview for a software role”
Under what circumstances, if any, can adding team members to a software development project that is running late result in a reduction in the actual ship date with a level of quality equal to that if the existing team were allow to work until completion?
There are a number of things that I think are necessary, but not sufficient, for this to occur (in no particular order):
- The proposed individuals to be added to the project must have:
- At least a reasonable understanding of the problem domain of the project
- Be proficient in the language of the project and the specific technologies that they would use for the tasks they would be given
- Their proficiency must /not/ be much less or much greater than the weakest or strongest existing member respectively. Weak members will drain your existing staff with tertiary problems while a new person who is too strong will disrupt the team with how everything they have done and are doing is wrong.
- Have good communication skills
- Be highly motivated (e.g. be able to work independently without prodding)
- The existing team members must have:
- Excellent communication skills
- Excellent time management skills
- The project lead/management must have:
- Good prioritization and resource allocation abilities
- A high level of respect from the existing team members
- Excellent communication skills
- The project must have:
- A good, completed, and documented software design specification
- Good documentation of things already implemented
- A modular design to allow clear chunks of responsibility to be carved out
- Sufficient automated processes for quality assurance for the required defect level These might include such things as: unit tests, regression tests, automated build deployments, etc.)
- A bug/feature tracking system that is currently in-place and in-use by the team (e.g. trac, SourceForge, FogBugz, etc).
One of the first things that should be discussed is whether the ship date can be slipped, whether features can be cut, and if some combinations of the two will allow you to satisfy release with your existing staff. Many times its a couple features that are really hogging the resources of the team that won’t deliver value equal to the investment. So give your project’s priorities a serious review before anything else.
If the outcome of the above paragraph isn’t sufficient, then visit the list above. If you caught the schedule slip early, the addition of the right team members at the right time may save the release. Unfortunately, the closer you get to your expected ship date, the more things can go wrong with adding people. At one point, you’ll cross the “point of no return” where no amount of change (other than shipping the current development branch) can save your release.
I could go on and on but I think I hit the major points. Outside of the project and in terms of your career, the company’s future success, etc. one of the things that you should definitely do is figure out why you were late, if anything could have been done alert you earlier, and what measures you need to take to prevent it in the future. A late project usually occurs because you were either:
- Were late before you started (more stuff than time) and/or
- slipped 1hr, 1day at time.
Hope that helps!
Continue reading “Project Management is difficult – like running a ship”
Every business demands growth, and double-digit growth is the dream of every dedicated business owner, even when lackluster results show up at quarter’s end.
Most entrepreneurial business owners need a guide to navigate their way toward substantial, sustainable growth. It can be done even in a slow economy as demonstrated by such companies as Harley Davidson, Starbucks, and WalMart. Even smaller companies such as Paychex and Oshkosh Truck have been able to make gains in revenue, gross profits and net profits.
Here are 5 disciplines of sustained growth:
Continue reading “Good Companies Grow No Matter What”
Budgets and personal finances are not most people’s favorite topics, and certainly not one of mine. Even bank executives have problems in this area, but if you’re an entrepreneur so do you. You’re concentrating so much time on your business, your personal checkbook takes a back seat. Then one day you are met with the startling fact that you’re not saving enough for lean times and you panic. Continue reading “Become Your Own Personal CFO”
Here is the list of top 10 excuses you are likely to hear if you work with a programmer!
10. “I haven’t touched that module in weeks!”
9. “It must be a hardware problem.”
8. “Somebody must have changed my code.”
7. “Did you check for a virus on your system?”
6. “You must have the wrong version.”
5. “That’s weird…”
4. “There must be something wrong with your data”
3. “It has never done that before.”
2. “It worked yesterday.”
… and, by far the best one:
1. “It works on my machine”
Issue trackers such as Atlassian JIRA, GitHub and Microsoft TFS powerful and essential tools in the Software Development Life Cycle (SDLC) of almost any software project. They help development teams streamline collaboration and manage their work without getting lost in an endless stream of emails and PDF reports.
It is therefore a logical next-step to leverage existing issue tracker infrastructure to report security vulnerabilities directly to the people who need to action them, in the format and workflow-tools they are already using. This way, security vulnerabilities are tracked and perceived as issues which need to be fixed, just like any other high-impact issue the development Team may have on its plate.
This is precisely why Acunetix integrates with Atlassian JIRA, GitHub and Microsoft TFS’ issue trackers out-of-the-box. Different issue trackers can be set-up per-Target and Acunetix is smart enough not to open duplicate issues of vulnerabilities it has already opened.
Continue reading “Acunetix Issue Tracker Integration with GitHub”
What you will need:
- You must have IIS version 8.0 or higher installed (it does work on 7 too)
- You must have Web Sockets Support for IIS installed
- You must have Application Request Routing 3.0 installed
Continue reading “Installing Atlassian Confluence 6.5+ on Windows Server (IIS 7+)”