Being a Programmer

Started by Kiwa, September 06, 2015, 01:50:27 am

Previous topic - Next topic

Kiwa

Hey freinds,

Ive been coding on and off forever. but never getting too deep into it.
Lately I've considered cracking down and getting into programming as a career. I'm sure many others are probably interested in this too.
When I started using RMXP and trying to develop android Apps I learned programming classes and online lessons are completely different from this new world
I'm immersed in (making games or apps). I'm finding it more and more fun. but more and more difficult.

I was Hoping to start a thread for people to share their experiences as a professional, independent, or hobby programmer.

- What's it like working for a software company?
- What's it like working freelance coding?
- What was shocking entering the field?
- What are challenges you've come across?

- How did you overcome it?
- How did you cope with it?
- How did you fall into ot?
- How did you decide.

-Did you go to university?
-Did you start your own company?
-Did you get in a company without a degree?
-Did you O a programming boot camp?

talking to a friend of mine (his story was boring)
It paid a lot of money and he didn't wanna do too much physical work.

another girl I know said:
she started with engeneering. but she had to use C (or something) she enjoyed it so she started making Web apps.
She loved making small python apps for Web browsers. she applied for an engineering job but they liked her experience in programming so. they ended up paying for her to do training in Java and she became a Java programmer just by chance.
now she loves it.

This story was so cool!
I'd like to hear other people's experiences. perhaps it can inspire others


Sorry for the long winded post (as usual).

Hope to gear your great stories!

Blizzard

September 06, 2015, 04:44:48 am #1 Last Edit: September 06, 2015, 04:57:38 am by Blizzard
Ever since I was 3 years old I wanted to make video games. So I directed my education in that direction. I went to a technical engineering highschool since it was the closest thing to working with computers. I held off with learning how to program until I came to university since I was thinking "they will teach me the right way to do it". In my 2nd semester I found the RM community and started working with Ruby a lot. This is how I learned programming. In my 4th year I met my now-boss at Cateia and started working for them 2-3 days per week on a game with a friend. The two of us did the coding while one of Cateia's graphics artists did the 3D graphics and the other one did the GUI. It took about a year and I continued working on various more games the next year (some of them smaller, one was a sequel to the first game). Right when I was done with university (after 5 years), I got employed by Cateia full time (even though I was actually working full time in my last semester since I only had to do my master thesis during that semester and my master thesis was my game Chaos Project). In October it'll be 7 years at Cateia for me. :)

Now to your questions more directly. Working for software companies is usually mentally stressful, even in a good environment. While some companies have completely unrealistic deadlines and are consistently late and overworked, in others things are done at a normal pace. It really depends on the company. At Cateia we're good at setting deadlines so usually we only have to work a bit overtime maybe a week before the deadline, if even then. We did a project recently with a partner and the deadlines we not set by us. It sucked pretty much. I had to work overtime for about 6 weeks. In the last week I worked every day 11-12 hours, on the last day it being even 16. We swore this will never repeat again.

I tried to do some freelancing, but didn't really get far with it. But as far as I know, the current situation is that there is a huge competition. So if you want to work through freelancing websites, you should be prepared to work under the average wage for software developers. You may be able to find partners yourself that pay you decently, but that takes extra time.

