Jump to content
Larry Ullman's Book Forums

How Does A Php Programmer Learn To Code For Hire?


Guest Deleted
 Share

Recommended Posts

Guest Deleted

I had an idea and I wonder what you guys think of it.

 

Would it be helpful if I went on PHP help forums and tried to find problems I could solve? Would that help me meet people who might be interested in my services? Maybe I could make friends with people who often frequent those forums and perhaps I could do some free or very cheap work for them?

Link to comment
Share on other sites

Well, I have gotten some business here and there by helping on these forums, so it's certainly an option. If you'd like to participate more on these forums, we'd gladly welcome you. I know that some people find business through Stack Overflow and the like as well by helping out.

 

More than anything though, participating on a forum will allow you to get to know people in and around the industry, and you'll be able to build your own confidence and knowledge. I can't count how many times I've learned things about web development by helping out other people on these forums.

 

So yeah, the more you get involved, the more you will grow, definitely.

Link to comment
Share on other sites

Guest Deleted

Speaking of getting "to know people in an around the industry" maybe if I made friends with some programmers they'd give me feedback on my programming skills? I'd really like feedback. I'd like to find out how good (or *gulp* bad) of a programmer I am. I started doing PHP in 2003 but almost all of my contact with other programmers has been from reading their written works (books, tutorials, etc.) and responses to my forum posts. I never really had anybody look at an entire script or even sit there and ask me about my coding methods. So yeah, sure, I've had a ton of practice, but you can practice bad habits just as easily as good habits. I might have gotten really good at doing some things the wrong way.

 

That said, I do try to find flaws and fix them. For instance, I recently went to brush up on password hashing and found out the way I was doing it was very insecure because a hacker could easily use a rainbow table against it. (I was using md5() and not salting...yeah, I feel like an idiot.) Finding that out really kicked me in the butt and motivated me to learn about better hashing techniques. Now I'm checking out PHP's new password_hash function and the BCRYPT algorithm  I don't 100% get it yet (my biggest problem at the moment is deciding what I should make the cost be) but I'm confident I'll get there. My confidence comes from the fact that I've never had a problem with PHP that I didn't eventually figure out. I may have had to consult Google, books, or forums, but my problems always got solved...... And, jeeze, I had kind of forgotten how confident I was toward this aspect of being a programmer. It feels empowering to remember this =)

 

Now if I can get this confident toward working for hire, I'll be doing good xD

 

I'm also reading Larry's PHP Advanced and Object-Oriented Programming book. It's been helpful so far.

 

Wow, I just really rambled. Well hopefully it was an interesting read! :) (I do that sometimes. I have a little bit of ADHD and sometimes it seems like the only time I can really think something through is to sit down and write about it.) 

 

