I suggest you hire a software developer, preferably a senior one if you can afford it. The difference between a bunch of impressive algorithms written by specialists in the field stitched together by brittle connections, and a bunch of impressive algorithms that are part of a well structured, tested and maintainable suite is huge. Reading a book or two is not going to solve the problem in the long term, which I assum…
To add to this: what you have now is likely a 20% product - something on the level of a proof of concept. All of that connecting tissue that makes things robust can take quite a bit of work, and it's really hard to see whether it's robust or not for a while.
Ask HN: How’d you go from a noodler to writing large well structured programs?
51–60 of 77 posts
Re: Ask HN: How’d you go from a noodler to writing large well structured programs?
#52I will reiterate some of what others have said: - Use version control! - Hire a professional software developer - Good architecture and abstraction comes mostly from practice but if you really want to do some reading on software architecture check out "The Architecture of Open Source Applications" (vol 1 & vol 2) http://www.aosabook.org/en/intro1.html
Unfortunately it isn't in our budget to hire a pro dev to the team but I can work attempt to increase time working with our corporate IT department which has some excellent devs.
Re: Ask HN: How’d you go from a noodler to writing large well structured programs?
#53MatLab is a disaster for this. Great software, but a horrible, horrible coding environment. I came from a CS background and did a EE masters. Working in Matlab made me want to cry because of the problems you're describing; I think they're endemic to Matlab rather than anything you're doing wrong. Source control will help, just look at some of the git tutorials. Go through them enough to where you can create a "releas…
Re: Ask HN: How’d you go from a noodler to writing large well structured programs?
#54I recommend making sure you have a disaster recovery plan in place. Essentially, do you have up-to-date and reliable copies of things off site, and a documented way (which you've tested!) to get your stuff back up and running using only those copies.
Re: Ask HN: How’d you go from a noodler to writing large well structured programs?
#55For me I have a folder for the project, withing that a library folder shared code and libraries, one for the configuration files changeable templates, etc., and another that contains the applications folders (one is the main application one for login, user accounts, maint, etc.) then the different apps I make go into their own folders within the apps one. If you are using multiple languages you might want to have language sub folders as well.
Makes referencing the libraries and config info less crazy and segregates your apps for modularity.
Again check some similar project your language(s) might have differing file structure needs.
Example:
/project
/project/config
/project/lib
/project/app
/project/app/main
/project/app/thisapp
/project/app/anotherapp
etc.
Re: Ask HN: How’d you go from a noodler to writing large well structured programs?
#56Sounds like you and I are in similar situations. I work in finance and am somewhat of a "DevOps" type of person, although much less so than I used to be in my previous company. That being said, I wrote 2-3 monsters in the past few years - all were projects that I worked on solely from scratch - no outside involvement. The key for me personally was twofold: 1) Owning the project solely, in its entirety, from start to…
1) We can likely section off large components of code within the group and start refactoring/rewriting from there.
2) This can be tough on a trading floor but I do prefer to code in large time blocks as well.
Thanks again.
Re: Ask HN: How’d you go from a noodler to writing large well structured programs?
#57Earlier quoted context omitted.
To add to this: what you have now is likely a 20% product - something on the level of a proof of concept. All of that connecting tissue that makes things robust can take quite a bit of work, and it's really hard to see whether it's robust or not for a while.
I wish this was an option to learn from a pro and see how they'd go through it but unfortunately I don't make the hiring decisions or control the budget.
Re: Ask HN: How’d you go from a noodler to writing large well structured programs?
#58Earlier quoted context omitted.
I wish this was an option to learn from a pro and see how they'd go through it but unfortunately I don't make the hiring decisions or control the budget.
If you can make purchases you can probably hire a consultant for a few hours so that someone can give you an informed opinion.
Re: Ask HN: How’d you go from a noodler to writing large well structured programs?
#59I work on a machine learning team that has gone through the exact same process. As others have noted, the biggest change for us was cultural. If you send me a message I would be happy to chat about it.
Re: Ask HN: How’d you go from a noodler to writing large well structured programs?
#60> Do you have a good book recommendation on project structuring?
Get it in source control and write some tests before you start hacking up the structure!