There was nothing particularly shocking at one single moment. The only shocking thing was the slow realization how much code just about everywhere, written by most people is actually pretty bad or at least bad-ish and the systems they built can break at the slightest change somewhere. The Internet is a prime example of this. And then you realize how bad people are actually at coding in general (I'm talking about professionals). O_o;;;

One of the three most important challenges are to gain experience which is a slow process in itself in programming. I have about 10 years of programming experience now and when I look back at when I had 5, I know like 10 times more than I knew back then. Funny how I thought back then I was a good programmer and now I think I used to be just ok.
The other challenge is to accept bugs. Bugs are a normal occurrence in programming and part of a programmer's everyday life. There is no point in raging every single time something goes wrong. And having a big number of bugs doesn't make you a bad programmer. A good programmer will test his code thoroughly and ensure as few bugs as possible before it goes to any further testing.
The last challenge is to write good code. Refactoring is key and should be done periodically. e.g. I do some refactoring here and there after every project I finish. Usually it takes 2-4 weeks. I implement new features, refactor some old ones, fix some bugs maybe, etc. But all of this is easier said than done. It takes experience and needs time so deadlines usually fuck this up.

Spoiler: ShowHide
One completely new challenge I am facing now myself is how to make other people better programmers since we can't afford that code which will have to be maintained for years to come to be written badly. So far the only solution are code reviews, but they take a lot of time and the whole thing grows exponentially if you have more minions under you. I figured out the human resource management already, but this thing is a whole other beast and depends on the person. Some peoples' code really needs reviewing while others' is just fine.


You can overcome all of this with persistence. Absolutely never give up and with time everything will fall into place. I had my troubles coping with some things, but in general the best way is just to focus of what you are doing yourself. Just try to do your job the best you can as you can't affect others.

I did finish university, I have a master degree in software engineering and information systems. I didn't start my own company legally, but I'm probably at the brink of it since we already do make a decent amount of money monthly. I'll probably still stay with Cateia though, at least for a while. Education is great and all, but I learned so much "useless" stuff there that I don't know where to begin. I think that from all that knowledge I gained there, I am using maybe 10% of it now. On the other hand my Ruby experience is at least 90% useful right now since I learned how to build complex systems. The most important thing I did learn at university was handling stress. Seriously, being pissed, studying, exams and managing deadlines really gives you a tough skin in that regard. And I can see the same experience in everybody who finished university. I can also see the lack of it in people who didn't. So university does have its uses.

The best way to learn programming is to do it. No amount of tutorials can help you as much as typing some piece of code yourself. I suggest editing other people's code and see what happens as a somewhat advanced learning method. It's cumbersome and has a lot of trial-and-error, but yields great results. Other than that, Codecademy is fantastic for beginners (just google it).

EDIT: It might be getting more difficult for you, but at one point things will become easier. After you reach that breaking point, you will realize that programming is a skill that doesn't depend on a programming language and it doesn't even depend on the system or framework you're working with. At one point rather than looking up "how to do something", you will start looking up "how to do a specific thing in a language/system/framework you are learning right now" since you will know exactly what you want to do.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Kiwa

Thanks for the long detailed reply Blizz :D

my reply is gonna be to you. it will be kinda off topic. but hopefully someone else can get something from it.

When I was a child I wanted to make video games too.
At one point I did. I programmed with my T-89.
I made games with its basic language. this was half good and half bad.
I learned a lot on my own which gave me a bit of an ego. when I took classes in college for C++ and VB. I had already used them to some extent and gave this attitude
"I already know this crap" and I'd leap ahead of the group and make many mistakes in my code such as global variables rather than locals. or instead of properly using functions I'd use them as if it were an old language like basic. this in turn made it even harder to evolve as I thought I know things well and really had no idea.

I found RPG maker translated by Don Miguel and fell in love with it. as I could easily pump out games using other game resources.
this made me super addicted to making games . I'd pump out game after game in just weeks. sub part I'm sure. but this just furthered the ego "I can already do it..why do I need to learn this!? I can already make games".
I still explored eventing and making things like blinking characers, night and day, timed events for story cut scenes, changing animations such as climbing a ladder would switch the char set ...blah blah.
I still explored programming for a bit after that but kinda dropped it.

I switched my career to automotive which I picked up quickly and did well in. a lot happened in the time between 2006 and now 2015. but now I live in Japan. about 4 years ago I thought about making a game with rpg maker XP. that's when I found this site. I took a strong interest in programming again. you guys help ease me back into coding.
I did check out codecademy actually. completed ruby and Javascript there while I've been working on my RMXP game. wonderful site.
I also took a long break to study self development. as I realised I had a serious inferiority complex. making me feel like a victim all the time.
learning how to take ownership of my decisions and past while squashing that ego that I tried to hide behind modesty, really helped me learn about the world.
I'm like a completely different person from 3 years ago.
I regret not seeing this stuff earlier and taking the risks I did to get myself where I am today.
I feel like I only just started my life at 30. lol.

I really recommend doing some serious self reflection and listening to debates and philosophy . it will do wonders for personal development.
I would also suggest that starting from how to assign variables 10 times or 15 times or 25 times is not a big deal.
you may learn something new from a different class,video, teacher, ect.
beware of the ego. it can block you from learning what you really need to know.
heck, that may e why so many people's code socks as Blizz said. lol.

if you want to program and your having trouble picking up programming, you may be your own problem.

anyway that was kind of a rant. thanks for listening.
I know it was off topic since I'm not a programmer.  but I think it may be relevant for others who may be or may have been in a similar situation.

thanks for the comments blizz, thanks for the free code, thanks for the site and this community. I hope others can be inspired here.

Blizzard

No problem, man. :)