Ok, here, I'll add a question: I mentioned not knowing what I should use for my cost for BCRYPT. Is 7 good? Does it depend on my site? It's a PBBG--Persistent Browser Based Game. (Definition: http://www.pbbg.org/ )

Link to comment
Share on other sites

I've been freelancing for a over a year after spending a year learning web dev languages (I was working part time). I feel semi-confident with html, css, php and mysql. My learning mainly consisted of reading books, doing on-line tutorials and hanging out on a few forums. Answering questions on forums is a great way to learn - it will confirm your understanding (or not) of a particular concept, technique or function. You will also see alternative ways of doing things and learn new concepts, techniques and functions in the process. I've learned loads from this forum and a couple of others. One caveat with forums - be sure to familiarise yourself with the specific guidelines a forum follows because if you breach them, some come down heavy on you. Its really just a question of good manners, which can be forgotten when you're feeling frustrated that your programme won't work.

 

I did attend one class which was okay - the upside of the class was mixing with people who had the same interest in learning web dev languages, the downside (besides the cost) was that we learned at different speeds.

 

Search online for meetups in your area and attend them. I've been to a few and have met a number of people with whom I am able to collaborate and share ideas, experiences, resources etc.

 

I was very reluctant to apply for and take on jobs as I didn't think I would be able to do them. I started with non-profits and sites for friends and explained that it was a learning experience for me and hopefully they would get a decent website. No question, the best way to learn and build your confidence is to jump in and do it.

 

Then I started doing small jobs for agencies - you have to put in the time to find jobs and market yourself. Everyone wants to SEE examples of your work so build a portfolio online - use the non-profit jobs to start your portfolio and build a few 'example' sites if you have nothing initially. Add to your portfolio with each job. The first thing I do after handing over a site to a client is to update my portfolio.

 

Recognise that you can't do everything - find people who have the skills you lack. Consider using university students who also need to build up a portfolio or crowdsourcing sites.

 

Be realistic - its a slow process. And you'll always have crises of confidence. There's always more to learn but there are always resources to help you learn. Sometimes you just have to look really hard to find them.

 

I hope some of this is useful.

Link to comment
Share on other sites

I've been freelancing for a over a year after spending a year learning web dev languages (I was working part time). I feel semi-confident with html, css, php and mysql. My learning mainly consisted of reading books, doing on-line tutorials and hanging out on a few forums. Answering questions on forums is a great way to learn - it will confirm your understanding (or not) of a particular concept, technique or function. You will also see alternative ways of doing things and learn new concepts, techniques and functions in the process. I've learned loads from this forum and a couple of others. One caveat with forums - be sure to familiarise yourself with the specific guidelines a forum follows because if you breach them, some come down heavy on you. Its really just a question of good manners, which can be forgotten when you're feeling frustrated that your programme won't work.

 

I did attend one class which was okay - the upside of the class was mixing with people who had the same interest in learning web dev languages, the downside (besides the cost) was that we learned at different speeds.

 

Search online for meetups in your area and attend them. I've been to a few and have met a number of people with whom I am able to collaborate and share ideas, experiences, resources etc.

 

I was very reluctant to apply for and take on jobs as I didn't think I would be able to do them. I started with non-profits and sites for friends and explained that it was a learning experience for me and hopefully they would get a decent website. No question, the best way to learn and build your confidence is to jump in and do it.

 

Then I started doing small jobs for agencies - you have to put in the time to find jobs and market yourself. Everyone wants to SEE examples of your work so build a portfolio online - use the non-profit jobs to start your portfolio and build a few 'example' sites if you have nothing initially. Add to your portfolio with each job. The first thing I do after handing over a site to a client is to update my portfolio.

 

Recognise that you can't do everything - find people who have the skills you lack. Consider using university students who also need to build up a portfolio or crowdsourcing sites.

 

Be realistic - its a slow process. And you'll always have crises of confidence. There's always more to learn but there are always resources to help you learn. Sometimes you just have to look really hard to find them.

 

I hope some of this is useful.

 

  • Upvote 1
Link to comment
Share on other sites

Guest Deleted
Marguax: I'm glad to see you have some of the same ideas I've been starting to have, becasuse that makes me feel a little more confident about them. I was thinking about finding non-profits that I could do free work for. Unlike the reaction I would get if I went on a job site and posted "I will code your site for free!" probably nobody would look down on me if I coded a site for free for  a non-profit. It's generally accepted that non-profits are low budget and can't afford much, and it's generally accepted that volunteering for non-profits is a normal thing to do.

 

Then you said you started doing small jobs once you had a portfolio. That's what I was starting to think I wanted to do. The smaller the job, the less likely I am to mess it up, and the less likely I am to be overly intimidated by it. 

 

Anyways, I don't know a whole lot about portfolios, so I wanted to ask something about them. When you show your work to a prospective client, how do you show them your work? Do you have all the files saved on your computer and you send them the files? Do you give them a URL to the website of the organization that is using your work? Or do you upload all the files to your own personal site and show the client from there?
Link to comment
Share on other sites

Guest Deleted

Is it ok if I look at your site? You can send me the link in a private message, if you don't want to post it in public.

Link to comment
Share on other sites

Guest Deleted

That stackoverflow page made me find out that cost is also called "rounds," so I googled information about rounds and I found my answer. So I guess you indirectly helped? :) Hehe.

