11

So, I have a bit of a question for you guys..

I'm a self taught coder, but I think I lack some elements regarding the architecture side of software development.

Does anyone have some valuable sources to learn about it?

Thanks in advance :)

Comments
  • 3
    Sometimes magazines are a good source of knowledge. But as far as I have experienced it myself there are huge difference in coding standards but one thing they all had in common. Being able to write tests and knowing about continuous integration is very important. In my case (php) I always recommend trying out teamcity as a good-to-use ci and the usage of phpunit and maybe selenium. This and work experience is all I needed in my job so far
  • 1
    @sumzor Thanks for your input :)
  • 1
    Might be good to look into some commonly used design patterns. You might've used them, but it's good to put a name to a pattern while learning best practices and conventions.
    It helps understand why a technique might work well in one scenario, but not so much in others.
    Anyway, good luck.
  • 1
  • 4
    Anytime. I taught myself too, but I did it in a strict regimen.
    I started it after 10 years in the army, so I had been reprogrammed myself.
    But there are things we end up missing if we aren't diligent in our efforts to avoid the hilariously named "higher" education route. Not sure if you have an account, but Pluralsight has some great design pattern tutorials.
    The best one I saw was a C# one which might not be your bag, but conceptually, many patterns are universal.
    A singleton is a singleton, the repository pattern is pretty universal, the wrapper pattern and so on.
    Anyway, all the best.
  • 2
    I guess this as well? https://12factor.net

    I come from Ops world and learnt a lot about what NOT to do by seeing systems break in Production.

    A lot of it comes back to how robust and app is, and how it handles failure of components, like if your app calls and external service, how do you handle that service being down, or slow, especially if it's in the middle of a transaction. Other times it's performance or some combination of data that wasn't regression tested, so building up your automated suite of tests that can be run everytime you build a new version is also important (automation is the way, minimal or no manual testing). Your test suite won't be perfect up-front but you keep adding to it as you find weird scenarios that should be covered going forwards.
  • 1
    @txCodeWizardry @deMark

    Thanks guys, really appreciate the info :)
  • 1
    Read:
    -Design patterns by the gang of 4(or the design patterns wiki is pretty good)
    -The pragmatic programmer

    Plus some books/articles on continuous integration, agile, uml, ect

    So many wonderful books. Clean code as well.

    Hope this is helpful :)
  • 1
  • 2
    I was self taught too and I strongly recommend you get a solid education in software engineering because companies are all moving towards engineering instead of just programming or developing. In my professional career I've met many self taught developers and they all lack some important knowledge here and there. Many topics you will be familiar and experienced so they should not be hard to complete.
  • 2
    @luper @CodeMasterAlex @Ignisor Cheers! Very apreciated :) I am indeed intentioned to get a degree in Software Engineering after high school. Then move to the InfoSec field.
Add Comment