wtorek, 15 stycznia 2013

youtube educational value

When browsing youtube one can find great tutorials, like this one:
the new boston

loving it



In this short video, a young woman talks about how she began her adventure with computer programming and how her IT skills allow her to enjoy the type of work she does right now.

codeavengers




Michael Walmsley, the founder of Codeavengers.com, talks in this video about the idea behind his site.
He was inspired by the enthusiasm his younger brother showed while playing computer games and managed to add gaming features to instruction in programming basics to encourage even a complete novice to learn to code while having fun.

niedziela, 13 stycznia 2013

sobota, 12 stycznia 2013

sites where you can get empowered

I just found this little blog (in Polish) that can motivate me to work on my goals.

Here, you can read about the best ways to learn coding for free. Check out this follow-up article.

If you ever wondered, coding is one of the skills you can learn without going to university and one that will dramatically improve your chances of finding employment. Read article 1 and 2 to find out more.

The most popular tutorials for learning web building come from w3schools.

A blog for web designers.

This is the tutorial I started with.

You can learn internet technologies from Mozilla Developer Network.

You can gain great IT skills for free at udacity.

CS courses are now available at Khan Academy.

I just found this little tutorial on HTML and CSS.

Here's a great tutorial on how you can learn programming (Polish).

Nice review of codeacademy.

This site allows you to learn the most popular languages; it includes a full java course:
You can learn Ruby here, with a subscription of $10 per month.
Now, familiarize yourself with PHP.

Things you need to do after your website is finished:

motivate yourself

I will quote some very interesting passages from articles about becoming a successful IT person. I found them very motivating.



Having interests in multiple technologies is a very, very good thing, because you will diversify your career portfolio this way. And although it seems like an ocean of learning, really all you need is that first push in each of them. Yes, they are vast fields; however, a majority of IT professionals do NOT know everything there is to know about them -- just enough to get things done. 


If you look at the big picture of Information Technology, it's overwhelming how many technologies there are to learn. But the truth is, everyone who succeeds in IT has a niche of several technologies in which they have an interest.


Learning on your own is fine as well; just be sure to create projects that can be viewed by an employer.


Big dreams are the best start; you're already halfway to your goal simply with your excellent attitude.


[...] academic record is generally not so important as experience and accomplishments that can be proven on a resume. For instance, an American employer would probably not look at your school transcript, but she would certainly look at the URL of a website that you built and listed on your resume, and this would factor heavily into her decision to hire you as a web developer. 

In any direction you choose, I must stress again that it's not necessary to obtain a PhD in every single technology. Just be sure to have fun and try new things, and you'll find that once you see what you're capable of, your career will follow naturally. 



About Matt Andrews, a web developer for guardian.co.uk:

Matt studied English at university in Leeds and is therefore keen to emphasise that a degree in Computer Science or similar isn't a requirement for building websites - all you need is curiosity, creativity and a desire to learn.


testing yourself:
Nawet jeśli nie mamy zdolności w tak specyficznym kierunku, jakim jest programowanie warto spróbować swoich sił i zobaczyć czy nie mamy przypadkiem ukrytego talentu.


from the girlscancode blog:
  [...] chcę realizować swoje marzenia i udowodnić, że naprawdę wystarczy bardzo mocno chcieć i bardzo dużo działać, by osiągnąć swoje cele.


From an article on coding skills:
In the end, there’s nothing better than getting your hands dirty and learning by doing. Mess around, have some fun and realize that you’re not supposed to pick everything up immediately. Take it one step at a time and then make something awesome.

