
Ask HN: What are things self-taught devs don't get right about code/tech? - ows
I consider myself a fairly decent coder, as in I can get code to do what I want and usually manage to make it somewhat optimized. But, as any self-taught dev, I feel there&#x27;s a few obvious I miss from not having had a formal education in the subject&#x2F;years of experience as a junior dev.
What would you say are the main things self-taught devs lack that only formal education&#x2F;industry gave you?
======
mattgibson
It took me quite a while to really understand the correct assignment of
responsibilities to objects and how to refactor them when things got tangled.

I would follow framework conventions, but get lost when leaving them and end
up with spaghetti. The code worked, but was hard to maintain and reason about.
I've now learned a lot about core OO concepts e.g SOLID, and learned about the
role of sequence diagrams in mapping out what each object's role is and it's a
totally different experience.

I'd recommend Practical Object Oriented Design in Ruby by Sandi Metz for a
great introduction to thinking clearly about objects. Not Ruby specific -
that's just the code examples, really.
[http://www.poodr.com/](http://www.poodr.com/)

~~~
ows
Good example! I try and apply myself to split things in self-sufficient
services but can't really say it observes strict OO conventions. Also,
refactoring is a newly acquired taste, and I'm not even sure I do it right.
Basically just try to untangle things as the project gets bigger / more
complex.

Will have a look at your link, thanks!

------
Artemix
I'd say group-work.

I've been developing some services for some time already but was never able to
easily/cleanly work in group, or even think in so.

Of course, it may be a problem related to the way I think or so, but I see it
as quite common around where I work.

~~~
ows
Yeah, having never collaborated with someone else on a project I can't really
grasp how you don't get it all messed up + have others fix or maintain your
code at some point. I assume style guides are nice for that, but seem a bit
too much for a brand new project