Link to comment
Share on other sites

Guest Deleted

I'm having testing server problems. I've always tested my code on a live site and I know that's not ideal but until now I never bothered to learn a better way. Now I'm trying to be a good girl and test locally. Well, it's harder than I thought.

 

Do I need to have two different versions of my site? I'm finding myself having to change a lot of the links and file paths. I'm also finding that I need a different index page for my local environment than I do on the remote server. (Because in CodeIgniter your index page tells it where to find your application and system folders.) I try my darnedest to remember not to upload the local version to the server =\

Link to comment
Share on other sites

Guest Deleted

When using prepared statements, is it ok to put values in that you didn't bind. Like here, time() isn't a bound paramater:

$stmt = $db->prepare("INSERT INTO `test` (`fav_color`, `fav_number`, `first_name`, `timestamp`) VALUES(:colour, :number, :name, ".time().")");
$stmt-> bindParam(':colour', $colour, PDO::PARAM_STR);
$stmt-> bindParam(':number', $number, PDO::PARAM_INT);
$stmt-> bindParam(':name', $name, PDO::PARAM_STR);
Link to comment
Share on other sites

Back to the original post, I found myself asking the same questions. The only experience I had was from the examples in Larry's books. What I did was built my own site on a local host server. I kept adding more complex functionality as I learned more. I ended up with a very robust site that was, and still is today, my "sandbox" for learning and adding new features that use different technolgies like ajax for example. The site is a members only ecommerce site for TV repair people to sell each other excess part inventory. The membership grows daily.

  I then used that site as my only "portfolio" site and approached some local artists about selling their stuff online. I had a taker that paid me good to build a basic ecommerce site with some basic content management functionality. He is happier with it than I am and that is all that matters I guess. What I mean is..it is easy to waste time adding bells and whistles the client didn't order, stay on track.

  I then answered an ad in my local area looking for a full time web developer. I sent a scant resume, got an interview and was hired at the interview. I now work full time in a team of three building a corporate extranet/intranet that is giving me an amazing amount of additional experience to apply to my freelance projects.

  Now it is easier for me to go into a project and answer all the questions that you posed based on my own experience, my own motivation and the learned discipline of staying on track with a project.

  All of this required me to step way, way out of my "introverted" comfort zone. At 53 years old, it all seemed impossible, but looking back over the last year at what it took to get to this point the main thing was putting myself "out there"...in the real world, not on-line. At the same time, all experience adds up to additional knowledge which is a confidence booster and money maker. Yeah, I am in it for the money.  :)

  • Upvote 1
Link to comment
Share on other sites

Guest Deleted

another_noob, first off, I love your name, lol!

 

Secondly, that's cool about your sandbox. I think I have a "sandbox", if I'm using that word right. I started my PBBG (persistent browser based game) in the early 2000s and that's how I got most of my experience. PBBGs can be as huge and as complex a you want to make them, so I've gotten to learn about a lot of things since I've had that site.

 

I worked on that site for years and years and I was nowhere near done with everything I wanted to do to it. Last year I started over with it because a lot of the old code just sucked and I wanted to start over with OOP and a framework :)

 

- - - -

 

Hey guys, does anybody know: if you store all your timestamps as unix timestamps in UTC, then when your local time changes, it won't affect the interpretation of the unix timestamps, will it? UTC doesn't have daylight savings. I had this problems when I was making all my timestamps based on my local timezone.

 

Or am I thinking totally wrong about this? xD

Link to comment
Share on other sites

Guest Deleted

Password hashing and password encrypting are different things, right? I know that encrypting with a key is definitely different from hashing because with the former you can get the original string back and with the latter, you can't. However when people start talking about one-way encrypting, I'm not sure what they mean. Do they just mean hashing?

Link to comment
Share on other sites

 Share

×
×
  • Create New...