I was mentoring him directly. He was working right next to me. He was learning a lot, I was enjoying the teaching, but I could also hand him boring stuff (CSS) and he would love to do it. I paid him peanuts ($12/hr) at first, then I got him a job for a company making around $60k after about 8 months.
This is how apprentices used to work: the master (mentor is a better word :) would find the work because of his reputation, would handle the most interesting and difficult work, and the apprentice would do the routine stuff and slowly get more and more competent.
Has anyone else tried this? I think it would be cool to try it at larger scale, with a whole team of skilled senior devs adopting apprentices to help them with their work.
It would be amazing to have the chance to learn from and improve my skill with an expert developer, and I'm sure a lot of people will agree with me.
Doing this at large scale would end up creating a "generation" of highly capable developers - and you will know that because you trained them yourself - who will eventually become the mentors and, in turn, teach to the next generation.
It's worth noting that some open source projects are noted for fostering a community that accomplishes what you describe... perhaps all that is lacking is the initiative to seek out such an opportunity!
I've tried it with several people with varying degrees of success. The only real insight I've had from the process is that there are some people that just can't be taught programming because they have no interest in computers.
They're only making a half-hearted attempt to learn because they "hear you can make a lot of money programming."
Even junior level web programmers need to know a lot of non-programming topics to get their foot in the door. They need to know what a domain name is, what an IP address is, what a web browser is, what a file is, what a folder is, what a hard drive is and how to access it, how to back up files, how to copy files, the difference between http and https, the impact of various browsers and versions, etc, etc. All sounds great until you really try to teach a complete computer novice how to program. They just have incredible gaps in their basic computer knowledge that are not easily overcome.
The biggest concern I think that a lot of people have about this approach is that your own productivity would suffer if you have to spend too much time handholding the apprentice with their own work. If the person is already a mathematician then they obviously have an advantage because a lot of the logical parts of programming will already make sense to them. I wonder how well this would work if you applied it to someone with only a basic education. Also people are used to school learning where they are micromanaged so might have problems shifting to this model.
This approach seems to work well in fields like plumbing where an apprenticeship will consist of 4 working days a week and 1 day of classroom learning at a technical college. The difference between plumbing and programming though is that plumbing is a far more standardised set of skills.
Ideally you'd want someone to be able to take a test and have it spit back "Okay, this guy's a good enough junior programmer" and then have some certificate so that the job connections and interviews only are for personality. This would reduce the burden on companies having to do their own technical filtering and hopefully get more deserving butts-in-seats to get work done.
Right now it's all guesstimation, voodoo, and a few things that seem to work on both sides of the table.
For IT there is one apprenticeship with Software Development focus which takes 4 years and is split between school and working in the company. The content is defined by an IT company association and all companies providing those apprenticeship need to stick to this defined content. Those apprenticeships are usually done when people get 16, so they have this degree when they turn 19/20. After that they can go to university to do a Bsc or Msc if they want. I think its quite a good system because people get introduced early but slowly to the working world and also have a lot of time to learn other job related things like project management or office politics.
I also know that in Chicago 'apprenticeship' is a word that is thrown out there a lot.
http://www.8thlight.com/apprenticeship
https://engineering.groupon.com/2012/software-apprenticeship...
Very glad to see others doing the same, I can't wait until online education mixed with mentorship proves to be a viable education option.
The tool I am looking into next is http://bigbluebutton.org/
It absolutely works, and it's certainly more efficient than a four year degree.
For every profession, there is an apprenticeship you can enter for it. You get paid (unlike an internship). Apprenticeships start after highschool or college.
I heard this years ago, so I can't remember the exact details, but maybe and German can speak up about it.
I got to experience the joy of accepting my own student's invitation to join a startup where he has been employed as programming lead.
Are there any websites for finding people like you who are in a position to mentor?
I guess I'll start asking around because I'm in a position where I could really benefit from working on more projects but I'm not skilled enough to take on the responsibility myself.
As a wannabe programmer, one thing I always lacked from these sites was the ability to somehow see my code live. I.e. it's fun to write html and css on codecademy or python from LPTHW or whatever but how on earth do I get it on the web or assembled into .app? In actuality, the complexity that surrounds DNS providers, server apps (or whatever you call filezilla etc), server providers (here i mean heroku, AWS, Cloudflare etc), those weird githubs and repos that people chat about etc etc, is way more deterring than actually learning what a "class" is.
Learning is fun; endless googling is not.
See, companies - I think - need more technology people. And the pool of technology people is limited. The laws of supply and demand say that limited supply and increased demand will drive up the cost.
This is great for individuals, but a losing proposition for companies unless they have limitless resources.
The one thing that Starter League, Code Academy and every other site is that they teach individuals the real rudimentary elements of programming. And while vital, these are not a substitute for battle hardened experiences of crappy code, terrible mistakes or the ability to work as an apprentice.
I think it's more incumbent on organizations to figure out how to build talent from within which is really a more holistic and basically an amalgamation of everything.
- Find motivated individuals. - Validate that they have the skills to be an apprentice. - Accept that they're a beginner and commit to training them. - Learn their strengths and weaknesses and tailor a development plan for them. - Promote the shit out of them and make them your next generation of software, test and system engineers. - When they eventually leave - say to yourself 'Mission Accomplished' and hopefully rely on a talent pipeline.
I don't know if this is a teaching hospital methodology or developmental leagues in sports. It's probably somewhere in-between.
So these sites are great. The organizations are great. But transforming people into functional experts in the field can only come about with BOTH training and experience. I feel like Exercism only deals with the training aspect, not the experience aspect.
My $.02.
I hate to be critical as I like the idea, and obviously there's some utility in it for experts as it is but it's much, much less so than for amateurs, and there's no reason to think that this imbalance won't manifest itself sooner or later. I feel this stands a much better chance of solving (or contributing to solving) the education problem and getting good traction if it was positioned to solve a much more general problem - like snippet management - in a really, really good way, and tacked these features on the side.
Remember that this is a side, open source project, run by one person ;)
But when I went through the Ruby track (a language I'm already quite proficient at), I got almost no feedback, helpful or otherwise. Some of my entries would get one or two "thumbs up"s, but no comments, and most got no responses at all. Now that I've got a pretty good grasp on Go, my last couple of exercises there have started to follow the same trend.
* The instructions provided are very Unix specific and assume a reasonable level of familiarity with the command line. Lots of beginners are probably on Windows and not used to using the shell. Much as devs shun them, installable GUI clients have their advantages in this area.
* The language used on the first page is still fairly technical, "test suite" for example.
* How it works is not made clear, "practice problems" is only mentioned once at the top of the page in a hard to read colour and small font.
"But she would like to raise money to pay people to improve it. For example, she admits that the site is a bit lack in the usability department. “It’s hard to tell what it is just by looking at it,” she says. “It’s remarkable to me that people have figured out how to use it.”"
This. I love the fact that people have come to use her site despite its usability problems. To me, it shows there's a real need out there.
Admittedly, I also believe having a great UI from the start can be a differentiator (especially in a young market), but products that get used despite a poor UI mean current alternatives were even worse (or non-existent) for these users.
I hope she's able to turn this into something to works out for her.
Say a lawyer wants to become a programmer, and he/she goes through a program at The Flatiron School http://flatironschool.com - and the flat iron school can go out to companies to help get them placed, but instead of trying to get them placed at the same jobs / salaries fit for 4 year university grads or programmers with years of experience, it's into positions like I described above - I just think it'd be a much more honest path on both sides.
As I am a sysadmin I tend to write tools that only I would look at. Writing something fro a test suite is a great idea. A howto page detailing testing process and a testing 'hello world' would be a good addition.
I was surprised that the install didn't involve a github repo install, ie that the install script would not be part of a repo that you clone and then chmod X+ and then install. The benefit of this is that I can keep track of the cli repo and update when needed by watching the repo.
It doesn't seem to be non-coders as far as I can tell.
1. You need to already have a github account
2. The setup assumes you have CLI experience
3. The setup assumes you use linux or a mac (because all non-programmers do that)
So has wired misunderstood the target audience, or is the site comically anti-n00b?
In addition, if creating a Github account and typing commands into a computer instead of clicking a button represent impassable obstacles to learning programming for some person, then these requirements are appropriate for screening out those whose energy might be better invested elsewhere.
Programming requires interacting with other computers and typing.
Sigh. I clearly need to spend less time on HN proper, and more on the sites it promotes :).
It's a good thing the site's originator didn't make this claim. Even a first-rate site with an enviable effect on students wouldn't want to say this.
Maybe there should be a rating system for article titles, one that measures how far the title deviates from the article itself. In many cases such a title hurts the credibility of the article. In this case, it's obviously a well-intentioned and likely effective teaching method, one that shouldn't have to live down its hyped title.
If I ran such a site, I might want to suppress my own aesthetic preferences, but even I would probably exclude PHP, as one example, only because it doesn't represent an easy way to create reliable, understandable programs.
If you're recently graduated from a code bootcamp, take the survey and share your experiences: http://www.codejobs.io/surveys/codebootcamp/student
To solve the problem, she created a site last year that presents the
practice problems and prevents students from being able to move on to the
next ones without submitting a solution to the previous problem.
I think that Project Euler, https://projecteuler.net/, has a better implementation of this. All problems are available, but they become harder and harder (at least in the beginning - they might level out now). That already is a stimulus to solve the problems in the intended order, in addition to the 'level degrees' awarded after solving a batch of problems.Additionally, the Project Euler forum in which solutions are shared and discussed is only available once you've submitted the correct solution.
OK, back to Euler. I'm close to a next level award...
Having a mentor or tutor adds another level of enhancement. But don't undervalue the ability of a computer to objectively measure an individuals performance and tailor the learning material to their own pace.
Bob is a lackadaisical teenager. In conversation, his responses are very limited.
Bob answers 'Sure.' if you ask him a question.
He answers 'Woah, chill out!' if you yell at him.
He says 'Fine. Be that way!' if you address him without actually saying anything.
I'm sure this is my personal biases (and possibly age) showing, but this caused me to walk away shaking my head.Furthermore, the programming world has always had a goofy and awkward sense of humor.
Looks like there is a Command Prompt executable for windows, but man, it is not easy to find or use for beginners. Hell, I'm still a little confused about how to actually interface with it, (although I am far from an expert on anything).
That's actually all it takes to get a job programming. Maybe not any job, but certainly a job.
I wonder why no plain C?
https://github.com/exercism/x-api/blob/master/CONTRIBUTING.m...
I was wondering why no C because that is one I could use, and would like, the practice on. So for everyone else's sake, I won't.
Some programmers balk at the idea of teaching PHP with plain HTML/CSS instead of teaching using Rails + Angular + all the fancy crap they like, but I've taught web dev to over 500+ students in the past 7+ years (and programming/CS to about twice that), and it's worked like a charm (and the people who get the most upset by that notion are often those who have taught 0 students).
My girlfriend is an art teacher, and when they teach new students they don't start right away with watercolor or oil paints; rather, they start with materials that are easier to handle for beginners (e.g. plain pencil), so they can focus on the basics before tackling the more subtle and advanced techniques. Why are we trying to teach programming using all the fancy tools and technologies used in production systems?
You can add things like templates (they're built in, and can be really simple) or just concatenate HTML the old-fashioned way. You can program very imperatively and work up to abstractions. It's very friendly.
I haven't seen it used as an introductory "language" but I feel like it would work well.
Setting up a web server with e.g. Python's SimpleHTTPServer is absolutely trivial, and teaches them a lot more about what a web server actually does (routing requests and building responses), and also prepares the students to use whatever hip python stuff people are doing servers in these days.
I agree with everything you wrote, of course. Kids need to learn how to CODE first with simple, non-magical tools. Experience with the other bells and whistles comes later.
Wait, either a) PHP isn't a production system, :) or b) you are blaming yourself for using it, or c) ...
At least you have Google, Bing, Yahoo, ...
Kids these days. :)
That stuff is 80% of practical software engineering. The other 20% is communicating with other people.
If you want to be good at your job, you've got to put in the hours to learn the stuff that isn't in the books. The same as any other skilled career. If you want to worry about the niceties of programming languages all day, go into academia.
Also, I feel we are talking about students quite a few steps below the stage where engineer vs. academia discussions become relevant.
Searching for knowledge/information, discovering domain-specific terms, then finding their definitions... these are all very important parts of learning.
Any time I've had to get into a new domain, I start off with searching. Then you discover new terms specific to that domain, then you learn those terms, then you apply those terms to learn more in-depth topics about the domain you're learning about. Before you know it, you're a jack of a new domain (or more than a jack, if you put the time in).
Are there not tutorials like that?
And then there would be next steps, using free tiers of online services to add a backend etc. There's quite a lot of places to go from there though. What would be best?
I think there's a few others which also follow the approach of each lesson essentially culminating in a new portfolio piece.
It should be:
html -> css -> Javascript (-> php) -> Hover(DNS) -> AWS(server) -> Final assembly -> Live product! -> github -> promotion/advertising/fluff
An entry level software developer with bare bones skills could be worth around $4 an hour outsourced? An individual in the first world, to command a large wage at this skill level is either fooling the employer or is strong in other areas: communications, management, design, etc.
With no data to back up my opinions, I feel like the best developers are very sharp to begin with and also highly self-motivated. They don't just take a course, they end up developing the new technologies and teaching others. If you take someone who isn't particular sharp, and has an average level of motivation, what will a coding class do for them? Will they even recall what they did? If they end up with just the bare bones skills you can't hire them because the market wage is illegal in the first world.
On the flip side, things like Code Academy would be great for grade school and high school. When I was 12 or 13 I tried learning C++. Text editor, no color syntax, b&w print book, it was a total flop.
Code Academy would have been great. Hell, even YouTube would have made a world of difference. (Also learning to use complex software like 3DSMax was a joy reading text descriptions of menus, hardly any screenshots let alone video walkthroughs.) I have little sympathy for people who complain while being hand held through learning a skill today -- programming, cooking, whatever. Such a vast library of free information compared to 15 years ago..
i feel like i know the basics of several languages as well as html, css, sql and git. i wrote an IT-ticket system for a healthcare clinic in python consisting of a basic html form and a SQL database backend (i know this isn't terribly impressive to adept programmers, but i've been applying to the most entry-level programming positions). i also specialize in powershell, which is object-oriented, even if it isn't used for enterprise level web apps. and that hasn't been nearly enough to get a job, at least in pittsburgh.
I work for a small startup in the NYC metro area and of course I agree with the parent post. We have a fairly terrible interviewing process. Candidates are phone screened by our non-technical manager and are usually selected for interviews based on domain experience. Nearly all of the people I'm forced to interview have the same background (bachelors in India, sole language is Java, 5-20 years experience in finance industry most coming from big banks Citigroup, BoA, etc). My interview process consists of an onsite coding problem, which is of course controversial. But when none of the people you interview have a github account (some have not even heard of github) or have any sample work, I believe it's important. The vast majority of the candidates sadly cannot create a List and populate it with integers in their language of choice.
Recently I've been working with a team of 3 other engineers. 2 Were average if a touch lazy. The third had ~30 years experience on paper. He was without a doubt the most incurious, unproductive, useless programmer I've ever encountered. He must have committed less than 1% of the new code over the last 10 months and most of that was wrong. He was a net drain on team productivity.
However the rest of us delivered and now he gets to put another successful project on his resume and look to a recruiter/HR person like he's a useful, productive guy. Where someone like you who likely has some raw talent and just needs some battle-hardening... you may find getting a foot in the door quite hard.
I don't really know how to solve this.
Basically, don't get discouraged, and don't worry about others getting jobs. Just keep getting better at what you do, and most importantly work on projects that you can show off. I found that these where the best way to get noticed/get hired.
I'm really thinking about programmers with 5 - 10 years of experience who still struggle to reason their way out of a wet paper bag or produce anything but the most obvious and narrowly scoped solution to problems.
You have to remember that its not just them testing you - it's you testing them. As a newbie coder you want to be in a good team where you can learn good practices from solid performers.
I mean put it this way - if you were in a team and everyone was at a low skill level, do you think you'd get a good time of things from sales/marketing/all the other stakeholders?
My point here is that you should take a look at your personal presentation and see if there's anything you can tweak to improve your interview performance.
If you're passionate and put forth an effort to keep a relevant skill set you're already doing better than most imho.
Point to your GitHub or some other demonstration that you deserve better!
exercism is definitely a volunteer-driven, open-source operation, and the exercises come from people willing to contribute them. I was going through the OCaml exercises and found that one of them had an error[1]; I submitted a pull request and it was accepted within hours.
I think this is a case of a clickbait headline that doesn't do justice to the article nor the subject.
[1] Unlike some similar sites, exercism doesn't actually build and test your submissions. This makes the site much simpler and cheaper to run, but also makes a point that simply passing the included test suite is only the first step. But it also sometimes results in sloppily-written exercises for the more marginal languages.
The best way to do this is to outsource at least some of the learning to a classroom setting and ideally have the government subsidise this, but the government can't possibly subsidise courses in every single type of software development,
Available for $10 until friday pm (says usual price $199 but there's usually a discount on) and includes a year or so of hosting on Rob the teachers servers. I've been doing some bits myself. He also has a how to earn money while doing it by pitching your services on elance guide. It has detailed instructions to get the stuff up on the servers, for web at any rate.
https://www.udemy.com/complete-web-developer-course/?hb=get1...
HN has a suprisingly vast and interesting topic base. My mom (a complete non techie) and my sister (Bio Medical engineer) read it on a regular basis.
I have been interviewing in adtech, financial tech, educational tech and ecommerce companies, not ones named after SA rivers (Rio Plata, Orinoco, Putumayo?).
Some applications have boxes for github, linkedin accounts. Also I have been asked for it in interviews. In 2 cases I have seen programming tests where step one was 'clone this repo...' (one a fintech the other a big data audience tracking company).
Well, actually, yes. I'm sorry, these are my first comments on HN.
> perhaps all that is lacking is the initiative to seek out such an opportunity!
Not really. I tried the open source way more than once both trying to collaborate on open source projects directly and through GSOC, but it failed. Turns out that GSOC seems to be exclusively for people already collaborating on the projects who partecipate in GSOC, so I got rejected (with harshness). The same happened (with even more harshness) on the copule of projects where I tried to collaborate directly (and I can guarantee I've been polite). For this reason I got discouraged, but not enough to give up. I already decided to try on a new project (NeoVim), but until now I didn't because of a lack of time.
I'd guess GSoC brings a lot of 'random internet strangers' to projects whose maintainers are highly motivated to reward known-quantity existing contributors (previously working for free) with the stipends.
Dealing with the personalities involved in open source can be the toughest part of the process; I recommend reviewing how previous contributions from others have been rejected before deciding to contribute yourself. Also, be sure to interact with the developers and community a bit (IRC, forums/issues, etc.) to get a feel for how well you fit in.
The specific group that I had in mind was Python; they have implemented a mentorship program at http://pythonmentors.com -- I'd recommend starting there and asking for pointers to other Python projects. With resources like http://learnpythonthehardway.org/ available you should be able to hit the ground running.
Apache maintains a similar process here: https://community.apache.org/mentoringprogramme.html and Debian does too for their package maintainers: https://www.debian.org/doc/manuals/developers-reference/new-...
Google and Facebook both run programs offering opportunity primarily to university students (Summer of Code and Open Academy). You can find a recent study of the Facebook approach here: http://www.sserg.org/the-role-of-mentoring-and-project-chara...
There is also some older info aggregating projects that were looking for help: http://teachingopensource.org/index.php/FOSS_Mentor_Projects
The Outreach Program for Women might not be applicable to you, but there is a lot of good info on their page too: https://wiki.gnome.org/OutreachProgramForWomen
Secondly - to get a start somewhere good I would (if you don't have a tech degree or experience) show some interest in the topic and an ability to be a self-starter. Do a couple of coursera/udacity courses. Stick up a webapp or try to get started with android development or something. Doesn't even have to be exactly aligned with where you want to be, just show some ability, intent and interest.
Crack that and you'll not need to program, you'll be rich.
You'll get a lesson a week for 10 weeks. The lessons are text-format, combining a balance of challenges with instruction.
Search for: "hosting html5 javascript steroids.js"
Because AppGyver seems to be related to some sort of JS framework called steroids.js. I'm not going to do it for you, but presumably there is a logical search chain that gets you from "javascript" or "javascript framework" to "Steroids.js".
Yes, I search a lot. It's the third most useful tool I have at my human disposal, just after "touch-typing" and "problem-solving ability".
The comment about academia was a bit silly, true. I was trying to say that it's the only place where you can have the luxury of thinking about "pure" programming as a primary concern.
This! In my team, everyone comes to me for help with their problems. Generally, 75% of the time, I know the answer (because I've come across it before). And the other 25%, I solve their novel problem because I ask the right questions, and use basic problem-solving and problem-narrowing steps.
It really isn't rocket-science, it's just analytical, or problem-solving ability. I suppose it has many names. After burning much over other peoples' problems, I eventually resorted to guiding them towards the right direction. Asking them what they think is the problem, getting them to tell me their thought-processes. It's helped quite a bit...
Hm, though I see your point, and agree that "googling" is an actual skill you can acquire and improve by yourself, I feel it's not that different from any other skill, generic or not. I mean, before structure dawned upon playing piano or coding, to learn, the task was problem solving.
To me, there's no essential difference between "this note sounds wrong, why is that, let me try another one" to "how do I get my damn website online". If one beginner's learning process can have structure, why not the other's.
i can definitely improve it, and that is something i have been working on. thanks for the advice though; i really appreciate it. i agree with you that ideally i would be working under some more senior programmers to improve my skills.
Also, adding a README could help people understand what the scope and goal of each project is (and also help them figure out how to use it/test it).
No activity in the last month? Something I personally would pick up on.
People have lives outside of coding and sometimes they go a month or two (or 6) without pushing anything to github, it's not the worst thing in the world. I mean we're looking for quality of contributions here, not quantity, right? To me a bigger 'red flag' would be that all the django code seems to use function based views (not class based views) and doesn't really have any consistent formatting. OP I'd suggest skimming two scoops of django[2] and reading PEP8[3] so that you can get a good idea of how most shops write their code. Either way, I think your projects are mostly great and show that you're actually able to build things.
[1] https://github.com/philangist
[2] http://twoscoopspress.org/products/two-scoops-of-django-1-5
Good coders spend time outside work keeping up to date on their skills - trying stuff out. This stuff needs to go somewhere. Why not put it in github and show me that you're regularly learning new things?
Also, "pick up" meaning I would notice. I'm not saying I expect to see a 365 day streak or anything, but I would expect to see a fair few contributions from people looking to switch from ops -> dev as they hone their skills.
In short, IMHO people that try and fail over and over until they get it right are much more likely to be good coders, than those with one or two totally pristine repos they committed to years ago.
This isn't a criticism of your comment, just something to keep in mind when making hiring choices. :)
definitely going to read up on PEP8. thanks again!
I would like to offer you some counter-advice: don't work for an employer who bases hiring decisions solely on your github activity or any other open source contributions. These are important metrics but so is your own research, your genuine enthusiasm for the field, and your personality fit.
Having worked with absolute beginners, this isn't nearly as easy as you think for someone just getting started. You're adding ssh keys, getting set up with git, installing the heroku client, running things from the command line, dealing with dependencies, dealing with heroku config file issues...
These are the things that get extremely frustrating very quickly to someone who doesn't have a technical background, and they cause people to give up.
Compared with: start a shared hosting account for $2/month, connect with a gui FTP client and the password you made during signup, drag and drop files to the server, go to http://www.yourserver.com/foo.php and see if it works.
If it's about learning the most basic fundamentals, PHP just works. It will be some time before these people start building things where security, scale, separation of concerns, version control etc start to count. Introducing too many things at once is frustrating, and the fun starts when you can use the things you're building, and share them with others. There's not much that's better than PHP in that regard.
Once everything is set up, it's two-ish commands to commit and push to somewhere like Heroku.
And no, I haven't taught beginners at all, I'll fess up to that. I've learned alongside them, though. PHP is a perfectly cromulent language/framework for this sort of thing, but something like Flask could be just as accessible.
Does that apply to you?
I think something like Flask might be a worthy successor. Heck it even includes a webserver, no need to fiddle with installing Apache to test stuff locally. And with services like Heroku the barrier to getting it online is almost as low as PHP.
> but I've taught web dev to over 500+ students in the past 7+ years
Might that give students a false impression of what a webserver does and is capable of doing? The students can implement the same thing themselves in a few lines of python, rather than offload most of the functionality to a monolithic and unapproachable black box like apache or nginx.
Edit: to clarify, I read about "routing" in "web-apps" now and then. I have problems figuring out, although it seems to be clear to anyone. And then you come and mess up terms even more, while routing is absolutely not essential to a web-server. Also, if your idea of routing is anywhere near apache's rewrite-rules, I don't wanna know it. If on the other hand routing is essential to an ftp server, I'd be curious.
i've actually been working on learning angular for the past few weeks. i've stopped updating my github in that time since i'm just doing basic stuff, but once i finish some more tutorials and documentation i plan on building an angular project to display on my github. are there any particular features that would really catch your eye as someone who hires programmers?
any suggestions regarding the coding interview problem? i see http://www.amazon.com/Cracking-Coding-Interview-Programming-... recommended a lot.
I normally start all of my interviews by trying to engage in a conversation about programming topics. But as most of the people I interview have little experience outside of Java and seemingly no interest in programming, the conversations are usually very brief. "I like Java." And the occasional "I have heard of something called JQuery. I may learn that."
I agree with that approach as well, but it's probably because I consider on the spot coding problems to be nerve-wrecking.
I would rather code with the interviewer, and let him know my thought processes, and why I do things the way I do.
Right click xampp icon and start services
Ubuntu: sudo apt-get install apache2 php5 mysql-server php5-mysql
sudo service apache2 start/restart
sudo service mysql start/restart
copy files to /var/www/
"getting FTP set up to get into your remote server"
sudo apt-get install ssh sudo service ssh start
I read your link and it was a snoozefest, and I'm not really sure twitter posts count as references.
People want to see your code before they hire you. Github is a place to share code. That's it really - white male or not.
This is especially relevant to OP because he doesn't have commercial experience coding. Most interviewers will be nervous of this, a large portfolio accessible in a familiar format will alleviate much of their tension.
Don't forget, most interviews for the interviewer are basically an ass covering exercise. Nobody wants to be remembered as "the person that hired THAT guy".
I don't know if that's it. The undergrad population in the CS department when I was in college was 11% women (already pretty dismal) but when it came to code-heavy advanced courses like writing an operating system it dropped to 0%.
I would guess they either didn't believe they could do it or they were unwilling to put in the extra work, which in a sense was 'unpaid' since it was not a requirement for graduation. None of these women had children or had to worry about pay discrepancies.
Unwilling to put in the extra work. REALLY??
Hi have we met
Every woman has to worry about pay discrepancies. In every industry, at every job level. That's what this whole "gender pay gap" is all about, you know?
And it's everybody's job to fix this!
In response to your questions: there was a single offering of the course. All of the women I encouraged to enroll said they were uninterested due to the perceived difficulty and workload. This may or may not have been a cover due to other concerns ("am I good enough?", "I heard only boys take this course", etc.). To be clear, the vast majority of men in CS were also unwilling to enroll in this course because of the workload.
As to your main question, it's difficult to answer. Since we have a very small company with only a few developers, I personally am nervous hiring someone with little experience.