4 ms·
I started out in 2001. Back then I was working for some company as a graphics designer -- I had been there for about 1 year (fresh out of school) -- building th
by exch 15y ago
I started out in 2001. Back then I was working for some company as a graphics designer -- I had been there for about 1 year (fresh out of school) -- building the layouts for their countless websites. Back then the whole internet industry was about to collapse and I could see the proverbial axe dangling over me come the end of my year contract.
A coworker of mine was responsible for the programming. Mostly perl and php. I had never touched a line of code. Not even HTML. I was doing everything a-la WYSIWYG. The mere thought of having to write code made me cringe but it was obvious that I had to adapt if I wanted to keep receiving pay checks. So I set out to teach myself everything I could about programming in the boss' time.
I scoured the internet and read every bit I could find. I started out with BlitzBasic[1] and C# (It was in beta back then). To my complete astonishment, I actually /really/ loved every bit of it. Since then I quit my job and went home to become a halfway decent programmer. I was adamant that this would be my new career path. And I succeeded!
Around 2008/2009, C# was into its 3rd iteration if memory serves. I had left Blitzbasic behind a long time ago. I was still enjoying every minute I could spend typing code. However, C# had some traits that really started to rub me the wrong way. The 'everything is an object' OOP mentality, coupled with the pretentious and obtuse habit of corporations to not give a shit about skills unless you can recite all design patterns by heart, really made me lose faith in the whole programming thing.
Fortunately, that's when Go[2] came into view and it allowed me to fall in love with programming all over again. I've never looked back to C# since that day. In the meantime, I've also picked up C, Scheme, Forth, Factor and a host of other languages I love working with.
I am very much a D.S.L. kind of guy but Go is definitely my primary go-to guy for most stuff.
[1]: http://www.blitzbasic.com http://www.blitzbasic.com
[2]: http://golang.org http://golang.org
- mig156 15y agoI was a business major and just found this great site and started teaching myself programming a year ago. I started with Python...the question that always nags me is that,in what situations (in programming) would this deficiency become a problem?
- moilolita 15y agoThe fundamentals of programming are the algorithms & data structures. If you know these and you are able to implement them in a (compilable) programming language, you can call yourself a programmer.But this is just the beginning. In order to have no problems in one field of programming, you must know well the algorithms&data structs used in that field(web programming is very different from 3D engines programming or embedded devices programming or signal processing and so on). If you know web programming using python, you are perfect for jobs in that area but everything else will be a "problem" until you acquire more knowledge. So welcome to the club of perpetual learning.
- antihero 15y agoI think it's also important to be able to look at your habits and the habits of others and create something that is the right trade-off between being abstracted/concise/readable/writeable/efficient/elegant.
- anacrolix 15y agoIt's not a problem whatsoever. Starting with Python means you'll be focused on solving problems, rather than satisfying the compiler. It also teaches you to choose the best data structure for each task, and not to focus prematurely on performance. All the major paradigms exist in Python, and CPython uses native threading so you'll have no trouble translating your skills to C/C++, or even Java/C#.
- hackinthebochs 15y agoYou didn't mention your career path after you quit your design job to develop your programming skills. I'm curious how you landed your first job without a piece of paper and do you use go in your day job?
- exch 15y agoI spent 2.5 years at home learning. To eat , I took part-time temp jobs. Anything that would keep me at home most of the time, while still enabling me to pay the bills. After that I got a job as a C# developer for a company. Without any working experience (as a programmer) or paperwork, I knew this was going to be difficult. It turns out that some companies value enthusiasm and the ability to demonstrate you can and will learn fast, as more important. I had both of these on my side, so I got the job. I did not have a Github profile at the time, but I made sure I showed them a CD with my most notable homebrew work. I would advise a Github profile instead though. Just put everything on there that you feel might be worth it. Even if it doesn't really have any use. It's about the way you write code and go about solving problems that is interesting to the interviewers.