I'm glad you're getting your feet wet.
104 karma · joined July 1, 2010
I'm glad you're getting your feet wet.
Speaking Swahili is easier than I thought! :D
:/
Reading Hacker News might get you excited, thinking "There are tons of people just like me out there!", but we are geographically distributed; and most aren't like you at all.
I know some of your story. I lived it. I've had a lot of success, and here's how I came about it:
Write a list called "What I want to be making by the time I'm 30", and devote it to memory. Stay abstract and philosophical. Talk to people who know about who you'd need to hire to accomplish those goals, and go learn to be those people. You have time, but not as much as you'd think. It takes 10 years to master a skill, and I'm guessing you'll have at least 4 to master before your list is ready for implementation. Start now. You can do more than one concurrently. The further along you get, the easier it will get. The goal is to master. Maintain a hunger for purity. Don't use something until you know exactly how it works, and why it was created. If you like something, try writing your own version.
It will be very hard at first. Keep that list in mind for motivation. Get jobs requiring your required skills, and always volunteer for the tasks your coworkers are afraid of. You will make mistakes, you will fail from time to time, but every year you will get better, stronger and faster.
Someday (if you stick with it) you'll be able to invent and build things that are yours, and yours alone. Things that matter. Things that change lives. Corporations will depend on you specifically. You will move the state of the art forward and make the world better.
Make sure you never forget what it felt like when you were new. When you'd take out a pen, and draw interface designs for a product you can't build yet. When "This would be so cool" outweighed "This will be so hard to build". Create your own challenges and break through them.
You'll do great :). I'm looking forward to a chance to hire or compete with you some day.
13 years in the industry here.
Your ability to relate to, and communicate with, people in the real world (in depth) will degrade over time.
In my experience, this is the most common separating factor between code monkeys and great engineers.
Learn to make your own everything. Even if you USE the third party one, know how it works through experience. Anything less, and you are a technician.
I hear Java devs are making the most right now.
HTML, Javascript, and CSS are a given. You have to learn them. To be good, you have to know them like the back of your hand. You need to know how far you can take them before they break, which means you need to break them. Over and over again.
Next choose a backend platform. This is where the magic starts happening. You can choose any of the popular platforms; it doesn't matter as much as you might think. You won't be able to make the magic until you MASTER your backend language. Take it over the limit. Break it. Over and over.
There will be a steep learning curve. There will be times where you hate it. You will get confused. You will get in over your head. Don't worry, you have to. All of the people you admire have been in over their heads. Being in over your head is your job.
Expectations grow steadily and the quality of our tools do not. The people that make it in this industry are the ones that can figure out how to create better experiences using our relatively over-complex and wonky tools.
When you run out of ways to break your platform, try getting closer to the metal.
Out of those, how many are likely to trust you with their credit card number?
Out of those, how many would be willing to pay $4 shipping on a $7.50 mix?
The subscription service sold it. The hardware was good, but the ability to get whatever I wanted for a $15 a month charge made it one of my favorite things.
I can understand not supporting legacy IE. Not supporting modern IE doesn't make sense. It seems a lot like nerd rage misdirected.
The upside: you will develop the ability to create things that the communication barrier between excellent developers and excellent designers make very difficult.
The downside: You will have to be an expert in both to keep up with the expert designers and expert developers you will work with later in your career... and every company you work for will try to pigeon-hole you (as design and dev are generally different teams with different management).
Your standard added value to the company will be in your efficiency. You will work at 1.5x the rate of your coworkers (as you will design with development in mind, and develop with design in mind). You will be golden every once in a while when a project comes up that requires novel design AND novel development (you will save the company a ton of man-hours in meetings).
Having both will generally move you to the top of the resume pile when you go job searching, but they will hire you as one or the other (and you have to be sure they will let you do both).
If you don't want to devote your life to it, I suggest you specialize in one.
Modern software is built in two week sprints and emotionally abandoned as soon as it barely works.
As far as I know, after signing my hiring contract, all of my work is owned by the company. Even work done at home; owned by the company. I do not believe this is unusual, every company I have worked for has had me sign a similar contract. If I make the perfect sandwich, the recipe is company property. I am not allowed to distribute company owned assets without the company's permission; and I am not going to ask the company for permission to share code they haven't seen on github.
Even if I wasn't contractually restricted, I would not contribute to a github account. My spare time is spent working on research projects for my corporation's benefit. Many of these become real products. A few I've had patented. These make us real money; github does not.
I hope I am not, in the future, disregarded for a job because I am missing a link to a github account in my resume.
There is a LOT more to programming than code, just as there is a lot more to painting than paint, a lot more to music than notes, and a lot more to writing than words. The better you get, the better you will learn to play computer. Someday, if you keep at it, you will be good enough to try teaching the computer how to play human :D.
HTML is a great way to interface with humans. Once you feel comfortable with it you should move into server-side programming next and see where it takes you :D.
The projects you should be most proud of are the ones where you do something nobody has ever done before; but to get to those you have to learn what others have done, and learn it with respect.
At the end of the day, it's you and your computer having fun together :). Your computer can do a lot of valuable work, but only with your help!
Mostly equipment for the day I might venture out on my own.
I have an entire music studio (hardware and software), creative studio (cintiq, nice cameras [video and still], adobe creative suite), and the start of an electrical engineering lab in my apartment. I have built a pretty good home theater in my living room (projection system), and lots of DVDs for inspiration. Lots and lots of boooooks.
It's pretty expensive, but makes me feel more secure. I'm not worried about money; I am worried about boredom. Make sure to get good insurance.
I would spend some of it curating a taste in something as well.
The most important thing you have to spend is time. Whatever you can buy to save time (without losing control over things you need control over) is a good investment.
Learn about hyper-focus; how to engage it, and how to keep it going.
Get some good headphones, and a play-list of music you like that is familiar (a small list that you play on repeat).
Ritalin (or other add meds) will help.
Don't learn by repetition; if you are like me, repetition is toxic to you. Learn how to make reusable components so you only have to write once.
Choose difficult tasks; things that require you to invent, and use your whole brain. Things that you have to stumble through are a lot easier remembered than things you read in a book.
If you can, turn the lights off.
You'll have to devote a lot of time to this.