🔒 Closed Becomming a Good Programmer

Status
Not open for further replies.

callepogi

Grasshopper
Di ko talaga to makakalimutan eto ung 1st na binasa ko bago ako naging programmer i`m not a college grad but nahilig ako sa programming. I learned nodejs, php, php frameworks(laravel), xamarin, ruby on rails, tip ko lang sa mga aspiring devs yung umay talaga kalaban sa pag aaral ng programming kase sa simula gusto agad may output hehe dapat talaga mag consume ka ng time at inspired ka parati matuto.




A good programmer is someone who always looks both ways before crossing a one-way street. ~Doug Linder

Working as a software programmer in IT industry, one thing that drives us daily to the work place; is that fun and passion lies in programming. But to make that programming a fun and to get an eternal elation out of it, one needs to learn and adhere to some basics which make you a good programmer.

I am not writing mantras which you can follow to become a good programmer, but the intention is to collate a list of helping tips which I learned and implemented in the industry to get good results. There is no definition of a good programmer, but here we are referring to the category of programmer who have developed excellent IT solutions and helped in overall growth of this industry.

1.Work on Basics

  • As it is true for any industry and any job, the conceptual understanding is the key for success. Unless one has strong conceptual foundation, he/she can never be a good programmer. The core conceptual understanding helps you in designing and implementing the best solutions in the best possible way. If still you feel gap in core computer science and your programming language specific concepts, it’s never too late to go back and review the basics.
  • 2.Start putting question tags (how, what) with every set of code you write

  • One thing that I realized creating a clear separating line between good programmer and rest is that zeal to know what and how it is happening. There is small group of people who can never leave a code without knowing exactly what is happening when it executes. I understand that in tight deadlines, we don’t get this liberty always and hence have to leave the code just knowing that it’s doing its job. Although this is a bit different topic of how to handle such situations, but as a programmer one can always try the level best to dig into as much as one can. And believe me, this becomes a habit with time and then you do it unknowingly every time.

3.You learn more by helping others

  • Most of us have a common tendency of turning our heads towards forums or groups only when we need help. And again a clear separation between the good programmer and rest that the formers visit these places more often to help others. This makes them learn more then they learn getting their problem solved by someone else. Within a team as well, help others to solve their problems. Believe me, understanding others’ problem in their context, investigating on that and providing solutions; will leave you much more learned than before.
  • 4.Write simple, understandable but logical code

  • As in almost every aspect of life, the formula of KISS (Keep it simple and short) works in programming as well. Write more logical code and avoid complexity. Sometimes people do write complex code just to prove their capability to write such codes. My experience says that simple but logical codes always works well, resulted in fewer issues and are more extendable. I remember an excellent quote
  • Good code is its own best documentation. As you're about to add a comment, ask yourself, "How can I improve the code so that this comment isn't needed?" ~Steve McConnell
  • 5.Spend more time in analyzing the problem, you’ll need less time to fix it

  • Spend more time in understanding and analyzing the problem and designing solutions for it. You will find the rest of the things quite easily doable. Designing not always mean using modeling languages and tools, it can be as simple as looking at sky and thinking solution in your mind. Those who have habits of pressing keyboard (for coding) the moment get the problem, usually ended us something different than the requirement.
  • If you cannot grok the overall structure of a program while taking a ******, you are not ready to code it. ~Richard Pattis
  • 6.Be the first to analyze and review your code

  • Although a bit difficult, but try to break your own code before others can and with the time you will learn to write close-to-bug-free code. Always do a close and unbiased review of your code. Also never hesitate to take others view on your code. Working with good programmers and taking their feedbacks will surely help you become a good programmer.

7.Don’t dismay yourself by looking at changing technology world

  • Over these periods in IT industry, I met with many people who are either disappointed by their work or even left it to search new job saying they want to learn and work in latest technologies. I don’t see any problem with this aspiration but the very first incorrect word is the ‘latest technologies’. What we are hearing everyday and mean here is new tools, APIs, frameworks and others means coming up everyday to make the programming easier and quicker. This anyway will continue in technology world. But what needs to be understood is that the core and basic technologies changes with much lesser pace than frameworks, tools and APIs around it. This is like the sea where the surface water moves very rapidly but the deep water is relatively calm and concentrated and most of the aqua lives survive here. So, feel yourself in that deep water and close to core technologies. For e. g. in Java enterprise world, lots of web frameworks exist and new ones coming every other week. But the core concepts of request based client-server communication, MVS pattern, filters/servlets/JSP, resource bundling, XML parsing etc remains same. So spend more time in learning these core concepts rather than worrying about ever changing frameworks and tools around it. Believe me, with the foundation of core concepts, you will always find easier to learn new frameworks, tools and APIs.
  • 8.Work-arounds don’t work for longer time

  • Many times software programmers implement work around solutions (may be because of lack of time, lack of problem understanding or lack of technology experience).But over the period these work around solutions always resulted in corrupting the code, making it less extendible and maintainable and lot of wastage of time later on. Always prefer to implement when you know the in-out of the solution. I understand that it becomes unavoidable in some circumstances, but it’s like, one should speak truth always but you tell lie in some circumstances.

9.Read documentation

  • One of the essential habits of good programmer is that they read lots of documentation. May it be specifications, JSR, API documents, tutorials etc. Reading documents helps you creating that essential foundation based on which you program in best of the way.
  • 10.You can learn from others code as well

  • I interacted with some excellent programmers who actually have java source project inside their IDE all the time and read/refer that in daily work. They do it not only to fulfill their appetite of knowing the basics but also to learn ways of writing good programs. Reading and referring reliable and known open source code or your senior’s code, can also help you making your programming better.
  • Your comparison of yourself with others will only result in evolution of negative feelings and un-healthy competition. Everyone has got his or her strengths and weaknesses. It is more important that we understand ours and work on it. I have seen many times that so called ‘fundoo-programmers’ (fundamentally strong programmer) also make silly mistakes. So, analyze yourself, list down your areas of improvement and work on it. Programming is a real fun, enjoy it.
  • Any fool can write code that a computer can understand. Good programmers write code that humans can understand. ~Martin Fowler
 
Sir, may tanong po ako. I hope hindi po kayo ma-offend. When you said hindi po kayo College grad bale paano po kayo natuto? Nag-self study lang po ba kayo or at least nakapag-take up din po talaga kayo dati ng program/course na related sa programming? Curious po kasi talaga ako at gusto kong matuto kaso iba yung program/course ko at hindi ko na kayang mag-shift pa kasi halos patapos na rin ako. Late ko na rin kasing na-realize kung saan talaga ako mas interesado na field. Hahaha. Salamat na agad, Sir.
 
Sir, may tanong po ako. I hope hindi po kayo ma-offend. When you said hindi po kayo College grad bale paano po kayo natuto? Nag-self study lang po ba kayo or at least nakapag-take up din po talaga kayo dati ng program/course na related sa programming? Curious po kasi talaga ako at gusto kong matuto kaso iba yung program/course ko at hindi ko na kayang mag-shift pa kasi halos patapos na rin ako. Late ko na rin kasing na-realize kung saan talaga ako mas interesado na field. Hahaha. Salamat na agad, Sir.
Yes self study lang talaga, dati talaga meron akong mentor nung time na pumasok ako sa freelancing jobs, best teacher mo talaga is experience. nag start ako sa upwork until meron company kumuha saken
 
Salamat sa pagsagot, Sir. Nabuhayan ako ng loob. Akala ko kasi wala na akong chance sa IT Industry kapag self-study lang. Subukan ko na po talagang aralin. Nakaka-inspire po kayo. Salamat po! :)
 
Salamat sa pagsagot, Sir. Nabuhayan ako ng loob. Akala ko kasi wala na akong chance sa IT Industry kapag self-study lang. Subukan ko na po talagang aralin. Nakaka-inspire po kayo. Salamat po! :)
Try to join programming communities maraming mentors dun, but for me don`t learn programming kung compliance lang habol mo or mataas na sweldo, make it a hobby :) pag maging hobby mo na di ka mababagot mag aral.
 
