So you want to be a programmer? Lesson #1

angrylawnnGnome

:)
Staff member
Top Cat
Developer
#1
A Developer does not need to know every programming language. What they do need to know is where to find the answers and someone who can explain what is wrong with the code when there is a problem. Having someone fix the code does not help because what is important is learning and understanding. That can only be achieved from a good teacher. The best programmer in the world might be a horrible teacher if she does not know how to transfer her knowledge in an easy to understand way. So the question is does the developer know how and where to look it up and ask for the answers and get feedback? Second part of this is the developer being open to using the feedback because some programmers think they know everything and are not open to suggestions or alternate ways of achieving a goal.

Many projects can be completed using varies coding languages. If a person gets too caught up on syntax and one language then they are limiting themself and might never reach their full potential. If you want a job as a programmer you will see that most big companies have programmers between the ages of 20-35. This is because older programmers have a tendency to become stuck in there ways and want the old way of doing things without constantly learning new developments. Once a person thinks they know everything and are the teacher or the boss they become stifled that is when the student passes the teacher because in this field we need to learn constantly not once. People don't get a certificate or diploma and then say "I'm done I can work until I retire" so if a person is going to get into this field they gotta like it because they are going to be learning all of the time. If you like your job you will never work another day of your life because everything you do will be fun so it's important for a person to choose a job they really enjoy not one for a paycheck. So ask yourself do I really want to be a programmer?

Keep the code simple. Here is an analogy guys.
If a person wants the best stereo-system they need a radio. Preferably an XM radio. Second they need an equalizer. Then they might want to add a CD player and even a USB attachment for a phone or IPad. If all of these things are wired together and through eachother once the CD player breaks the entire radio is broken and will not work. Maybe the person can fix it maybe they can't. It might be unfix-able. If the person had each of these as separate components not dependent on each-other when the CD player breaks they could still use everything else perfectly. What I am attempting to teach here is that when a developer makes a program/plugin don't combine it all in one piece so that when one plugin breaks they are all totally busted maybe for good. Keep it separate keep it simple. Don't write a page of code when a paragraph is all that is needed. It doesn't make the developer look better because there is more. What it does is show that the developer doesn't really know how to be concise and brief. (A good tip is spliting the code up into classes) Have you ever spoke to someone who wants to say a simple thing but will take 20 minutes to explain it? My grandma does this and it is a bit nonproductive.

If a development team is working on a project every member on the team should have access to all of the information at all times. Everyone should be on the same page so to speak. A huge waste of time is when more then one person works on the same task at the same time because they don't know someone else is doing it. A simple solution is using GitHub. Every member on the team can contribute to the repository and when it is time for the next developer to add something to the program or web application they can go online and download the latest version of the code.

In the past kids all wanted to be the sports star in basketball or football. In 2018 if you ask most kids what they want to do they say game developer. Reality is just like in the past not everyone can make it to the big league it's the same with programming. We are not all going to invent a new Reddit or operating system but we can be good at what we do, enjoy it and be a success! Don't strive to just be good at coding because if a developer is the best programmer but they do not communicate well then they are not going to achieve one of the top tier jobs in the field. Communication is key and the time to start is now! Look like a coder, act like a coder, and even walk and talk like a coder. Dress for the job that you want not the position you are currently in.

What makes a person a programmer? That is simple write your first program and jump into it. Then you are a developer. Sure you have a lot more to learn and a lot of hurtles to overcome. It's like if you're running on the track at school and the bar keeps getting raised higher and higher. It's some what but not exactly like that when it comes to learning programming because the bar keeps getting raised every single year but it is doable and every-time you learn a language the next one that you learn becomes easier. If I reach a roadblock with a program or programming language I take a break and move onto something else because I found that when I return it has become easier. Those hurdles are never too big.

As a developer I am always open to constructive criticism. That is really really important because communication needs to go two ways and accepting all feedback is very valuable. If a programmer is open to feedback and can use it that is great! That is not always the case because some feedback will not be useful. If you can not use something but it is valuable info then pass it along to someone else who can use it. As I have already said Collaborating is hugely important and I have found that others who like programming usually enjoy sharing and teaching what they know. So if someone gives a suggestion that you don't like think of it like this "Run it up the flag pole and see if it flies!" If it does great! If it doesn't then just pass it along as I said but don't be closed minded.

Lastly a developer does not need a college degree or a certificate but needs to be competent and open minded. That comes with time and training.

I hope this has inspired you to continue programming and learning :) I will be here on this blog to assist and too encourage your success. Lets keep this blog going guys. To be continued.. Next I will write about AI. Where to get the best jobs who is paying the most and new developments!

CatsCraftMC.com
Programming Blog

- Madison Rose
 

Thatsmusic99

i dont know
Kitten
#2
This is definitely a very detailed blog and as a training developer myself (knowing a good amount of Java and learning more Python and JavaScript now because my teacher's angry at me) I couldn't find anything that clashes with the truths - they're all there. :)

One of my favourite bits was of course making code easier to read, and the fact that the more there is, it doesn't make a programmer better. Any duplicated code I'm sure can be cut down even more. I've had a small Python project in the classroom and cut down all duplicate code into a separate method - it ended up breaking the class record for the least amount of lines used. A while ago I did a massive recode of my public plugin and made it at least 1000-2000 lines shorter than before (it's quite a big plugin though), making it easier for me to read. In short, save as much space as you can in code; it'll make life easier, you'll be able to comprehend it more, as will others.

Another thing I'm told to do a lot that links into communication is also commenting code, which I still have to get used to doing... so in other words, describing what the code does, maybe give example inputs and what may or may not be returned, etc. This as well allows others who may need some pointers on what your code does, or even yourself (trust me, I've had to comment my code before to understand what it did...).

Anyways, I'll be quiet now lol. Thank you again Madison for an amazing blog and as always keep 'em coming. :D
 

angrylawnnGnome

:)
Staff member
Top Cat
Developer
#3
This is definitely a very detailed blog and as a training developer myself (knowing a good amount of Java and learning more Python and JavaScript now because my teacher's angry at me) I couldn't find anything that clashes with the truths - they're all there. :)

One of my favourite bits was of course making code easier to read, and the fact that the more there is, it doesn't make a programmer better. Any duplicated code I'm sure can be cut down even more. I've had a small Python project in the classroom and cut down all duplicate code into a separate method - it ended up breaking the class record for the least amount of lines used. A while ago I did a massive recode of my public plugin and made it at least 1000-2000 lines shorter than before (it's quite a big plugin though), making it easier for me to read. In short, save as much space as you can in code; it'll make life easier, you'll be able to comprehend it more, as will others.

Another thing I'm told to do a lot that links into communication is also commenting code, which I still have to get used to doing... so in other words, describing what the code does, maybe give example inputs and what may or may not be returned, etc. This as well allows others who may need some pointers on what your code does, or even yourself (trust me, I've had to comment my code before to understand what it did...).

Anyways, I'll be quiet now lol. Thank you again Madison for an amazing blog and as always keep 'em coming. :D
Thanks for the nice comment. Our plan is to take turns blogging and to have a few blogs a week so that there is always some interesting new content for people to come and read. The more contributors adding to blogs the more interesting it will be so if you think of anything funny or informative please do add it to the community. Probably a good way to get notified is for all of us members to the follow the members that are writing blogs so that new notifications will show up when we log in without having to look for them