Yeah, I've had my own troubles with ego-related stuff, but surprisingly never in programming. I also used to see myself as victim, but from the sounds of it, it may not have been as much as you did. In any case it seems that we went through some similar problems and changes.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Kiwa

What kind of work do you usually do?
Windows based? android? Web based? server? all of it evenly?
when I looked into it. I hear tons of fighting over Java, RUBY, and Javascript as THE language.

but them I'm told encryption is best, then server work is best. I think the programming bloggers are usually just blowing smoke. lol.
rarely do I hear about game programmers but to my understanding it's kind of a closed circuit. unless you're an indie dev.

Also. I'd love to hear things you had to overcome. I'm sure others would like to hear the store too. if it resonates with someone they may get inspired aswell.

Blizzard

We're mostly developing games on desktop machines (primarily Windows, some of us use a Mac), but we develop for Windows, Mac, Android, iOS, Windows Store and Windows Phone.
Java sucks ass, is slow and has some nasty quirks. I prefer Ruby over it any day. Python's pretty good, too. I will never understand why anybody would say Javascript is good, because the quirks of this language are so severe that you will make so many mistakes and not even know you made them, because the language likes to not tell you.

Encryption and servers are fine, but each has their own advantages and disadvantages. It really depends on what you're trying to do.

Well, I basically already said what I had to overcome. xD
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

KK20

According to the parents, I was able to operate a computer before the age of 3 and played a lot of games on our good ol' Mac (CD-ROMs galore). I think this along with my sister's gameboy fueled my interest in video games and, by the age of 5, wanted to fully pursue a career in it, whatever that may be. I liked to write and draw my many ideas at the time, converting some into makeshift books that I still have in a box. The actual coding part didn't come until around age 8 where I taught myself very basic HTML (I wanted to make my Neopets pages pretty ;-;). Never got into traditional programming until my 11th grade (age 16). Found "free" RMXP download at the end of my high school year and tried to understand Ruby having done Java for a year. Then college taught me the other things I would never have bothered learning on my own. Now I got my B.S.; if I want my M.S., it'll have to be at a later time.

Since I'm still waiting to get a job involving any kind of programming, can't answer those business-related questions. I fall in line with pretty much everything Blizz has said. CS is a broad field that nobody is going to be an expert at every little thing. You just find something that you like and stick with it while still being average at everything else. That's where making friends at college helps--you all have your niche things and learn from each other (unfortunately, I was mostly the one being leeched off most of the time). No hardships other than studying for tests that had no programming concepts at all (ugh software development and operating systems...too many terms...).

But that's pretty much it from me. My passion for game programming helped me out with learning new topics in CS fairly quickly.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Kiwa

Thanks for the reply KK20!

Ive leeched off of you too! Lol.
You and blizzard point out something very important I think we should all learn about or talk about (experienced with it or not).
That's "focus".
I, like many other people, Hop from subject to subject. Item to item. Hobby to hobby. And we never keep anything in our focus for very long.

This will destroy you. There is no such thing as a jack of all trades (which I proudly boasted my membership card for so long).
I think the jack of all trades was a way to distance myself from my irresponsibility.
"Well, I'm more of the jack of all trades type"  was my line when people asked why I didn't choose a career and stay in it.

Specialization is the most desired thing for employers. Of course having other skills is desireable. But you need a focus before you can be noticed.
Try putting "jack of all trades" in your resume and you'll be designated to the janitors closet.

We often hear that you need to be dynamic and multi skilled but I think it's far over emphasized.
If you can speak two languages and your a sales specialist. That's probably enough.

If you can do a little electric work and your a network tech. That's probably enough.

Being average at changing your tire is OK if you make enough to pay someone else to fix it for you once you get it to the shop.
That's how an economy works.

Average is average. Not bad. Find something worth your time which you enjoy. And work at it.

Kiwa

You started really young on Web design KK20. That's pretty great.
Seems we started code around the same time tho.