Thanks ts. Inspiring po!
Ako po kakapasok ko lang sa isang IT company and fresh graduate ako, and my doubt parin ako sa sarili ko kasi ang experience ko lang talaga ay noong college pa talaga and almost basics lahat merong advance topics pero kunti lang, walang frameworks except from Bootstrap and basic lang din sa JQuery, ni hindi kmi inintroduce sa MVC pattern :( still in progress pa din po learning ko.. at yung field ko ngayun is JAVA which is basic lang talaga tinuro saamin noon, OOP concepts and android development.

Paano ba mawala yung doubt sa sarili?
 
Salamat sa thread mo ts. Balak ko rin kasi magtake-up ng BSIT sa college. Ano pwede mo maadvice sakin paps? kasi as of now di ko pa alam saan ako magsisimula e. Salamat paps.
 
Thanks bro . Kasalukuyan akong nagsasanay para sooner or later makakuha ako ng maayos na trabaho . im on studying PHP now . Dumerecho kc ako ng Laravel without having deep understanding on its root . Kaya medjo na hirapan ako . kaya bulaki ako kay PHP at inaaral ko yung OOP . Saka MYSQL na rin at NoSQL
 
Hindi po talaga sweldo yung habol ko. Hahaha. Gusto ko talagang matuto at gusto ko yung field. Napapangunahan lang ng kaduwagan kesyo baka di ko kayang aralin pero di ko naman malalaman kung di ko susubukan. HAHAHAHA salamat po. Inspiring ka, Sir!
 
tanong ko lang sana po, nahihirapan kasi ako kung paano mag self study na effective nagugulohan talaga ako, pwde ba malaman kung paano nagawang mag self study
 
wag mo biglain sarili mo para sa akin kung mag aaral dapat one step at the time kasi kung bibiglain mo baka hindi mo din ma absorb yung mga ina aral mo
 
Status
Not open for further replies.

About this Thread

  • 24
    Replies
  • 2K
    Views
  • 15
    Participants
Last reply from:
callepogi

Trending Topics

Online now

Members online
621
Guests online
1,129
Total visitors
1,750

Forum statistics

Threads
2,273,048
Posts
28,947,269
Members
1,236,553
Latest member
pemainhidup
Back
Top