Tell HN: Hello
My name is Mohamed, and I am a jail guard!
After a year or so reading HN, I finally made an account! This place is overwhelmingly full of smart people, and I sometimes feel out of place! I have learned a great deal from all of you. With this said, I am embarking on a two year journey to apply to YC in FALL of 2017. I have given myself this arbitrary timeline to motivate myself.
You see, I am a total noob. I'm about to enroll in an online coding bootcamp. This is to grasp enough CS/coding experience so I can graduate from the proverbial 'I'm looking for a technical co-founder' dilemma, and to build the MVP on my own. What I become, for better or worse, is how I will attract the right people to tell my story and grow a company together. In the meantime, I am working on myself first and learning each day from all of you. I am excited to begin this marathon I call starting a startup.
189 comments
[ 2.8 ms ] story [ 183 ms ] threadAlso, good luck. If you need to be pointed in the right direction, I'm sure a lot of people here (including myself) would be happy to do so during this period.
You and I both- I commend you on your humility and look forward to your success.
What kind of computer do you use - Windows, Mac, Linux? I'd like to give you some suggestions for programming tools (mostly free, some you might pay for), but of course the details will depend on which OS you're using.
I second nailer's suggestion that you may want to start with Python for some of your initial learning. It's an easy language to get started with, but also very powerful. Even if you end up using another language later on, your Python skills will remain valuable - it's great for writing anything from little scripts up to large apps.
Ruby is also really nice, you wouldn't go wrong with that either. And of course you'll want to learn JavaScript eventually too, regardless of what else you do. You could start with any of these really, but Python is probably the easiest to begin with. What you really want to start out doing is to get the basic concepts of programming down - and these carry over from language to language.
One suggestion I'll make right away: in every language you work with, find and learn how to use a good debugger. For JavaScript, every browser has a nice built-in debugger. (I like the one in Chrome, but they are all pretty good.) For Python or Ruby it will depend to some degree on which OS you use.
And a good IDE with built-in syntax checking, autocomplete, and all that is really great to have.
Some people will tell you not to use IDEs and debuggers and things like that, as if it were a sign of weakness to use good tools. Or that if you follow Test Driven Development you should never need to use a debugger. Don't listen to them!
I see so many people asking questions on Stack Overflow that they could have answered for themselves in a few minutes if they only knew how to debug their code. Testing is important and you should learn all about it and do it, but debuggers are for more than just fixing bugs. They help you explore and learn how your code works, and what the APIs you're calling really do, in an interactive and visual way.
Here's a Stack Overflow post of mine from a couple of years ago with screenshots of a few Python debuggers:
http://stackoverflow.com/a/16474706/1202830
Don't worry if there's a lot of stuff in those screens; it will all make sense as you get into it.
You'll also want to get into version control sooner rather than later. Most people use Git these days, although Mercurial is very good too. I recommend avoiding the Git command line though, at least at first. You have enough to learn as it is without having to deal with that arcane system. But there are some nice visual interfaces to Git. I like SmartGit a lot and recommend it. It's free for noncommercial use. Or you may want to start with something even simpler like one of the free clients from GitHub.
Again, let me know what OS you're on and I'll make some specific suggestions for various kinds of tools.
p.s. Top of Hacker News on your first post! Not too shabby...
OS - Windows. Saving for a Macbook (too expensive). I am already on Udacity's Intro to Computer Science and Python is used to teach this course. Plus going through Learn Python the Hardway by Zed Shaw. Taking a Ruby course on Udemy.
IDE - I use Sublime Text for front-end development lessons (team treehouse, udemy), and Cloud9 for the Ruby course I am taking through Udemy.
So much to learn! What is your email?
A little word of advice that I hope will save you a lot of time and frustration:
- Don't wait to complete your training to start your project. Start with the knowledge you have and tweak it over time. If you have no knowledge right now, start by sketching in English. It seems stupid but just the fact of abstracting human needs that seem obvious to us and formalizing them into logical steps will help you tremendously.
- Write code about random stuff you think about. It will be ugly and you'll laugh at it, but you will be lightyears ahead than if you wait when you finish your training to start writing code. It doesn't need to be great, awesomely useful or something.
- Compare yourself with yourself. "..wrote 3,000 lines of Python in a day to build a Segway" made me hate myself. Fight that urge. I know I still am. Reading biographies of great people, seeing what people are actually doing and building makes me feel miserable, incompetent and good at nothing.
- Understand that the points above are for you just in part, they are mainly for myself :)
Here's something to make you feel less inadequate:
http://carlcheo.com/fascinating-posts-from-tech-founders-who...
Work to get better. When the itch presents itself, you'll have the skills to scratch it.
Good luck.
Wow, that's something I totally have as well. At the same time, I want to be (and am, many times) inspired by other people who are already more successful than me. After all, they did struggle, maybe with other things, but their success proves that it is possible to reach it / to achieve something awesome.
The struggle with a feeling of worthlessness is such a mystery. Why do I have it? Why so many people in general? What is the cause, what can be done? I try many things, fall flat on my nose, and then try to get up again. Sometimes, it's a hellish nightmare.
This does not mean you have to solve world hunger, it can be as simple as having identified a loophole which allows for corruption in jails and you use technology to close that loophole.
http://www.fastcompany.com/3037785/innovation-agents/how-an-...
https://www.telepigeon.com/
Also, if you haven't already, I'd suggest switching to Linux or OSX and get used to working on the command line. Most developers in the start-up scene will be working on OSX or Linux, and learning how to use the command line will benefit you enormously.
But, she wanted to be a police officer, and that required college. So she put herself through school by being a prison guard. My little 5'3" sister running around bossing grown men like it was nothing.
She made it through school and got hired as a police officer. She spent the next five years as a dispatcher. Nobody wanted to put her on the streets. But she persevered and eventually she won the day and became a patrol officer. I dare say except for getting married it was the happiest day of her life.
Don't let anything stop you, man. Smart isn't everything: perseverance counts for a great deal.
I met a lot of people that were a lot smarter than most "startup developers" and it didn't require them to sit in front of a computer most of the day.
If someone is of average or higher natural ability, yes, hard work and perseverance will be the biggest determinant of outcome. But someone who's genuinely pretty dumb, wholly socially incompetent, or exceptionally disabled or ill will have massive difficulties being successful regardless of their perseverance.
Which isn't to say that hard work is useless to the people on the lower end of the spectrum: far from it, a stupid hard-worker not only can find themselves with a decent enough job but will usually be able to keep it. It's just they lack the ability to set themselves up for good opportunities like that and to limit downside risk from one-off events. Luck of the draw will end up dominating outcomes.
(Obviously, most people who comment on internet forums, particularly a specialized forum like HN, are not only likely to be average or above but also to have extremely limited contact with people significantly below the mean, so if you're reading this, your life outcomes probably are determined by your own work ethic. On that note, cheers to a productive Sunday!)
I agree. I consider some of the inmates I deal with day to day very smart when you want to understand their world, and they will be more successful than anyone else when the game is being played on their turf. Sadly, they have other "distractions".
There's nothing strange or unusual about that.
I am really happy for your sister and the many other people who just push every day to get up, not feel sorry for themselves and make it work. Thank you for the encouraging words.
Im gonna print this and put it in a frame! So much of enlightenment in one reply!
I like how you're giving yourself a solid goal and plenty of time to achieve it.
Quick question - you mention that you'd like to build an MVP yourself, do you know what product you'd like to build or what market you're interested in serving?
I've just started learning the core web dev fundamentals - HTML, CSS, JAVASCRIPT. I am also taking a Ruby course on Udemy, and as mentioned, starting The Firehose Project in September. Two ideas so far: a. idea from my job (jail) b. ESL idea I always had even before starting the career as a jail guard.
Things change so fast, so I will see what happens when one of these ideas makes contact with customers.
I'd be more than happy to lend out a hand.
G'day, Mohamed don't make the mistake of defining yourself by your job. You are much, much more than that. You work (and survive) in a Jail? That now makes you 10x better than most nerds on HN in understanding and handling people. Scan HN and the general press and you can see how badly Startups and their users are hurt by this and you'll realise this is a desirable skill. Start from there.
>> in understanding and handling people
> than these other people with a different job"
you can't ignore the middle, as that is the defining part of his sentence. every sentence is hypocrisy if you remove important parts
Io sono architetto. // I am an architect
You must say:
Io faccio l'architetto. // I make the architect (job)
Disclaimer: I'm not a linguist neither an Italian native. More accurate comments are welcome.
Y'all are philosophising too much about the copula (a rather common philosopher's pasttime).
Why not? A jail guard sounds very, very badass.
At the risk of making your point for you, as one of the "nerds on HN" I would just like to tell you to take your sweeping statements and fuck off. Or have you forgotten you're a member of this site as well, nerd.
The internet and tone... :)