HN user

devuatl

8 karma
Posts2
Comments4
View on HN

Great job! Really inspiring. I love hearing about ideas how to introduce programming to people without cs background, nor (I assume) any prior interest in software development. I liked the part about communication - that's something they never teach at the universities. Btw, what did you use for editting? Some sort of an IDE, or maybe something lighter? For begimners I've always thought something like notepad++ or gedit should be enough (for the sake of syntax highlighting, wchich makes code so much prettier).

Ha! Couldn't agree more with you!

At my current job we're working with our own framework. I think it has two main downsides for my employers: 1) Employees are difficult to replace - they invested a lot of time in me, to teach me their stack. 2) New employees are difficult to introduce - fresh developers keep asking questions, disrupting the workflow.

For me it's a mixed situation. In short term I know I'm safe - why should they sack me? But in the long run I'll end up with untransferable skillset.

Programming is a trade of great skill and requires enormous amounts of knowledge. Whereas one has to be self-taught it doesn't mean one is alone. It is something I found out when I got my first job.

I joined a small team at a startup. Those guys did their best to make me produce quality code as soon as possible. They were reviewing my code several times a day, and teaching me what to do to, to make it efficent, easy to understand and well designed. Early on they even made me read the "Clean code" and I am eternally grateful for this.

Now I think part of being self-taught is actually having to find teachers on your own. Software Engineering is always about knowledge - whenever you code, you're probably solving a problem, which hasn't been solved before. Otherwise you'd just use some library to do the trick. It means that programming is about inventing new stuff, and so when you tell someone about your code, you're actually teaching them about it. Whenever you join a new project, someone has to teach you how to work with their system. If you're independent contractor building software for your client, you have to learn their ways of doing business.

High tech jobs are all about knowledge transfer, this way or another.

During my college I didn't learn that much from my professors, when it comes to software engineering in the trenches. I did learn a lot during college though. It was a time of meeting other people who were passionate for technology. We could exchange our insights, and do college projects our way. We would give each other feedback on our work, and so we were actually teaching each other.

I think above applies to meetup groups, code retreats and similiar initiatives. Programmers gather together to learn. Software engineering is all about knowledge transfer, and you have to want to learn, but it doesn't mean there's nobody to teach you. You just have to find your teachers on your own.

You are self-taught, but never alone!