Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?

+ - Ask Slashdot: What is the best open document format?

Submitted by kramer2718
kramer2718 writes: I am working on a project that requires uploading and storing of documents. Although the application will need to allow uploading of .docx, doc, .pdf, etc, I'd like to store the documents in a standard open format that will allow easy search, compression, rendering, etc. Which open document format is the best?

Comment: Ph.D. Program? (Score 1) 280

by kramer2718 (#48612027) Attached to: Ask Slashdot: How Should a Liberal Arts Major Get Into STEM?

You might consider a Ph.D. program. If your grades are good and you have the basics, and you can tell the department a good story, you can get admitted and get funding in many STEM disciplines.

You'll have to spend a long time getting your Ph.D., but if it's what you want to do, it may be worth it. You should probably choose a program that grants a Master's along the way so that if you don't finish, you'll have something to show for your time.

Comment: Not Anti-Social If Done Properly (Score 1) 786

by kramer2718 (#48200061) Attached to: NPR: '80s Ads Are Responsible For the Lack of Women Coders

Software development is usually done in an anti-social way. You chunk up a release or backlog or whatever into features, each dev takes a feature and goes off and writes some code. Later there is some collaboration in testing, code reviews, troubleshooting, etc.

But that is a TERRIBLE way to do it. The wrong code gets written way too often. Designs are bad because people aren't contributing along the way. Requirements get missed because the developer makes an assumption that s/he didn't know was an assumption. The more eyes on the code at all times the better. Devs should be constantly communicating with testers and people who understand the business case (product owners). One way to do that is pair programming. It sounds like a waste of time, but it is actually faster. Silly mistakes get caught right away. Debugging goes faster. Another way to do that is to chunk the work into very small pieces and constantly communicate to integrate your tiny piece with the other devs' tiny pieces. This leads to clean interfaces and modular code.

The Cowboy Superhero model of software development only makes sense if you are the only one developing a project. And remember in that case, your code dies when you get hit by a bus (or kill your wife and go to prison).

Comment: It isn't what you know. It's who you know. (Score 1) 479

by kramer2718 (#47983681) Attached to: Ask Slashdot: Finding a Job After Completing Computer Science Ph.D?

Network. Go to career fairs. Meet the hiring manager. He needs talented software engineers. Teach yourself more modern technologies and get certified. I'm not usually a big fan of certifications as they don't usually show that someone knows how to program in a general sense, but your degree shows that.

I have a pretty ridiculous professional network. (Not bragging really. When you have done in-demand technologies and looked for jobs, the network comes to you.) Message me me and I can add you and perhaps even give you some introductions to recruiters.

Comment: Re:Company rushes to meet launch date (Score 4, Insightful) 238

by kramer2718 (#44457245) Attached to: How Did My Stratosphere Ever Get Shipped?

I have been pulled aside by a very high level manager, told to put all of my development on hold and implement entirely new functionality for a large enterprise product

This functionality required three months of team effort to develop properly + another two weeks of due diligence, pre-release testing, and deployment. And then he told me to get it deployed in three weeks.

That's how this can happen.

Comment: It Depends (Score 4, Insightful) 262

by kramer2718 (#43473153) Attached to: Who should have the most input into software redesigns?

On the goal and nature of the redesign.

If the goal is to improve usability, then the customers should. Of course their input should be focused through the UI/UX guys.

If the goal is to increase profitability, then for B2C software, marketers and for B2B sales.

If the goal is to improve the maintainability and stability, then software engineers.

If the goal is to improve operability, then the operators.

If the goal is to improve scalability, then capacity planners and enterprise architects through the lens of software engineers.

Comment: Services (Score 4, Insightful) 240

by kramer2718 (#43344139) Attached to: Ask Slashdot: Preparing For the 'App Bubble' To Pop?

Apps may or may not stick around, but one trend will continue: the increase in service oriented computing.

I.e. computing functionality is being broken down into modular services (usually web services) that are simple enough and independent enough to be easily scaled horizontally but that can be composed in order to provide richer more complex functionality.

If you understand this architecture, it will help your marketability immensely whether you are writing end user interfaces (such as apps) or building the aforementioned services.

Programmers used to batch environments may find it hard to live without giant listings; we would find it hard to use them. -- D.M. Ritchie