...see what I mean about focus? Lol.
Gameboy was a large fuel for me too. I was really interested in portable gaming.
Still am. Tho I don't like what mobile games have become. Icky...lol. But I gues it works.

Blizzard

Well said. It's good to know a bit of everything. But you should pick on or at most 2 areas where you want to specialize. I could have been a graphics artist if I had put time and effort into it when I was younger. But I liked programming the most so I specialized in that. I did music quite a bit, but for that one I actually have the least amount of natural talent so it took quite a while until my songs sounded decent, lol!
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

MarkHest

September 30, 2015, 02:37:29 pm #10 Last Edit: September 30, 2015, 02:43:03 pm by MarkHest
All I can do is offer a little story I guess:


I started studying C# and game programming just a year back and the amount of stuff that I've learned in just a year is amazing. Before I went to this school I knew NO PROGRAMMING at all (not even ruby). Nothing made sense at first. I didn't have the patterns in my head of what code was and how it was structured. I saw only numbers and words and it was all just a huge maze, I was really confused and thought to myself: "How the hell is any of this going to make sense??" (still do at many, many parts). But I was really enthustiastic about learning, though. That's a huge boost right there.

As time went on and I actually worked WITH the code, and also having a teacher to ask questions when I needed, I started understanding more of what all the different programming words meant and after even more time I learned their fuctions and how they were suposed to be used. After even more time I learned how to structure the code and things actually started to make sense to me. The maze was no longer a maze, it was now instead a library with carefully sorted books and I only had to know what order the books were.

I am by no means good at math... I'm actually pretty bad at it. Because of this I had(and still have) a lot of problem with my confidence in programming. I'm always thinking/saying to myself that I will never became a good programmer because I lack the knowledge to make quality code. But I've also realized that It's not all about the math, it's about how I read the code and how it all makes sense to me as a whole. I should be able to look at a code and at least make 20% sense out of it because programming to me is all about being able to properly read this so-called-maze and not just doing complicated math. It's about HOW you go about the thinking, not the calculating. Knowing this I can push through a lot of my doubts and keep going and learning more at a steady phase. Sometimes I think I should know more than I already do and that's just a personal problem of me always going back to my doubts.

But still, I push through that as much as I can and I want to send the message that you should go for what you really want. I myself think learning programming is a lot of fun, all while fightning doubts and fears of how to get better at it. I never give up and I hope that someday I will be experienced enough to actually get an employment in game-programming. I don't know how good a programmer I need to be to be employed and feel confident with it but I will keep learning untill I reach that point.
So far I'm only 1 year into learning programming from the ground up so I have HUGE amounts of stuff to learn and I know I can only become better by DOING IT. That's something I've learned about programming, you become good by DOING it. Like Blizzard said, you can't learn programming by simply reading about it, you need to DO IT and you need to do it A LOT for the "maze"(as I call it) to further make sense and to teach your brain the programming patterns. Things make sense more and more as you just keep programming. Never give up on what you really want in life.

I didn't think I'd write so much! I hope some of the things I wrote are inspiring and will give you some light on your situation. You most likely have more experience than me in programming but sharing experiences, challenges and how we overcome them can help light any situation. Good luck to both of us :)
   

Blizzard

Unless you are writing code for a very specific purpose, programming's underlying principle isn't actually math. It's logic. When you program, it's important to understand how the program flows and what the state of its variables is at any given time. Usually the most math you will use is incrementing variables and sometimes basic operations like addition, subtracting, multiplication and division if you are working with GUI related code or something else in a coordinate system. But that's about it. Usually the worst math you will encounter is trigonometry if you need circle-based behavior and angles. Beyond that you will rarely face any difficult math in programming.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Kiwa

Thanks for the addition Mark.

I  think it's fantastic you can keep the dedication to your hobby and your dream!
Something I have noticed in life is that External motivators get you started and often passionate.
But that passion fades without action.
without action we never invest and gain an internal motivation.

I think your story is a good example of this. And I think we can learn from it.

Thanks so much for the input :D

PS
like you, I find it funny how often it was stressed that I needed to be a math wizard to program.(not that im good by any stretch of the immagination)
You'd think that id be good at OOP too...because of all the dots I usually use between my words :P
PPS
I think I have you on my Guild Wars 2 friends list. lol.

Ryex

While I'm still actually in university and presumably will be for another two years I'm not technical the target answerie of your question. However I fee I can contribute to this discussion a bit.

