How to Learn Doing it Right Way?

Hello

I am new to Sitepoint but glad to be here.

I am self taught web developer. I do not have any computer science degree from university. I know HTML5, CSS3, Javascript, PHP and some Python. But I am having difficulties about being efficient. When I create a project, I am buried into files, folders, bugs and todoes. Because I am managing multiple projects at a time, I totally feel stressed and not in control.

I see real programmers whom have computer science degrees use utilities like Git for source management. They use Unit tests for testing and other tools for Debugging in an easy and quick way. I am sure there are lots of other tools they have which help them stay safe and calm while they manage their projects.

But because I do not have any computer science degree, I do not know how to do things in a right and efficient way. I just do it, in an organized way. It works but it burns out me, too.

I Googled a bit and find some books from Amazon about Project Management but I feel intimidated. The tools and resources I found also very scattered which seems getting them together to create an organized routine is also requires another expertise.

As a self taught web developer what can I do to learn doing things right way? Do I need a computer science degree or a course about programming? Can I learn the right way by Googleing or from books? If you can recommend, I will be grateful.

Cheers

Hey javaxoty,

I’m a self taught developer, too, so I know where you’re coming from. I also know that feeling of drowning in disorganized stuff; backup copies all over the place, files from FTP copied to the desktop for editing… Not nice.

By now, a few years later, I feel really comfortable with my workflow. No formal training involved. What taught me the most were jobs and internships at two small companies. It’s incredible how quickly you can improve when you sit next to someone who knows how to do things for 8 hours a day.

So if you have the time, get a job or internship somewhere. Don’t worry about salary. Instead, make sure they know where you’re coming from, and are willing to mentor you. I would even work for free for a few months, the things you learn will more than pay for the time you spent.

If that’s not an option for you for any reason, learn stuff by yourself. You’re spot on with Git and testing, those two are definitely a must. For git, I have heard good things about http://try.github.io. For testing, I would try to find a book about the language/framework of your choice that covers testing, and work through it.

Whatever you do, good luck :slight_smile:

Hey zank,

Thank you so much for your valuable suggestions. I also thought internship in a company but did get the courage for it. I will definitely search for a suitable company after your encouragement.

Cheers

I think it’s a good idea to ask a friend-freelancer for best practices.
I’m super messy with my projects and I just caught myself copying the process of project treating that my friend graphic designer does. She explained me how she organised the folders and name the files. It’s still not perfect because I have to do all techy stuff as you do but I’m looking for improvement. At least for files and folders on my computer!

An impossible question. How to do it the right way?

First, you have tools and they are likely enough. A review of w3c schools is always helpful. A review of Sitepoint is helpful. There are many articles about building sites. Some are at no charge, some at a nominal price.

Sit down with paper and pencil and work the site - start to stop. Only after you know where your map takes you and how to get there do you turn on the computer

Hi, for your project mgt stuff, try using Trello.

It is based on solid project mgt methodology called Kanban http://en.wikipedia.org/wiki/Kanban

git and other disrto tools are great for for working with other ppl. I am unsure if you need to worry about source control if you are working alone. However moving code from a local server to a dev / prod server is much easier when you have source control set up. I use mercurial, taken me ages to get my head around it, but it is simple.

some tips - create a bit bucket account, and choose either git an mercurial and see if you can start pushing code from your local. If you don’t use a local server, try wamp / xamp. Plenty of online tutorials.

Try get a mentor. Everyone in my team is a lot better than me, so I learn from them. Indeed it is why I love web, I like to learn.

Make sure you are not taking on too much work

Find ways to streamline your build, example use HTML boiler plate or bootstrap.

I am learning about node.js, bower and another command executed tool that are basically allowing you to DL and install packages for rapid deployment.

And don’t give up. GL.

Possibly another handy app would be Flyspray or an equivalent one to keep track of bugs and to-do lists, especially if it’s not just yourself working on some of the projects.

bit bucket has it’s own bug tracking tools. the good things about Trello, is it is easy to share a board with your client and let them see the progress take place, and even approve revisions etc via it. We even organised our wedding with Trello!

Why don’t you post some details about your next project and we can all have a look and see if we can find some efficiencies for you. Sans seeing how you do things it is hard to find improvements.

One thing I’d say - are you clearly marking your expectations with your clients? It sounds like you are a victim of scope creep.

this can be avoided by giving client s a solid brief to fll out, and get them to sign off on the deliverables.

HTML boiler plate or bootstrap.

Avoid W3 Schools: http://www.w3fools.com/