from an experienced programmer:
Dodam że warto wyznaczać sobie cele które przekraczają nasze możliwości - tak uczymy się najwięcej. Nawet jeżeli w końcu nie skończymy danego projektu, to i tak dużo się nauczymy w ten sposób. Przy okazji, ważna uwaga - dużo osób rozpoczyna jakieś projekty, które po jakimś czasie porzucają, i nie biorą się za nic nowego, ponieważ męczą ich wyrzuty sumienia że porzucili poprzedni projekt, i chcieli by go dokończyć. To że nie kończymy własnych projektów jest jak najbardziej normalne (czy też "jak najbardziej ludzkie), i najgorszą rzeczą jaką możemy zrobić to pogrążyć się w wyrzutach sumienia. Zamiast się zamartwiać że nie skończyliśmy tamtego projektu, weźmy się za następny - tracimy tak dużo mniej czasu, a i być może po kolejnym projekcie wrócimy do poprzedniego. Oczywiście mimo to należy starać się kończyć projekty, ale gdy już projekt padnie, powinniśmy po prostu wziąć się za następny, i spróbować jeszcze raz ;>


[...] pomagając rozwiązać problem innym, sami uczymy się go rozwiązywać. A nawet jeśli wiedzieliśmy już jak to zrobić, to często dowiadujemy się czegoś nowego, lub po prostu utrwalamy sobie trochę informacji.


Jeżeli uważamy że staliśmy się wystarczająco silni z jakiejś dziedziny, możemy spróbować również napisać jakiś artykuł, kurs czy tutorial. Przy okazji tworzenia takich rzeczy bardzo często musimy przeprowadzić trochę dodatkowych badań jak coś działa, czy poszperać w dokumentacji by upewnić się że faktycznie jest tak jak piszemy - i dzięki temu uczymy się nowych rzeczy, jak i utrwalamy sobie to co już wiedzieliśmy. Dodatkowo, taki artykuł może przydać się w przyszłości jakiemuś mniej lub bardziej początkującemu programiście ;>
czymś innym jest proszenie o rozwiązanie własnego problemu, a czymś innym jest proszenie o radę o lub o komentarz dotyczący naszych zaproponowanych rozwiązań. Jeżeli koniecznie chcemy już z kimś porozmawiać o problemie, to wymyślmy kilka rozwiązań, i przedstawmy je osobie którą uważamy za bardziej doświadczoną - wtedy nie "zwalamy" odpowiedzialności za rozwiązanie problemu na nią (bo sami wymyśliliśmy już kilka rozwiązań), a możemy się czegoś ciekawego nauczyć. Po za tym zapewniam was (jako swojego rodzaju konsultant) iż dużo fajniej rozmawia się z osobami samodzielnymi o ich rozwiązaniach, niż rozwiązuje, zazwyczaj błahe, problemy ludzi uzależnionych od pomocy innych.


gaining experience is easy:
All we need is ambition. Ambition will give you everything you need. You don’t need a client to get experience, you just need to find an open source project to develop for or create your own things if you are a developer. And if you are a designer you get off easy; just open photoshop and start designing stuff.


this is what you need to become employed:

programmer

We are currently looking for programmers, the kind that write code because they like it. If you enjoy crafting beautifully designed, elegant code, please do consider . Ruby experience is not mandatory.
There are several things that characterise the kind of people we'd love to work with. If you do some, or all of the things in the following list and are looking for a new place to work, we're likely to get along well.
  • You care about writing code, and writing it well
  • You are a polyglot programmer and are comfortable with several programming languages
  • You are passionate about products and product design & development (see RubyMonk, our first product)
  • You test drive all your code
  • You are familiar with eXtreme Programming (XP)
  • You contribute to open source projects
  • You love both teaching and learning, and take pleasure in getting better at what you do
  • You want to work with like minded, intelligent people you can have a real conversation with
  • You aren't overly fond of conformity, especially in the context of being a faceless cog in a big company
  • You value decency and integrity, and prefer working with other people who do so too

People who come across us for the first time have a few standard questions. Here's a quick FAQ listing the things we're often asked:
  • Q. Do I need to know Ruby?
  • A. It helps, but isn't essential. We're far more interested in you as a programmer than as a ruby programmer. A good programmer can always learn a new language and pair-programming accelerates the process greatly.
  • Q. I'm not sure I have enough (or the right kind of) experience for the kind of work you do.
  • A. This is always a valid concern, but it never hurts to avoid assumptions and talk things over. Get in touch with us and we can figure things out.
  • Q. I'm fresh out of college with no work experience and am looking for my first job.
  • A. If you've been hacking code for many years, have several personal projects outside of academic requirements or have contributed to open source then we'd love to speak with you. We aren't particular about your marks nor do we require that you have a CS background. Please ensure that your email includes links to your project work, Github profile and GSoC work (if applicable).
  • Q. I have financial commitments and can't afford the salary cuts that moving to a startup often entails.
  • A. Who said anything about salary cuts? We pay, and pay well. Not as well as, say, Google, but definitely above the industry average.
We do understand that this is a rather eccentric job description and slightly vague to boot, but more traditional descriptions don't seem to work too well for us.



this is how we learn:


While you are studying programming, I'm studying how to play guitar. I practice it every day for at least 2 hours a day. I play scales, chords, and arpeggios for an hour at least and then learn music theory, ear training, songs and anything else I can. Some days I study guitar and music for 8 hours because I feel like it and it's fun. To me repetitive practice is natural and just how to learn something. I know that to get good at anything you have to practice every day, even if I suck that day (which is often) or it's difficult. Keep trying and eventually it'll be easier and fun.
As you study this book, and continue with programming, remember that anything worth doing is difficult at first. Maybe you are the kind of person who is afraid of failure so you give up at the first sign of difficulty. Maybe you never learned self-discipline so you can't do anything that's "boring". Maybe you were told that you are "gifted" so you never attempt anything that might make you seem stupid or not a prodigy. Maybe you are competitive and unfairly compare yourself to someone like me who's been programming for 20+ years.
Whatever your reason for wanting to quit, keep at it. Force yourself. If you run into an Extra Credit you can't do, or a lesson you just do not understand, then skip it and come back to it later. Just keep going because with programming there's this very odd thing that happens.
At first, you will not understand anything. It'll be weird, just like with learning any human language. You will struggle with words, and not know what symbols are what, and it'll all be very confusing. Then one day BANG your brain will snap and you will suddenly "get it". If you keep doing the exercises and keep trying to understand them, you will get it. You might not be a master coder, but you will at least understand how programming works.
If you give up, you won't ever reach this point. You will hit the first confusing thing (which is everything at first) and then stop. If you keep trying, keep typing it in, trying to understand it and reading about it, you will eventually get it.
But, if you go through this whole book, and you still do not understand how to code, at least you gave it a shot. You can say you tried your best and a little more and it didn't work out, but at least you tried. You can be proud of that.



poniedziałek, 7 stycznia 2013

internet building art

To celebrate the beginning of the New Year I decided to become more technical and learn some technology behind creating websites. [text in Polish]