Personally I was fascinated by computers from the first time I saw one. But until recently (as in the last year or two) they were black boxes to me on the hardware level. Now I could explain how a computer works form the ground up from the fundamental physics to the internet browser and every layer of abstraction in between, there are some layers that a still a little fuzzy but I'm confident I understand enough to clarify them on my own.

The reason I first got into programming was because 1) I'd been interested since elementary school in just how all these application I'd been using worked. and 2) I wanted to make a video game and RPGmaker let you use ruby to extend it's system.

It stared out with me understanding next to nothing, just into highschool I had done some simple ruby tutorials with the interactive prompt I knew the basic syntax concepts and that was it. then I decided to attempt a simple project. Create a simple menu system that was closer to the look I wanted. I did this by reading the code of existing menu systems and copy paste, tweaking code. took me about a month and lots of frustration. And that's basically how I've always taught myself. I pick a project I perceive as outside my abilities but achievable and work towards it. I later created another revised event system more form scratch than the first and later created a new battle system layout.

In that early time I was constantly frustrated at the passed I was learning. it seemed frustratingly slow to me. I tacked many project, Jumped onto others to help. and eventually I realized something had changed. Reading programming code no mater what language it was in or if I had seen it before was no longer an supersize in syntactical evaluation. I understood  in a way close to natural language what any one piece of code was trying to accomplish. I was still far from a full fledged programmer but It got a lot easier form then on.

I'm still trying to earn a degree in Computer Science at a University that is notorious for how difficult it is to graduate form but the courses that give me trouble aren't the CS ones (I'm really looking forward to the class on compilers), it is the general ED courses like Physics and English. In the beginning I didn't understand why I wasn't succeeding but now I know it's because when something doesn't draw my full attention it draws next to none of it. I'm just going to have to buckle down and work. but that's all Tangential. Point is that while I've interviewed with places that would like to hire me as a programmer, they all want someone with a higher GPA dispute loving my extremely evident skill and knowledge level (their words not mine). As such I've had to settle for other project to sate my desire to create.

Recently I've done a bit of work for the campus radio station. They hit a rough patch a decade back and had their FM licence revoked and had degraded since being forced into an internet only stream. I set up a consume Arch Linux image for them, set up icecast to stream. wrote a liquid soap script to do automatic gain control and output to 4 different encoding formats (MP3 320 & 128, and AAC+ 64 & 32) Then I wrote some automation scripts for them. library dupe finder via SHA hash, check library to ensure songs have lyric tags and search the lyrics for explicit words, script that pulls the current song metadata from the icecast server and pushes it to TuneIn to update the station metadata, because for some reason TunIn doesn't do that automatically from the stream itself. And I also wrote a interface for the iTunes search api so the webpage could display the album art of the last played and currently playing songs. All simple stuff most of which took under an hour a piece but I liked to work. There are plans to write a few peaces that can list off the most requested and highest rated songs so they can do a weekly to 10. and give them a way to find all the songs in the library that ITunes can't find art for (potentially because the tags are bad)

At this point I'm fairly confined that if there is something that needs doing I can do it in a timely manner (so long as I can reference documentation)

When I talk like this i makes it seem like I've always know I wanted to be a programmer, and it could be argued I did. However back in 2010 when I graduated I was split between two choices. Aerospace Engineering (Mechanical Engineer with a focus on making things fly), or Software Engineering. My parents convinced my that "I wouldn't like sitting at a computer being a code monkey all day'. Took me 3.5 years, the loss of all my scholarships, and a 1.2 GPA to realize the only academic fun I'd had in forever was helping my roommate with his C homework.

Anyway that's my story, Hope you enjoyed it.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Kiwa

October 08, 2015, 12:08:30 am #14 Last Edit: October 08, 2015, 12:14:33 am by Kiwa
Thanks Ryex,

Even tho you are not a programmer professionally at the moment doesn't mean your not a programmer. you have proven yourself to many people on this site alone.
your story is really good. congrats on the work with the radio station. that will be a wonderful addition to your resume!

I know a lot of places out there deny people because they don't have the academic exp. but these days it seems companies are getting in influx of people with degrees who are basically useless.
a degree seems to be less and less valuable these days and even a liability in many cases. seeing that he person has no experience and believes he or she is entitled to a great salary with their own terms and conditions.
all of their big scary requirements are probably acting like a noob ward to scare away the entitled nubs.

there's a nice message in your story I'd like to bring out in a quote from someone else.
"Have the courage to follow your heart and intuition, they somehow already know what you want to do."
-Steve Jobs

tho I don't like apple. he had a great philosophy for business and even life.

a quick story about degrees.
I used to be a mechanic. I  made trash for pay. but I was really interested in doing it. I studied hard to get everything I could.
in my area was a very famous automotive school. it cost as much as a 4 year University degree for a 1 year program.
I didn't join. I thought "I can do it by my self" and I did. slowly but surely.

in my company we hired a graduate from that school. he came in like he owns the place.
proud and boastful about his turbo Mustang and Mitsubishi Eclipse that he put the turbo in all by him self. and he street raced those civic losers..blah blah.

one day, shortly after his starting day, the dude drained the oil from a car and replaced it with windshield wiper fluid.
I managed to catch it before he started the car because I saw the washer fluid bucket on the engine block and the oil cap off.
I walked over and asked him to hold on a  second. took a look and...vuala ....Wiper fluid in the engine.

a graduate from one of the most prestigious automotive schools made a huge mistake and the day was saved by a loser dropout who learned from exp only.

anyway sorry to hijack your story with another. but I wanted to highlight that determination > paper
on top of the point that you should follow your heart, which you brought up in your story.

Thanks Ryex.

I hope others can join in on this. I'm enjoying everyone storise! :D

Blizzard

I think you should give the guy a break. Everybody makes mistakes. Sure, this is a big one, but mistakes happen.
Though, this only makes sense if he understood the mistake he made and it was an actual mistake, not something he did out of sheer inexperience.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Kiwa

Well, I pointed it out and we had a good laugh.
I didn't say anyhting bad nor did the boss.
I'm not calling him names either. I think it can be seen that way from my comment earlier about the useless people with degrees.

He and I became friends.
He also stopped working on cars after a year or so at the shop.

my point wasnt to belittle him. but point out that a studied individual doesent equal a superior individual.
A lot of people come out of universities in the states believing they can make in the 70k range and get a huge house.
have  a 9 to 5  work no over time.

this belief causes a lot of sour reception by other employees and the employee himself.
he may resent the job and the company and it will reduce his performance.

not to mention a large percent of students who graduate get a job in a completely unrelated field. as did my mechanic friend.

Blizzard

Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Soulshaker3

QuoteI know a lot of places out there deny people because they don't have the academic exp. but these days it seems companies are getting in influx of people with degrees who are basically useless.
a degree seems to be less and less valuable these days and even a liability in many cases.


This is somewhat related to me. As some of you know I work at as Web Designer but unlike 99% of the people of this company I do not have a degree neither I have ever been to university. I am 17 years old but the guys decided to give me a chance after they saw what I could do in a period of 1 month and a half as a student intern from high-school. My evaluation was if I remember correctly 18/20 overral and they made me a 9 month job offer to further see my skills.

So getting to the point, I have seen many people that have a masters degree here and are even worse than I am (a 17 yo boy with no college experience) and that made me realize degrees are meaningless for the most part. Even tough I'm still an intern (but now I get paid unlike when I was at school) my experience in the field grew exponentially in the time I've been here.

Since very young I was a very talented guy, could do pretty much everything without any kind of effort... and what I couldn't do I just dropped out of it. I hated that part of myself. That is the main reason I didn't got into college as I failed the entrance exams, because, I made a different life choice and my country is so proud of its educational system, that when we make something different from the "normal" people we get forgotten. For that reason I wasn't taught anything that the "normal" kids have. Still I had the same entrance exams as them even tought my area was completely different. Funny isn't it? And programming was the first thing that I hadn't really the "sinergy" to begin with.

I mean once I got into it for a few days, and I got the basics of it, the rest was pretty much automatic (like always), but if I hadn't had that first effort (really my first effort in life) my life could be completely different at this point.

So to finish off I was really lucky even tought I don't have a degree to get a job on the field (which is rare in this country, even with a degree), hell it's rare even to get a job here! Fucked up country I live in. Pretty sure my hobby as a game developer made me get this job as it increased my skills by a lot.

Anyways I hope u enjoyed this story of a "strange" guy in a "strange" life.
Hellow?

Kiwa

Thanks for the addition Soulshaker.

This is proof of what I had mentioned.

I'm so glad that it could work out for you. It may not ever have worked out if it werent for your own effort.
What languages do you use most of all as a web designer?

Soulshaker3

Here we use the standard languages for Web Design

  • HTML

  • CSS

  • Javascript



As for the Server Language we use C# as we only develop (at least my sector) for ASP.NET platforms (SharePoint, Umbraco, MVC, etc..)
Hellow?

Kiwa

Thanks Soulshaker!

I havent tried out CSS at all. but i often see  it paired with HTML and JS.
I have to look into how they work together.

I really enjoy JS tho. I think It's taught me the most about OOP (tho ive heard people say its not a REAL OOP language).

KK20

JS is object-oriented, but I highly don't recommend using that to learn OOP. Ever.
I've been getting asked a lot about concepts in C++, C#, and Java in my interviews. Giving an example of encapsulation via Javascript would be laughable honestly.

I've also never had a formal class in learning OOP. My high school Java was mostly "this is what this syntax does, this is how you do this, now solve this problem for me". And since I did that so well, I was able to skip the first two college courses which covered OOP in C++. So yay me teaching myself a language I never used once in the first day of class. :U

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Kiwa

Thanks for that input KK20. Id love to hear what you reccomend, as i value your opinion. I think JS still feels linear to me. so i feel comfortable and dont feel as confused by OOP. I understand the basic idea of OOP but theres something that just doesent click yet.
I'm one of those really difficult students....My mind functions in odd ways. My friend who got me into programming used to laugh at my code when I started.
he said "how does this even work? It doesent make sense...your code is all over"
but the truth is i didnt understand it but got the results.

one day while staying up over night trying to make an RPG battle system in TI-89 Basic. I spent hours and hours and hours. around 4 AM. the sun was coming up. my room had a nice orange glow to it.
I ran the game...
CLICK!
It all made sense.

I made so many programs and games for TI-89. I understood that language so well. It was technically my gateway language.
It takes time and expermentation. and fiddling with other peoples code.
That was the first and the last language I invested that kind of time in.
My point is i havent invested enough hours in this to fully understand it.

What do you guys reccomend as a first OOP language? many webpages say Python.

Blizzard

Yeah, Python is great for beginners IMO. C# is good, too, but Python isn't strong-typed so learning stuff is easier with Python.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Ryex

that depends on what you want from an Object oriented language. I think there is a lot of undeserved hype about OOP, it's not a be all end all language type and while it does make the typical set of programming problems easier it's obscures a lot of other things that are important to understand in programming.

Python is probably the purest OOP language you'll ever find if you want to understand what OOP is about then really delve deep, Python acts as you would expect on the surface but the "Python Way" is probably the closets you'll come to a perfectionist's view of OOP but the things that ARN'T inside the "Python Way" but can be pulled off show what you can do when everything is an object.

Ruby takes a different view of OOP, most things are objects but there a lot of "messages" passed around. Playing around with the depths of ruby is probably the fastest way to figure out OOP

JavaScript is ALSO OOP dispite it's apparent lack of classes or inheritance. It uses prototype inheritance which is yet another way to view OOP.

Languages like C++ and Java CLAIM to be OOP but they only really implement the most basic of OOP principles and while learning them is a good idea professionally speaking they arn't really OOP imho.

C# has evolved over the years and is now much closer to a true OOP than the previous 2, however it still has low level and static types with compiler magic so it like there are dynamic types.

hopefully that helps.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Blizzard

C++ and Java implement only basic OOP? What are you talking about?
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Ryex

October 15, 2015, 05:20:19 pm #27 Last Edit: October 15, 2015, 09:26:37 pm by Ryex
C++ and Java treat objects (instantiated classes) as seconds class to basic types. so long as you have a strongly typed systemcertintly't have true OOP you can certainly employ OOP design principles effectively but the true strength of OOP can not be utilized in a language that wasn't designed with OOP in mind form the ground up. I might be able to explain it better with examples but I'd need to find my notes form my language design class, my memory is fuzzy.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

KK20

Something about C++ being a "multi-paradigm programming language". It's above me and my levels of interest. It just feels like another one of those "the thumb is not a finger" debates.

Also found this while googling: https://www.youtube.com/watch?v=KrCAl1zhuHI
That 1:30 mark and on...

As for Kiwa's question, Python and Ruby seem to be the general consensus.

Other Projects
RPG Maker XP Ace  Upgrade RMXP to RMVXA performance!
XPA Tilemap  Tilemap rewrite with many features, including custom resolution!

Nintendo Switch Friend Code: 8310-1917-5318
Discord: KK20 Tyler#8901

Join the CP Discord Server!

Blizzard

October 16, 2015, 03:51:38 am #29 Last Edit: October 16, 2015, 04:00:34 am by Blizzard
C++ is meant to be an extension of C so it can have procedural code as well as object code (that's the multi-paradigm programming language part). But nothing limits C++ in being completely object oriented (except the main function). Just because it supports another paradigm, doesn't mean it's doesn't support OOP completely.
As for your video, yes. I never said it's a pure OOP. I said it implements all requirements of OOP which Ryex says it doesn't. It think it's stupid to define an OOP language by having restrictions what the language is allowed to do. That limits the evolution of the language itself. But LMAO at bashing Java. xD

@Ryex: I have never heard about OOP requiring that the language isn't strong-typed. Or other weird restrictions about what a language isn't allowed to do or have. In that case I never want to work in a full-OOP language. Strong typing is one of the best things in system design, because it forces the user to respect certain rules of the system and not fuck things up since 50% of all programmers start hacking as soon as you give them the chance.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Kiwa

I found this artacle online. I thoguht people could take from it.
I'll link the page and spoiler the list.

Source:
Ten Tips for Young Programmers
http://flip.it/Z4pvN

Spoiler: ShowHide

Writing code is like doing magic. Just say the right words, and amazing stuff happens. Or, horrible things happen. Becoming a great programmer isn't easy. It takes time. For young coders, I'm going to give ten tips to help you along that path.

1. Take Your Time

It takes years to get good at coding, so be patient. Your first projects will be weak, no matter how smart you are. If you're coding every day you'll be decent after five years, and good after ten. And after twenty years you may become great.

2. Write Code, Write Code

There's a myth that superb coders are born. Yes, you need talent, yet above all you need practice. Code every spare minute. You need to practice for years, alone and with others. It won't make you rich, it will make you better. Coding is like playing music. Play the same tune a hundred times, and each time you will learn something new.

3. Develop Your Strengths

Discover what you are good at: everyone is different. Maybe it's problem solving. Maybe it's teaching others. Maybe it's long, deep focus on difficult concepts. The best sign you're good at something is you enjoy doing it. Over time you'll become better at other aspects of coding.

4. Learn to Work With Others

Alone, you'll always be mediocre. Only when you work with others can you really shine. Learn to let others compensate for your weaknesses. Look for teams that need you and that can challenge you. Join open source projects. Learn open source culture. Learn from others, and especially their mistakes.

5. Use Science, not Magic

Most of the software industry is plain wrong. Learn to recognize and reject magical arguments. Science is about solving real problems with wild, irresponsible answers, and harsh error correction. Don't follow fashion. Take the next most urgent problem. Write a minimal plausible solution. Test that, and keep it only if it seems to work.

6. Trust Your Instincts

We're born with good instincts for working with others. Education and work beat these out of us. Most of all we learn to accept discomfort and pain. Learn to trust your instincts. If something you're doing seems wrong, fix it. Even if it takes a decade: write it down, understand it, and fix it.

7. Work With What You Have

Work with the problems, tools, and people you have at hand. Focus on getting it right, minimal, and modest. Don't wait for tomorrow's technology to arrive. Don't try to invent the future. Just get to work making real solutions to real problems. The future will invent itself.

8. Embrace Criticism

Lose your ego. When someone criticizes your work it can hurt. Yet it's far worse to be ignored. Ask people for critiques. Make your work public and open source, when you can. Now and then you'll hit a troll who really tries to hurt you. It's never personal. Learn to shrug that off.

9. Keep Your Costs Low

Cheap is important. Learn to use Linux, and a cheap or second-hand PC. Learn the command line. Stick with small languages like C, instead of massive languages like C++. Learning a larger language does not make you a better programmer.

10. Publish Your Work

Put your code out there, using your real name. Become a contributor to open source projects. If they don't want you, find projects that do. Build up your public profile, e.g. on GitHub. It's your future resume.

Blizzard

That's some really good advice. :nod:
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.