A year ago, I used Wordpress on shared hosting, then my service was terminated once I hit the front page of HN (~300 concurrent users). I've been using Jekyll + GitHub Pages since, and I've had no issues whatsoever, aside from the occasional GitHub outages.
I wrote my posts using Markdown and done with it. Pretty simple.
See the pelican folder here for code examples - feel free to steal the theme, just write your own content.
It uses markdown, has lots of themes (some paid, some free, some OSS), you can host it yourself.
(and this makes me sad)
Not a dealbreaker, just something to be aware of. (And if anyone knows of other embeddable comment systems that can be used on static sites, I'd love to hear about them!)
* I already have a server running under my desk, running Apache, and a git repo web-served via CGIT, where I can store any serious code snippets that require versioning. So I'm not interested in anything that uses third party hosting.
* I'm the only blogger: no multi-user capabilities needed.
* The publishing side doesn't even have to be web-based; the minimal requirements are that I can log in to a shell account and post a blog by creating a text file and running some command. This then updates the page nicely, including the RSS feed and whatnot.
* No user comment feature required; it's okay if users mail-in comments, and there is a way to publish selections from the mailbag.
And demo: http://www.oddevan.com/
Rather than host your own, I prefer just going with tumblr or something slick. I do like tumblr for its social connectedness, easy sharing and liking. Whatever floats your boat, though.
Tech.pro is a blogging platform / professional network catered only to the tech world (primarily software development).
Our editor is markdown-based and handles code snippets etc. quite well in addition to having support for embedded frame sites such as jsfiddle/codepen/sqlfiddle/etc.
Although you're writing on the TP platform, you still retain full ownership of your data. You can even download a neatly organized archive of all your blogs (and revisions) in both Markdown and html format at any time.
My Blog: http://tech.pro/leland/blogMy Profile: http://tech.pro/leland
- Jekyll + GitHub Pages (https://help.github.com/articles/using-jekyll-with-pages)
- Octopress/Jekyll + GitHub Pages (http://octopress.org/)
- Svbtle (https://svbtle.com/)
- Medium (https://medium.com/)
- Ghost (https://ghost.org/)
(for more tips, see my kickstarter project: http://kck.st/1sYmezD )
Hosting Hugo blog on GitHub Pages ~ http://hugo.spf13.com/tutorials/github_pages_blog
It uses Sphinx markup which is great for embedding source code snippets and extending the blog with own extensions or pre-built ones.
Some hip ppl might try to use a makerbot or w/e but to get any kind of height on the platform u will need a LOT of plastic.
Platform isn't important. You can do what you are trying to do on ANY platform.
These cover most of the situations you'll end up in with business. You can probably do better if you hire a lawyer, but more than once I've talked with a judge about a contract written by a lawyer that had non-sequitors in it.
(not legal advice)
First of all, I hope you didn't tell them that $96k number before they offered $100k. If so, you screwed yourself by anchoring your offer to a low previous salary.
Second, if they are even discussing salary, it means they like you and they have already mentally committed to you. Going back to the drawing board will mean weeks or months of reading resumes, interviews, negotiations, and possibly recruiting fees which will cost easily $20-40k. In that light, giving you $20k extra would be a bargain. The fact that they went from $96k to $106k proves that.
Third, I wouldn't let equity be the deciding factor (that could just be me), since it could be worth $0 (and 90% of the time it probably is).
As far as negotiating, I suggest you read this post in full: http://www.kalzumeus.com/2012/01/23/salary-negotiation/
I live in Japan. I don't get attractive job offers thrown at me every single day.
Endlessly perusing job sites.
Another factor is boring projects, but as you grow older, you start realizing that boring projects pays the bills.
Have great ideas: indecisive and flaky
Chance to be CTO: Yeah right. Become CTO now
2%....too risky and tiny payoff.
Here's what I would do:
21 - 32% equity, with linear vesting over 4 years. 6 months and vesting starts until 3.5 years later
28k signing bonus
Don't be a sucker. They will both your worse nightmare.( two dads!)
There's no product, there's no revenue, no prototype. Sounds ridiculous.
They have a pitch deck. However ideas are cheap and some investors are dumb.
Make sure any shares are voting shares and look for the termination clauses and trigger events.
Don't sign any agreement without a lawyer explaining things to you.
If you don't want to be a founder, then keep looking.
This can't be usual....
28% seems high to me but I don't know their circumstances, be ready swap salary for equity (or vice versa) depending on what they can pay.
That means this company is going to be playing catch up. Instead of using $500,000 to improve an existing prototype or product, or scale a nascent business, the founders here need to use the $500,000 to build a product from scratch and get it to market successfully. If they don't, it is unlikely they will be able to raise a Series A because while the bar for raising seed funding is incredibly low today, the bar for raising a Series A is fairly high and only getting higher.
If you're intent on being this company's first engineering hire, responsible for building the first version of the company's product, you should consider that you are largely going to be responsible for getting the company to the point where it can raise a Series A, which is going to be a low seven-figure amount at a minimum.
In other words, if you deliver, you are going to put these founders in the best position possible to raise millions of dollars at a valuation meaningfully higher than the current valuation. From this perspective, you might want to consider that $140,000 and 2% of the company is not too much but rather too little.
That app was languishing in the nether regions of the App Store until we got press on some Gawker properties at which point it absolutely exploded. It was then picked up by other outlets which only helped.
There's a million apps out there and media outlets are not going to talk about all of them, so the way we got that press was by making writing an article about us more valuable to them: we gave them something to give their readers. This was a $0.99 app (these were the days before it was clear that charging money up front for apps is not a viable strategy). We scheduled a weekend giveaway about a week out, emailed media about it, and they got to offer their readers more than just pointing out an app they might like, they got to give them a deal on it.
So, in my limited experience, a good way to get traction is through some combination the media (they have the eyeballs) and a deal (people love deals). And the best way to get the media to talk about you is to make talking about you more valuable to them.
I'd say your top priorities should be (in this order):1. Keeping your existing players as long as possible (Retention)2. Making money (Monetization)3. Getting new users in the door (User Acquisition)
It's a tough environment right now, and you can easily spend all your profits on marketing--so you have to make sure you're maximizing the Lifetime Value (LTV) of every install.
As a product manager with experience working on games for Zynga, Disney, and a few small gaming companies, I can tell you that free to play games are more like an on-going service than a make-it-and-ship-it console game.
Successful game developers generally follow the same pattern:1. Collect data to see what players like / don't like2. Analyze the data to decide what to do next3. Implement a change / new feature4. See if it worked5. Repeat
Data-driven decision making is key to making sure you're investing your engineering resources for the highest return.
I'd be happy to talk in more detail.
The game's humble Android start are still evident in the link to the Google Play store.
Here is an edited screenshot to give you an idea of how I might see the game: http://i.imgur.com/IFUkvKm.png
Can you see how similar the second two marbles look?
One common way to address this is by assigning each marble and each bucket a letter or a number.
A couple of thoughts.
Tracking:- If you are not yet tracking your users, start doing that (Google Analytics, Flurry, etc.). The analytics will give you great insights into user behaviour, retention, churn rate, segmentation, etc. Use the data to decide what you should focus on next (e.g. if the user engagement is too low, try focusing on that).
ASO- Optimize keywords to ensure that you are ranking in the top 10 for each of your keywords. I have written a series of blog posts about this topic (http://blackboardmadness.com/blog/app-store-optimization-aso...) and also developed my own keyword selection/scoring model. I'd be happy to help with this (szilard at blackboardmadness.com).
- Optimize file size: got a warning on the Android Play Store that the file size is very large (probably wouldn't prioritize this too high at the moment, though)
Review/ Rating:- Allow users to rate your app from inside the game (e.g. use Appirater to prompt users to rate after X app sessions)
Social Integration:- Deep FB integration (add an invite friends button, post achievements, FB leaderboard integration as in Dots)
Your options include working with a large game publisher, which would be something to consider if you have limited resources on the marketing side and don't want to raise venture capital.
From a pure product strategy point of view, the best possible thing you could do is develop a viral loop, such that each of these installs you're currently getting for free could help you generate more installs.
Often this is done hand-in-hand with some key element of game-play (e.g. gifting) or hand-in-hand with some paid element, so people can either pay for something (generating you revenue) or avoid paying by completing viral actions (generating you new users).
That being said I would keep very close attention to reviews. (I use appfigures to keep track of that) and fix very quickly everything that should not be. Even though we were #2 there were a few bugs reported via the review system and there is a lot of people that are kind enough to let you know,
If you have a tool like crashalytics thats even better.
Thats incredible. Apple pushes new apps in the first week or 10 days. Usually it kind of drops after that. It might not be the case for your app. Wait a bit before you decide to change your life because of this game. If in one month its still getting 100 000 downloads per day... Then you got a winner
There's a few things you can do:- focus on growing the userbase and sell the game in a few months or years. Make your game better and better...- try to make money right now through ads. I would suggest to cut a direct deal with a big game developer like supercell (charboost is good for that)- you're probably not making any money right now. I saw that you're not anywhere in the top grossing
I have a few apps that hit the top 1000 overall in the us. If you wanna talk, contact me : gabriel.louis.muller at gmail.com
Enjoy the ride,
Retention : add push notifications, try to stay in touch with the users (with limited offers for example as mentioned below) and to make the user come back to the app
Social sharing : I would suggest creating a leaderboard, and connecting to FB to share your results and compete against others.
Ratings : Implement an incentive to let the user rate your app, to grow the number of reviews you have.
PS : I didn't have time to download the app, so maybe you already did this. I will download it in a couple of hours and will edit. If you want to chat more, alexei [dot] chemenda [at] gmail [dot] com !
I would recommend making a subset of the levels free and having the rest be IAP or a separate purchase. Then, make it free for a limited time, and try to get some blogs to cover you and promote your app on social media at the same time. This type of model only really works if you have critical mass, but it seems like you're off to a good start.
I don't pretend to know much about the iphone game market, but I can't imagine that these ads will help your position much.
Other ideas: Look into some way to compete with other people. Some way to share it.
Add the ability to text a link to the App Store to a friend. Only ask for the contacts permission when someone initiates that feature.
Just keep iterating on the game and polishing it. You guys will get more ideas as time goes by.
Expect the popularity to fall off at some point. That's normal.
Apple looks for apps that really show off the platform. Being in the top 30 is great. If the visuals and sounds were a little more polished there's a better chance your game might be featured. This can be really great for boosting you higher, though it's not a permanent bump.
Apps have life cycles. Do the best you can now and learn from it. Invaluable lessons for doing more apps in the future.
Give people exclusive levels or badges or other bonuses if they download within a time period. These don't have to be prepackaged with the installer, they can be delivered later, depending on the installation date.
If you really want to get down to the hardware, consider CoreOS.
Use a flavour of Linux. I recommend Debian. Others will recommend CentOS. There are other options, but probably stick with one of these two.
What are you using for your development environment? It might be good to have a local VM of the same distro, even if you're not ready to switch to linux on the desktop. Otherwise you might push stuff to live which break on linux, even if they work on, say, Windows or Mac. I'm thinking of stuff like whether filenames are case sensitive, and the default encoding of files read into Unicode objects (Python can behave differently on Windows and Linux).
Of course, this is all assuming you're using something cross-platform, and not a Windows-specific dev stack.
@poster: Contact me (mynickname at la3 dot org) if you are running short on money because of the scam and need a place to stay for a few days. This is a couchsurfing style offer, not airbnb style.
It had the same layout as the whole airbnb website and every url available on that website was also redirecting to real airbnb website .... except the one with payment and booking details ...
- It's not really Airbnb's fault - not much you can do about this aside from apologise and remove the listing (which I assume they did, or will at least investigate)
- You will get scammed if you use MoneyGram. It's the equivalent of sending an envelope full of banknotes. Don't do it!
Seems like a scam that's avoidable
EDIT: Yes, I believe some people still get caught by it, looking at the AirBnb site they should make this information more prominent
This is very hidden: https://www.airbnb.ca/help/article/51
Always check the URL before you log-in to any site.Don't ever send money through unverified means (mail, western union, etc) for any transaction over the Internet.If you use Gmail, report phishing emails to them.Report phishing attempts to Airbnb.
Moral if the story. If you don't get prompt reply and if any changes occur after booking. Stay away from that host. They are fishing for free money playing the rules of Airbnb.
Airbnb is supposedly going to get back to me about this disagreement, and there is a ticket to deal with it. But its been 5 days after the event and I pinged them twice with email. My other option may be to contest the charge on my credit card. Scammers are everywhere that rules and large sums of money can be found. And many of those scammers will be right there along side you jockeying for victimhood status.
@everyone: I returned from Barcelona three weeks ago. I rented a very nice apartment in the heart of the Gothic Quarter using AirBnB. As far as AirBnB being illegal, I don't think that is correct. I have many friends who have studied abroad and when they would leave Spain to go travel they would throw their apartment on AirBnB to make a couple bucks. Like with traveling anywhere, just be careful.
My usual approach is to keep as much communication on the platform as possible, including the payment process. Anyone who tries to communicate off the platform (eg send money via another method) immediately warrants more scrutiny.
In this case, there are probably things Airbnb can do to help users and reduce the likelihood - for example I don't see the host's email address until I've paid (via the site).
If you pay with a credit card through airbnb, you have several layers of protection: you could appeal to airbnb, and you could also dispute/issue a chargeback through your credit card company.
Sorry to hear your storry though.
You might want to make sure that your girlfirend changes the passwordon her own account, just in case she did a sign-in on the fake site.
Sorry to hear about your loss.
Seems it is not a fraud website, why?
If the former, I don't really think there are any. If the latter, there are tons of examples ranging from Dropbox to Facebook. The "still only" is almost antithetical to anything beyond very small scale success.
He has help now (although I believe it is still under 100 employees), but I believe he still plays a very integral role in the day-to-day development of the site.
If you have something planned after work (or later in the day), but because of your "bad day" you don't feel motivated to do it when the time arises, it's important to still do it. It could be anything from working on a side project, doing some exercise, cooking a nice elaborate meal, etc.
If you don't then will suffer two blows: (a) have a bad day, and (b) not enrich your day by doing what you had planned.
e.g. Your plan might have been to do some exercise, but you get home, feel like crap and decide to have a few beers to help yourself feel better. Or you planned on cooking something nice, but feel like getting takeaway instead.
Sure, sometimes you might need to concede (especially for a big let down). But it should not become the norm.
Furthermore, if by doing your planned after-work activity you manage to overcome the negative vibe from your bad day, you're more likely to go to bed feeling better about yourself, what you have achieved lately, and be more optimistic about what lies ahead tomorrow (and how to deal with it).
Life can be beautiful, even in dark days.
What I would personally do is sit down and clear my mind for 10 or 20 minutes. Meditate, breathe slowly and deeply. Let your thoughts race and get out of your mind. Think of all the things you have achieved, all the great people in your life. Let that remind you that it is "just" a lost deal.
Then, go out and drink a few with the guys.
A break is good and probably optimable since alcohol and friends will change the scene and definitely change your mindset (as long as you don't bring it up).
Regardless, we always fear of being back where we started - disappointment. Sometimes it's like a date with someone promising that went wrong. There's tons of things you could have done, but she or he didn't want to go on - it doesn't make it your fault, nor the other person's. Sometimes it's just not meant to be, perhaps for the better.
I guess this strategy will have to evolve when they're teenagers and they become the source of my bad moods.
This would have been in the summer of my senior year, though I had not particularly tried to get programming work earlier. That's probably for the best. At the time I would have had ~10 years of programming experience if you count very liberally of which 4 years was fairly intensive (university), though only ~1 year of it was in the language we used at the lab. (gawk, by the way.)
My first "real" post-university job was as a technology translator at a Japanese prefectural incubator. I didn't do much programming in the first 12 months or so, but eventually convinced my boss "Look, we have 5 translators here to do 1 translator worth of work. I'm technically assigned to the R&D group and actually can program. I also am totally willing to do any scutwork you give me and stay out of your hair while doing it. How about it?" This lead to me getting very out of my depth in image processing code in C++ followed by, after protesting that it was just impossible, heading up some distributed computing and anti-spam research projects. I was still in laughably over my head but the unique contours of my employment (and the politics of local Japanese government) meant that expectations were so shockingly low that picking a goal and trying for it was enough to be praiseworthy even though my deliverables were terrible.
After that I got an engineering job with a Japanese megacorp and finally learned professional engineering discipline like e.g. source control, testing ("You mean you run programs before demoing them to the boss?"), databases ("You mean all data doesn't go in flat files?"), and the like. This would have been approximately 3.25 years after graduating university.
Bingo Card Creator (a side project which ended up changing my professional career) happened about 3 years after graduating university while still working at the incubator as (titularly) a translator.
My background was in Industrial Engineering, which is part design, part engineering, part lots of math and BS courses that I've since long forgotten. I think the degree helped me to be more user-oriented, but I am pretty sure it had nearly 0 to do with my ability to code.
Now, let's get to the paid gig. Technically speaking, I think my "paid" digs were for friends and family. I am saying paid because of course, they all want a discount and you end up being paid minimum wage for a while :) My first real gig was a great experience, but a total disaster, so far as payments were concerned. The guy was very legit, up until the point where he skipped town and didn't pay any of his developers. I was out like 5k?
All-in-all, that was a great experience and a kick in the butt. It opened my eyes to the real sucky parts of freelancing business, and eventually led to me building Scoutzie.com where we built plenty of tools to help freelancers shield themselves from ass clients.
Now, back to making money. This might surprise you, but the most money we made because it had nothing to do with ability to code. In the early version of Scoutzie, circa early 2012 when we just got into Ycombinator, my co-founder Jenn said that it was time to make money. I was actually afraid - charging people money for your online product - that's crazy! So, Jenn put together a WuFoo form and we pushed it live.
It was absolutely astonishing when a day later someone actually paid us $5,000 to find them a designer, without even talking to us. It was totally unreal!
So, my point here is - you don't need to know how to code to make money. Sure, we had an original product that required code and was running and collecting interest, but the actual money part was done manually, for the longest time.
If you're learning to code, that's awesome, but making money and coding has probably little to do with each other. You can be the best developer on the planet and completely suck at making money, or you can hack together a few lines of code and get a consistent income month-over-month.
(the forms are all private, but here's an idea of how the product started to scale once we realized that people were willing to pay -> http://cl.ly/image/2j2C3m2k3x2A)
Right, I forgot to mention, I built PresenterMate.com once, juts for fun, and it's been in App Store ever since. People are still paying money for it every month, which is very cool :D
-I taught myself.
-I learned to program while in a non-programming role, so I wasn't making programmer money at the time, but I was paid.
-It took me about six months to move into a programming role.
-Web developer at a small agency.
When I got out of the Army in 2009, I was hoping to get into something networking related, preferably security. I didn't have any experience in the area, but I had always had a knack for computers. However, after nine months of job hunting, I was ready to take anything remotely computer related and ended up accepting a position as a customer service rep/QA tester at a small (4-6 employees) web development agency.
My boss gave me a lot of freedom, so when I wasn't tied up with customer support or testing I worked on speeding up processes that were extremely tedious and/or time consuming. This agency had been around for more than a decade at this point, so there were a lot of things we did a certain way just because "that's how we've always done it." For example, at the end of each month we would review the hours logged against various client projects and create invoices manually. This process generally took several days because we would print out hard copies of all the time entries and mark up the sheets with pens and highlighters, then transfer that back to Word documents to be printed and sent to the client. By writing a little code and moving to an Excel spreadsheet for reviewing the logged hours, I was able to cut the time down from several days to "just" 3-4 hours. It was like magic!
I continued doing this kind of work in my free time until one of our developers left for another company. I expressed interest in moving to a development position and got the job. At this point, I had been with the company for about six months. I honed my skills for a while and got involved with some OSS communities and started a blog, both of which served to really help me grow as a developer. About a year and a half after moving into the development position, I moved on to the company I'm with now. I'm still doing web development, but not at an agency - I work primarily on internal tools and processes for a company.
TL;DR: Pushed code daily for about six months, had some awesome people helping me, read a lot of books and listened to smart people talk about code.
That said, if you want to become a craftsman and build quality software that people can depend on, definitely hone your skills by doing unpaid work. But definitely don't do it for people who make money off your work, it's plain unnecessary. There's literally thousands of open source projects that could use even the most basic of programmers.
You can do this even if you have a full time job or study at a university (which I can also recommend). Just take 1 or 2 hours a few nights a week. Spend this time checking out their source code and running their test suite. If you've managed that you're already half way done. Next step is picking an easy sounding bug from their tracker and see what causes it. If it's easy to fix, fix it and send them a pull request. When they accept, you've got the "contributed to open source project XXXX" credential that will almost certainly aid you in getting a job.
All really good programmers I know got good by either contributing to open source projects, or starting their own projects. Developer skill really just is experience, and being independent in a project is just the best way of gaining experience.
Had computer and internet access at a young age. Learned DOS in elementary school playing 'Oregon Trail' on 5.25" floppies. Exposed to Lotus 123 in DOS. Played mahjong on OS/2. My first experience with copy protection was the "enter the X word on Y line on Z page" a la Commander Keen. First touched the internet when 14.4kbps was a big deal. Played with File Manager on windows 3.11 like it was a toy. Fix errors in "MegaRace" install.In middle school, discover IRC and fileservers. Get involved in Anime fansub scene, host fileserver around the same time that Cable Modems were first hitting the US east coast. Learn about video compression, encoding, fansubbing. Learn IRC script and create chatroom bots that respond to users. Learn FTP and FXP. Infect friends' PCs with Subseven like a true script kiddie. Get C&D letters from parents' ISP due to port scanning. In high school, get CompTIA Network+ cert, A+ cert, MS Sysadmin Cert. Interstate 76 comes out for PC, learn what hexadecimal is. Around the same time, joined a guild on MPlayer for playing Mechwarrior 2. Learn HTML and CSS while creating a website on geocities/enchantedforest/cottage for the guild, learn what <table><tr><td> is. Create free website on angelfire for a friends. Learn how to embed a MIDI file. Learn what PHP include means. Learn JASC Paint Shop Pro. Learn how to Pirate JASC paint shop pro. Go to college as CS major. Learn OOP in java. Touch SunOS and Emacs. (ed: i stand by my claim that emacs is not meant for humans). Enjoy programming, hate math. Halfway through college, switch to business major because I have a D in Calc 3 and dont want to blow up my GPA.While finishing college, work as a Jr. Sysadmin consultant for a major ISP. Learn windows administration, learn core concepts of availability and scalability. Learn about backups. Active Directory, Exchange, IP telephony, DNS etc. Learn about corporate process and bureaucracy. Learn how to CYA.Get job as IT manager for 5-person financial startup. Get fired after 3 days.Get job at Panera Bread bussing tables. Get call from major ISP, quit panera after 2 days. Get job for IT consulting company in a major metro area. Visit residential and corporate clients to act as IT department, doing break/fix, data recovery and small scale org planning. Appreciate the value of true IT knowledge in the marketplace. Get job as Sysadmin at a media company. Use previous experience to deliver superior service to internal users. Build goodwill. Around the same time, iPhone 4 is released, with retina display. Become enamored with iPhone, recognize potential of the platform. Learn iOS dev with help from Stanford classes on iTunes U. Spend 2 months learning iOS, get comfortable working with it. Decide to quit sysadmin job to study iOS full time. Upon quitting, get offered the opportunity to transition to developer role at same company. Accept opportunity, attend excellent iOS training course, begin transition to full-time dev role. Work on popular newsreader app. Gain experience and knowledge from dev mentor. After 1.5 yrs, move on to smaller startup-y org for massive $ increase. First "real" programming gig since making transition from sysadmin. Overcome jitters, rewrite major application with great success. Read about electrical engineering, and Haskell. Consider what to do next...
Started in 2008 with PHP/HTML/CSS for a friends existing website, initially unpaid and for fun, but it rapidly became paid and brought substantial income (within a month or two) because I streamlined and automated things that were being done manually. Tempting to call that an exception but if you create real business value that fast, get paid for it or at the least get a glowing recommendation out of it.
In 2009 I started learning Python, Objective-C, and C for fun, making things I needed myself. High level and low level stuff at the same time. A simple automated website "ping" checker for App Engine called AEServmon I wrote for my own use was probably the first thing I ever open sourced. I also hacked together some C in Cardrand, again for personal use, to take advantage of the random number generator present in most smart cards to feed the Linux kernel pool (/dev/random etc) with entropy.
By 2010 I was fairly proficient in Objective-C and C, very familiar with UIKit and AppKit, started selling Mi-Fi Monitor, then later on Codepoints.
In 2011 I started doing consulting work on OS X and iOS projects.
If I set aside the initial PHP success, I'd say roughly 1.5 years between "day 1" and selling products, and about 3 years before feeling confident in taking on fairly significant projects for clients.
As an aside, Mi-Fi Monitor got me a phone call from an executive at Novatel (they made the original Mi-Fi hotspots), some discussions about rebranding it or working together, and several "good job" type emails from a few of the other execs there. They were paying attention, and actually using the app themselves.
- Yes, but there was no ship date. "When it's done"
- Nearly 2 years, however I received an offer to do entry level front-end web development 8 months from starting that I declined because I had received another (non-programming) job offer that paid a bit more. I was not in a rush at the time.
- This is my first gig. I started two weeks ago and do support/patch issues for large medical records and clinical management software. It is overwhelming to say the least with a very large line count in the repo and a lot of moving parts and the threat of patient data compromise looming.
Well, I guess a little bit of both.I wrote my first program in the early 80s. It was a game I copied directly out of a book. It was my first exposure to programming.I also took a programming course in High School in the early 90s. It was, crap, and my 'self-taughtness' I was too advanced for that class.Then I went to college and got a Computer Science degree in the mid 90s. This degree taught me a lot about programming that would have been harder to pick up on my own. As I understand it; college curriculum in programming is a crap shoot. Some are good; some are bad. Some are focused on teaching specific languages and some are focused on programming concepts. I would classify my education as winning the lottery. Because I was taught a lot of the concepts behind programming theory and how to apply them. This has put me in a very good position in my professional career whereas I am often able to pick things new languages / technologies / approaches easily.
I'm not saying that an education is necessary to be able to pick up new things quickly; I'm only saying it helped me.
I feel I meet a lot of programmers who know a language [or framework] while missing some of the other underlying concepts and they struggle when it comes time to learn something new.
> -Did you do unpaid work to establish yourself?
Nope! My first client was in college. I was writing some data processing code for some type of research they were doing. I think I got paid $20 per program; each which took me a few hours to write.
My first programming job was a co-op at a business to business advertising firm. A co-op is like an internship; but mine was a paid internship. I made a lot more on the internship than I did at my job at Waldenbooks.
However, I'll add that a lot of what I've done is writing, both blog writing and book writing and article writing. The blog writing is unpaid. I'm cautious to call the book writing or article writing unpaid; although it paid very very low. These actions help me convince clients I know my stuff and has helped me keep an "independent" career as a small business owner with consistent work for many years.
> -Roughly how long did it take you from day 1 of learning to day 1 of being paid?
Where do you count day of learning? If it was when I Was copying stuff out of a book in the early 80s; then probably around 15 years. If you count when I first started college, then probably about three years.
> -What was your first gig?
A few years later; I left there and 'accidentally' started my own consulting company which I still do today.
Self-taught. This stuff advances so quickly it's tough to distill what you need to know into classes without getting REALLY deep into it. The pace of the industry is set by the speed at which the self-taught craftsmen research and develop new skills. It's hard to find competitive pay if you don't have competitive skills and in the long-term, only those skilled at self-teaching have any kind of longevity in the field IMO. I'm still young but I see so many ahead of me lose that edge and not be able to find work simply because they spend too much time doing and not enough time thinking.
> Did you do unpaid work to establish yourself?
Absolutely, but I have a strict policy of only working pro bono for myself or charities I would donate money to. I'm a big fan of open source code, so I try to donate as much as I can to posterity once a project is complete at well.
> Roughly how long did it take you from day 1 of learning to day 1 of being paid?
> What Was Your First Gig?
My first job out of college was as an in-house web developer for an online tutoring company. They tutored adults to help them get professional certifications they would need to get a job. I ended up getting caught in a layoff within the first year unrelated to performance, but I still cherish the opportunity they were ready and trying to give to me even though it never bloomed to the full potential. I got a site built for them and they have been able to maintain it since then but I fear they are doing very well financially even still.
When I start a new website, the first thing I type is: <!DOCTYPE html>, I don't even start with a 'empty template'. That's the fastest, easiest way to 'get into' a languages syntax and get your head around what it does.
I learned code at the age of 12/13. Morse code that is.
Yes. In engineering school, the class was divided in two. One half took analytical graphics the first quarter, the other Introduction to Programming. I took graphics the first quarter. I had a long train ride home over Christmas break (36 hours) and took the text for the programming class and mastered it by the time I got home. During class, I fiddled with the card deck to get the compiler to spit generated assembler and pestered the professor mercilessly for extracurricular information.
Did you do unpaid work to establish yourself?
No, the pestering led me to another professor that became my advisor and part-time employer.
Roughly how long did it take from day 1 of learning to day 1 of being paid?
About six months, but might have been sooner if not for classes.
What was your first gig?
The summer after my freshman year, I worked for my advisor writing a program that handled input for the analysis program he was writing to determine the Eigenvalues and Eigenvector for a 500th order matrix. This was analyzing the stability of the line frequency of the Bonneville Power Administration distribution network. It was particularly challenging, as matrix inversions done on a tape-based 36k system were non-trivial.
This program, I later learned, was used to determine where to locate Fermi Labs.
Edit: Missing words.
This was an EE program. There weren't any CS programs around (not entirely true) at the time, and I got to EE through my interest in Ham Radio. I got that going by pestering my parents mercilessly about getting my license.
A word of observation: it helps a lot if you are on fire about learning this.
A word of advice: Take responsibility for your own education. Even if you go to CS program.
Went to college, majored in Computer Engineering. In my sophomore year, I got introduced to web applications. Then I came up with an idea, bought a few books on PHP and MySql and implemented the idea in about 5 months in my junior year. So technically, my first buck is from ad revenue and affiliate sales from that.
Didn't make the big bucks till after graduation...went through the whole career fair, interview, etc.
Since you're the one creating the timeline, I'll let you decide what you want to consider as my day 1, and day 1 of being paid. Not sure if people nowadays have the patience to go through an engineering curriculum if they just want to learn web development.
I dabbled in computer science in college (1999 - 2001), taking 3 programming courses that covered C++ and Java. There was a saying in the CS department that if you took one programming class you could get a programming job. I didn't believe it at the time, but I'll come back to this point.
-Did you do unpaid work to establish yourself?
Out of school I knew I wanted to get a web design job. I found a small graphic design company that was starting a web department. They had a designer and a programmer and I was the guy that could talk to them both (I had an art background and knew how to "speak programmer"). The company was working in PHP and I remember thinking how crazy it was that I hadn't been taught programming in the context of the web. For what it's worth, the CS program now teaches Python in its programming courses.
So while I had a background in programming, I had to teach myself PHP, MySQL, HTML, CSS, JS, server management, etc. But I can't stress enough how much the fundamentals from school helped me. I still run into people who have taught themselves jQuery, but they don't understand the fundamentals of loops, or arrays, or conditionals...
-Roughly how long did it take you from day 1 of learning to day 1 of being paid?
The web department did not last long in the graphic design company the leadership just didn't understand the opportunity. Within 6 months I could see the ship was going down, so I took me newly learned skills and started my own web consulting company. Technically I was being paid for programming right out of college -- 2.5 years after first learning how to code. But it was when I received my first check for my own company, 6 months later, that I felt like I was being paid for my coding.
-What was your first gig?
My first gig was a website for a contractor remodeling my parent's house. It was a lucky first client because after a basic portfolio site, the owner asked if I could build a portal for all of his clients and that changed my focus from portfolio sites to web applications.
A specific tip is to always try to get a reference / testimonial from the customer. And always document your projects with screenshots etc. My paper credentials when I started out were really shitty, so the "portfolio" of screenshots and testimonials were all I could give to prove that I had at least some experience.
I started mucking around with VB 4.0 because I wanted to make games. Got a copy of "Peter Norton's guide to Visual Basic" on a recommendation from an IRC chat room and started reading and doing the examples. From there I did small utils for my own use, small games etc.
At the time I worked in a games / software shop and one day some guy came through the door looking for something that could format a huge data file. There wasn't really any shrinkwrap software that could do it, so I offered to make him one. That was the first gig and I charged like 400 bucks. Felt huge at the time :-) By then I had been "hobby programming" for 1 or 2 years.
The first assignment really lighted the fire though and I started trawling any channel I could find for assignments, programming competitions, charity projects and the like. Anything that paid money or could be used in a portfolio.
The channel was mainly Usenet, whereas today it would be sites like oDesk and the like. Eventually got a part-time job with a young entrepreneur, where I learned some HTML, spent days getting a mouse to work on Linux and cleaned and sliced carrots for lunch (which I thought was waaay below me, but it had to be done :-).
Read a whole lot of different stuff, and applied to a lot of companies. After 6 months to a year I ended up in a more professional company doing web "programming" part time (HTML and a bit of JS basically). A years time later I got full-time and into more serious programming.
After ~5 years I shifted into management and ultimately consultancy, but still program quite often for my own purposes.
A couple of years later, my uncle got me a summer job where he worked. That was right after my first year of comspci. I would write bash scripts to automate manual business processes. That's when I first got paid, but it wasn't real software development.
After my second year of uni, I landed an internship at a startup. That's when I first got paid for writing real production code (python).
So, it took maybe 6 years total. However, I think coding is much more accessible nowadays. I'm sure it's possible to start making money in less than a year if you've got drive and passion.
> Did you do unpaid work to establish yourself?Kind of. I did a small website for a guy, but nothing I did really paved the way for me to get a job, exposure wise. That's probably more a mistake of mine than a data point. I should have taken advantage of that more.
> Roughly how long did it take you from day 1 of learning to day 1 of being paid?Four years
> What was your first gig?Full stack .net (mostly C#) SQL Servers/Dapper/Entity Framework/MVC/Nancy/Ember/Web Apps
The Novel:I was going to do these individually but it turned into a bio.
Mostly taught myself. I took a class on BASIC in high school (in 1997 or so), and a course on HTML in college (around 2001), but I pretty much dropped programming until way later.
I have a friend who came out of college as a journalism major and he worked doing journalism somewhere for awhile. He got sick of it, taught himself to program, and got a job programming. I don't know details about hit specific circumstance, but that's what motivated me to learn it myself.
I'm thirty one. I started learning to about five years ago. My first language was Java, which I hated, but it's what my friend used so I figured I'd start there. I pretty quickly jumped to messing around with python tutorials and only really got interested when I started doing ActionScript 3. I never did anything professionally with it, but it was really fun and satisfying. I knew a guy who runs his own web dev business, and at the time they were mostly in AS3. He said he could get me some work, but it never panned out. Realistically, I think I just didn't have the chops at the time, or he didn't really trust them. I don't really blame him for that. They also did a lot of rails work, so at that point I started learning ruby and rails.
Probably a year or two in, I started listening to software engineering radio religiously. There were other podcasts, but I think that's the one that really made it easier to keep going and get broad exposure to a lot of different concepts in a digestible format. It was really nice because I could listen to it while I was stocking the cooler at 7-11, or driving a moving truck across the states. I also worked for a liquidation warehouse for a bit. I ended up making a few rails apps for small inventory management tasks, but right as we were going to start using them, we all got laid off.
I spent a lot of time reading books on best practice for enterprise dev and dev in general (code complete 2, the pragmatic programmer, clean code, Patterns of Enterprise Application Architecture, sicp, etc). My fairly diverse range of languages, the scope of stuff I'd picked up from and built on from SE radio, the books I'd read, and my side projects gave me a lot to talk about if someone else knew how to program. Since I was salaried at that point, and a data analyst, I was in contact with our BI group, and talked to the manager a lot about coding. They were mostly using C# and .NET, so I started learning .net, C#, and F# in my free time, which lead to more conversations. Eventually they had an opening and the manager encouraged me to apply. I applied, they offered me the job, and I've been a full time .net dev for about a year now.
My biggest hurdle was being confident that I could do it. I always loved computers, but I'd never done any real programming until I was in my mid 20's. If you stay around places like HN, or read coding lore, you get the impression that everyone good started when they were five. I'm not saying that vindictively; it's just the impression I got. Things also don't seem to come as naturally. That said, I remember the first time I thought I "got" functions, and it was so amazing to me. It didn't click right away, but when it did, it was really cool feeling. Then later on I started taking on more functional languages and learned that while I "got" them, I didn't really get them. And now that feels absolutely natural.
I don't feel at a disadvantage at all, because I know that I have the skills to keep learning and adapting, and I also have the desire. It's really cool.
That's an incredibly long post, but I didn't want to leave anything out in case it'd be helpful. If you have any questions, feel free to ask.
That site was never really finished, as by the time I hit high school, almost everyone was using Facebook, and my idea seemed redundant. However, through high school, I kept up on a number of side projects (mostly in Python, and Django where appropriate), and also participated in Google's Code-In (a great experience for a high school student who'd never contributed to anything with more than a few users, so far. Would definitely recommend to anyone at that age interested in CS). That was my first "paycheck", but it hardly counts, as it was only ~$200, made from an organized competition. One of my side projects was a Chrome app that I sold for $5 each, and I made a couple hundred dollars off of that, too.
I got my first real job (part-time) when I moved to the Bay Area to go to college studying CS. Conveniently, a startup just off of the campus was looking for a Python/Django dev, and the skills I'd acquired on my own doing side projects were enough that I could dive into a moderately large codebase with a good idea of what was going on (and this was before I'd even started classes). I'm still with that startup now.
So, the timeline went something like this:~2007: taught myself basic programming.2009-2010: made some money in Google Code-In and selling an app.2013: went to college, got employed at a startup.
Just simple jobs that would take someone at full speed less then a day to finish. And then I'd say that I'd deliver in 5 - 7 days so I knew I could bang my head against something silly for a night without getting into trouble with timely delivery. I was always on the lookout for stuff that would make me learn something new yet at the same time I knew I could nail so to keep my feedback very positive.
Never looked at the hourly wage as it's more a bit of beer money to learn something that you also would've learned for free. Under promise, over deliver.
Best feeling was one client that was so happy with my work and needed something done fast (I was a bit further in the game then and very comfortable with my estimation of the work that needed doing and me being able to do it) that he hired me for 1,5 weeks and paid $4200,-. Felt like a sort of rite of passage. Especially since he was really happy with the work and thought it was worth every penny :)
Good thing about sites like Freelancer.com is that although the money is shitty you learn a lot about dealing with customers without tainting your local market. I add nothing from Freelancer to my portfolio I use locally and I don't add anything from my local portfolio to my Freelancer one as I don't want anyone to connect the dots and try to get me cheapass.
Getting the first job is very hard without any reputation and reviews on the site but it gets surprisingly easy once you have a couple happy customers who've said nice things about you.
I took a high school course in BASIC in '81 or '82, and am self taught beyond that point. Similar story for electronics. I did those things for fun while pursuing a mainstream math / science major in college.
At that time, at least in my region of the country, CS was almost exclusively data processing on mainframes. If you wanted to get into anything else, like scientific programming or microprocessors, you could do so just by being crazy enough to volunteer for a task. Many people bought their own computers and brought them to work, to bypass the computer bureaucracy.
A friend of mine was an electronics tech in a factory. They bought some sort of computerized test gadget. The boss asked if anybody wanted to learn how to program it. My friend was the only guy who stepped forward. I think he was interested in seeing if he could use it to run his model railroad. It launched a new career for him.
During college and grad school, I used any computer at hand for any task that I could come up with during summer internships or research projects. I found kindred spirits among the professors, who were doing the same sorts of things.
Many of those people were also ham radio enthusiasts, and it was a similar mind-set.
My experience didn't lead to a programming gig per se, but my programming skill has probably helped my career greatly over the years. I've done things such as designing computer controlled factory machines, modeling, prototyping, embedded gadgets, etc., but have not written "production" code.
My first job was as a vendor/usher at a local movie theater. The process of daily tracking inventory was painfully tedious, slow, and error prone.
I got permission to work on a solution to this using the vending computers (486s running a DOS-based touchscreen system), and the back office computers (running WinNT), and was paid my usher rate of $6.25/hour, but I didn't care - I was excited to be being paid to program.
The program was a success and was used at my local theater for a few years after I left. I even gave free tech support for it because of all the friends I had who worked there.
That experience helped me to land an entry-level programmer/general-purpose "computer guy" position at a local startup that built attendance tracking software for schools and non-profits.
After a little over two years at the startup I quit to start my own company.
I finished my bachelor's degree about a year after starting my own thing, so all this was just without a college degree.
I've been doing my own thing for over 10 years now.
So if you love it, then work hard at solving problems, eventually someone will pay you to solve their problems. Until then, keep making things.
Timeline: started learning programming at 16, was paid a hair above minimum wage for programming at 18, first real programming job at 20, self employed at 22.
- Everything I did before my first coding job was done purely for myself.
- 1997 to 2000 if I want to only count "Web development" as my core skill. I've been playing around with code since 1990, trying to mix art with code on Amiga.
- First gig was in the adult industry designing and maintaining sites.
Brief Timeline for those interested:
1997 - Playing around with Netscape Navigator Gold and GeoCities. Purely HTML based sites with some use of 3rd party CGI tools (Matt's Script Archive... I think).
1999 - Touched on ASP but I didn't like the taste.
2000 - Since everything didn't burn to the ground, I started to develop using Perl and flat-file databases.
2001 - Upgraded to PHP/MySQL. Expanded further into JS/CSS as well. Also started using Rackspace as my main host with a FreeBSD machine.
2003 - Career change to advertising, regretted it every day. The lies and screwing of customers. Was primarily splash pages with some functionality.
2006 - Went back to the Adult side of the tracks. Learned more about server management. Dabbled in C at the same time as I was making modifications to Kannel.
2009 - Left the Adult industry for a more retail position. Switched from FreeBSD to Ubuntu as my primary deploy OS. Expanded into scaling architecture as well as picking up a few extra languages along the way (Obj-C, Python etc).
July 2013 - Accepted into Epicodus. Complete class prep work and now understand basics of HTML, CSS and JQuery.
Feb 2014 - after lots of interviews, I am offered a 6 week contract with the possibility of being hired full time at the end of the contract.
April 2014 - brought on full time as a Junior Developer
Being active in video game development I eventually made some friends who introduced me to Andr LaMothe who was a huge influence on my early career. I made my first dollar building value-ware games for him and he encouraged me to take up Palm OS programming which eventually led to my first startup job at Quickoffice.
If you're reading this Andr, thanks so much!
I saw a job ad for a summer intern in a magazine and replied to it, ended up learning VBscript and writing a couple of reasonably high-profile websites over the summer for real money. I also started up a few side projects, none of which made money -- or were designed to! -- apart from an e-commerce project with some school friends.
From learning HTML to my first paycheque, probably about 1.5 years? In my spare time alongside school.
What would I change if I were learning from scratch today? Not much, in terms of learning as much as possible and working on interesting projects. Volunteer to build websites/webapps/mobile apps or help out with those which are creaking along. I wouldn't expect to make money overnight but if you can solve people's problems with code then you might be able to align interests despite not being an experienced programmer :)
I was enrolled in a co-op program, so you study for 4 months and then work in a real job for 4 months and that repeats until you graduate. This was probably the most helpful thing that helped me learn more and earn more while doing so. By third year, I became competent enough to be able to easily build full stack real world apps. I have to mention though, getting here meant working for multiple startups during my coop term. Hence, taking a cut in pay compared to my peers for the chance to do more and learn more.
June last year, I met Brian who is a data nerd and has a mind full of cool ideas and together we co-founded MetricWire, which we are running to this day.
Taught myself JS, then PHP/HTML/CSS, then graphic design, then back-end stuff (Ruby/Python), some regexes, algos and how to use Linux at a basic level. I'd actually built some stuff as a teenager (websites and mods/tweaks for Homeworld2 in Lua), but I don't count that.
Yeah, quite a lot. Several small sites and a couple of slightly larger ones for my day job at the time - I was working three days a week for a learned society and studying my off days so I did bits for them. A lot of that looks pretty cruddy now, but y'know, that's learning for you.
Started learning in July 2012, got two job offers in June 2013.
> What was your first gig?
Working for a startup making scheduling software. Started as a UX/UI dev doing a bit of the back-end stuff but after re-doing the front end spent a lot of time putting in tests and re-architecting things. It was frantic but good for learning fast. I work for a mature (but still small) company now, which is a nice change.
Did unpaid work that dis-established myself. I did a bunch of temp office work putting myself through college; got in trouble because I'd fix their computers and help them with their database, but the big box of papers were still not alphabetized at the end of the week. Got fired a lot for that.
First gig being paid for active computer stuff was "office automation"; building Word Perfect macros to automate the boilerplate for psychiatric reports. So, day 1 of learning was years before day 1 of getting paid. Maybe as many as 10?
I think your idea is a hazardous one: you don't complete a tutorial and then go look for some work, or at least not and be happy later. If you do that, then you're a novice at the techniques _and_ at the subject matter.
I never did unpaid work to establish myself. I did do a little open source, but not much at first (more lately). I mostly worked on personal projects to get the hang of web development, then I got a job at a consultancy (still employed there). I've made many dollars since then, both as a salaried employee and as a consultant on the side.
It took me maybe a month of learning VB.NET before I started selling bots. It took me about 6 months of learning web development on my own before I found my employer. I'm close to breaking out on my own after about a year and a half there. So, total timeline is about 2 years from first line of code to first startup.
I think that a great way for people to break into the industry is to do jobs for those who have even less software experience than themselves! These people may not pay much but they have lower expectations and will give you time to learn.
(It was DOS, so quite simple.)
September 2013: First paid gig after completing 2 personal projects
From my first project to my current ones I increased my rate at $5 a month for any new projects that I signed. It has gotten me to a livable wage from coding within a year. As of now I charge $120 an hour and even if I don't have 40 billable hours a week I can still get along. The key is be around people building things. They will inspire you and help get you projects. Luckily a few of my friends started projects in college so my first 6 months of client work was easier to adapt to. After that referrals started coming in and the business started to grow at a much more serious pace.
>Did you do unpaid work to establish yourself?Nope, but I did work for pennies. $11.50/hr writing code at my first job, and then later $1000 for an Android app with another $500 to port it to IOs.
>Roughly how long did it take you from day 1 of learning to day 1 of being paid?Six months.
>What was your first gig?Working on campus making Salesforce magic happen. I graduated recently and now work as a Salesforce/Java/web-backend developer.
As idealized as being self-taught might be I think there's a lot of value in getting your base knowledge in the classroom. Data Structures and Algorithms especially is a great course to learn with a professional as a resource.
Graduated high school - started a CS Major at University. Got accepted into an Incubator with my startup at the end of my first year, worked on that for a while. Startup fizzled out due to a bunch of issues, got a part time job as a web developer/data scientist while I'm studying which also makes me decent money for a Uni student. My contract runs out at the end of the year, so trying to figure out what to do next.
I taught myself at first, and i'm currently in school.
>Did you do unpaid work to establish yourself?
Yes, but also because it's more fun.
>Roughly how long did it take you from day 1 of learning to day 1 of being paid?
Probably roughly 2 years or so.
>What was your first gig?
My first paying coding gig: I was working at a company while doing web design on the side, and someone else in said company (at the graphics end of the building) dumped a client on me because said client was a flake they no longer wanted to deal with them.
My first paying design gig: I won a contest (same company) to design a logo for a campaign, first prize was gift certificates.
We (my friend and I) did everything in Basic. We had our first programming job at 14 & 13. And that was building mailing list apps for people (this was superseded by the database).
My main driving force has always been get 'enough' knowledge and dive in. I still do that today and now there are a gazillion more resources on the web to help. I grew up in the model-T days of computers.
Today if I was to advise someone on building a desktop or server app, I would probably say do it in Ruby or Python. And of those two, probably Ruby - it's just a little easier to get into.
However. I am a late comer to seo and _making money on the web_ via 'passive income'. My biggest recommendation to a kid might be to not program at all, but learn how to setup content sites and go for affiliate marketing, google adwords, etc. This is the complete opposite of coding for a living. Why would I recommend this?! Because you can make money this way while you sleep (see Tim Ferris & 4 hour work week). If you code for a living and trade time for money, you will never be able to do this. I've read many books from rich people and they say this is the worst form of earning you can do because you can never get time back, so time is the most valuable thing you have.
I feel like I've done a lot of models on the web - startup, my own products, code for cash, code for equity - and the one I feel strongest about is the passive income approach. It's not guaranteed, but if you can make it work, you'll be way ahead of the guy - in terms of making money - that trades his time for programming. Check out http://www.smartpassiveincome.com and prepare to depressed and happy.
Here in Spain is totally another story. The startup scene is essentially non-existent, so if you're worth your salt you only have one option: moving, either to one of the bigger cities (like Madrid or Barcelona) or abroad. If you wish to stay, get prepared to spend the rest of your life in a big-ass, old fashioned business like Sadiel where you'll be coding Java boilerplate code for the rest of your life.
My first real paid "programming" gig was for a low-rent web shop that crapped out websites for insurance agents.
So, maybe 25 years from day 1 to getting paid.
- The only upaid work I did was side-projects or OSS contributions.
- Probably like 4 or 5 years. I started in high school, and then started doing freelance gigs in college.
- First gig was with a local magazine. I was doing Photoshop to HTML/CSS work (I also know Adobe CS stuff). Then I started doing PHP scripting for them. Then I moved on to a couple WordPress sites and more PHP work. Now I have one part-time client I do more PHP work for, and I take on a gig in Python or Ruby every once in a while. Though I'm looking for Clojure work.
Both. Although I did much of the learning on the job.
Yes, worked for free for 3 months
Probably 6 months all up. You can find yourself useful by writing unit tests etc. which any team will gladly take (as it's not a fun job) and other parts, which you can get paid for. Always make yourself useful but not cumbersome.
I had a business degree and was working in an oldschool industry. The programming school guaranteed a job offer, I received 3 job offers. I started working one week after finishing school. I work as a ruby/node/frontend developer.
the program was called gschool(http://gschool.it). it was ran by Jeff Casimir of Jumpstartlab and Turing School (http://Turing.io)
It took about a year before I landed my first gig which I found through craigslist.
So the idea that learning to code is something you do outside the workforce, and then need to find that "first gig", is not necessarily true.
Taught myself HTML, CSS and JS. Learnt PHP, Rails, C# and Node.js. Learnt through online courses at http://www.codecademy.com/ and many hours debugging.
Yes, I advise only doing unpaid work on your own side projects. Without a budget, clients will continually ask you for features.
Roughly how long did it take you from day 1 of learning to day 1 of being paid?
I did a week of work experience, at two different start-ups. I then started my own business doing freelance web development at http://www.matthewbordenweb.com/
We learned how to code web pages as the features were being added one-by-one: tables, frames, animated GIFs, java applets (embedding them, not coding them). I was not a CS or programming major, this was just my hobby.
In the summer after sophomore year, I started making money at it by building static web pages for businesses in my home town. It's a small town and I can honestly say I was the first web developer there. I don't remember how I advertised myself... maybe people just contacted me because they knew my parents or something. The biggest source of business I found was the real estate agents, who wanted a different page for each house they were listing, and frequently updated them. For me it was pretty simple to copy the template and update the navigation (remember, all hard-coded, even the "prev" and "next" buttons), and I would charge $50 or so for each new listing.
In my senior year I did an internship which became a paying job, still doing HTML "integration" as they called it. In my second job, a year later, I learned about dynamic pages, CGI, databases, and ASP. I had a great boss who was an entrepreneur with lots of ideas, and he hired me to sit in the office next to his and try to find out which ones were feasible.
It took me thirteen years to get another great job like that.
I did projects I thought were fun. But I finished them.
I found work by running into somebody who needed programming done. I was at work at a garage changing oil on cars for the summer. A guy came in, we started talking. Turns out he was a bookkeeper who had just bought a computer and was looking for somebody to program it.
I don't think there was more than a year between when I started playing with computers and when I made my first dollar. But everything I did during that time? It was for somebody else to use: games, utilities, whatever.
I ended up writing an accounting system in BASIC for an Apple IIe. Fun times. I made $250 and probably put 100 hours in on it.
Side note: ran into the same guy like 15 years later. After we said our hellos, I thanked him for giving me a chance to break into programming. He told me that he still used the program! Asked me if I could port it to Windows.
So I did. I charged him a lot more the second time around :)
First I had to graduate from grade school, then do the middle school thing, then sit thru the high school thing. I guess 14 or so years?
(Edited to add, at the time there was a moral craze about credentialism; thou shalt not hire a programmer without a BS degree. At least if you didn't live on the coasts. And this was about a decade before the dotcom craze)
There are also some moral questions, like I was being paid to test impaired telecom circuits for an end user financial institution, but I saw I could replace 90% of my labor with a "telix" script (like the procomm terminal program but arguably better, or kind of like an inferior version of "expect") of moderately short length. So, seeing as I worked alone second shift, I was somewhat less productive for about one night as I wrote my script, and the for the next ... long time ... I read magazines and did my college homework (for the kids out there, magazines are like a static website, only updated monthly, and they print it out for you... like another obsolete technology, the "newspaper", but updated monthly rather than daily) and eventually graduated and got a "real" job, etc.
So my first gig was automating my job for about one day and then maintenance of legacy code, and monitoring the automation for performance.
My boss eventually caught me because I got bored and started rewiring things and generally going "above and beyond the call of duty" and I figured I was about to get fired or promoted; turns out he wanted to promote me but there were no job openings between the time I got caught and when I graduated college. Which is how I dodged the bullet of maintaining stock trading COBOL code for the rest of my life.
Taking a break is good for most people. It can help prevent burnout.
People vary greatly in their ability to take vacation due to income, work and family requirements.
People vary even more in what they consider to be a good vacation. Some people like a lot of activity. Some people like lying around. Some people honestly don't like taking time off work. All of these are OK as long you do what works for you.
People in the United States get, on average, significantly less vacation time than their European counterparts.
Some companies have unlimited vacation policies, but unless the culture is unusually positive, these policies are generally harmful in that they require all vacation to be justified in some way.
In other words, there is no way to make a meaningful universal statement about vacation.
Actually, I'm just wrapping up a ~4 month vacation after a grueling year of creating a product, launching it, and failing. I was so cynical about programming by the time it failed and felt like I lost the spark. It was just a boring means to an end and everyday I had new ends to meet.
I finally feel good about programming again and I think I'm actually better than ever. You really see the forest from the trees after being away from it for awhile. I recommend a long break to anyone who is currently feeling like programming has lost its magic. It hasn't -- it's still a wonderful means to express your creativity.
* gotten cancer
* gone through surgery and chemotherapy
* beaten cancer
* watched my stepfather die of cancer
* wrote and self-published a book
* gotten married earlier than planned
* moved across the country
* watched my mother-in-law die of cancer (why we got married early)
* bought a house
* gotten married again on our original date
In that time I have been away from work for quite a bit of time but I have taken exactly three real days of "vacation", when we went on a short honeymoon after the big wedding.
I need a break, preferably multiple consecutive months, but we don't have the cash to make it through. And so I continue.
(A financial reason is that the company doesn't want unused vacation accruing on their books, because it represents a liability that in some circumstances can be cashed out. A non-financial reason is that having a high % of employees who don't take a proper summer holiday can lead to quality-of-workplace statistics that look poor.)
Three and a half years ago I had 5 days of PTO per year. Admittedly it was a crappy job, but even so.
Now I have 22 days' PTO, plus 12 annual holidays. I make more money and pay less in rent, too.
Looking forward to the break and coming back with a clear head!
Sometimes, a change of scenery can be very fulfilling.
What are the ways people currently budget for vacations?
Personally the way I do it now is I actually have a separate checking account that is used _specifically_ for vacations, _end of list_. Every time i do a consulting gig, I break it down the money like this:
33% - into business checking account for taxes
the remaining 66% is broken down to:
25% - another business checking account for expenses25% - into a personal savings account25% - into the vacation checking account25% - to paying off debt (CC, mortgage, whatever)
Then there are phases in a startup, where you need insane creativity. These phases are for instance after you've found product/market fit, say you got to 10,000 users with your product, however, now you need to figure out how to get to 100,000.
In these times it's not worth at all pushing 18h days, it's much better being a balanced human being who goes out with friends, does their exercise and eats well, because all you need at that point is ideas and creativity.
Anyone know of any sites that list nice affordable family vacations within driving distance of x ?
Besides, the weather's novahot at the moment and it's quite hard to work when you're being boiled alive.
Contact info in sig. (I'm based in SF)
One of the things I've learned that I found most shocking? That changing things up makes a huge difference in my productivity -- and it becomes more and more difficult to do.
I think the term "vacation" is a bit loaded here. Sure, go to the beach. Travel. But there's a deeper truth here: you need to regularly make yourself work, relax, and play in different atmospheres. It's very good for you. So go work at a coffee shop. Work in a city park. Take a week and live in a cabin without electricity. Take your development team and go out to the parking garage and work using cafeteria tables and metal chairs. Whatever. Purposely vary the conditions and surroundings of your life. This is not an optimization problem; you are not trying to find the perfect place. Instead, it's diversity: people are very prone to getting in intellectual ruts. It's difficult to see this when you're in one. Mixing up environments is a proven way to identify this.
Here's a typical day at a Japanese megacorp as a Level 3 Peon ^H^H^H Salaryman:
8:55: Get into work, begin checking email. 9:45: Most email to the outsourcing subsidiary is triaged. 10:00: Planning meeting for project X 11:30: It is over. Begin working on bugs assigned in the tracker.
12:55: Three bugs done, good job. Break for lunch. 1:30: Back from lunch. Planning meeting for project Y 2:30: Meeting over. Meet with trainee for scheduled professional development lesson. 3:00: First uncommitted time on the day. Begin making progress on the quarterly objective.
5:30 PM: Planning meeting. 7:00 PM: Meeting over, quick break for dinner. 7:15 PM: Eating dinner at desk.
9:00 PM: Hit the first group of more senior salarymen going home. Yay. Almost done. 9:30 PM: Apologize for my early departure.
Here's a day in the life of my consulting career:
8:00 AM: Inbox triage for my own businesses. 8:30 AM: Leave hotel. 9:00 AM: Arrive at office. Get coffee/cereal. Consume them while reading client-related email. 9:30 AM: Enough email for the moment. Start working on Project Deliverable A.
10:00 AM: Meeting with stakeholders for Deliverable C. Representative example: email content for a free one-month mini course which they'll use to get more leads for the software. 11:00 AM: Back to working on A. 12:30 PM: Lunch, downstairs with team. 1:00 PM: Meeting with stakeholders for Deliverable B.
2:00 PM: Tired of working on A. Investigate JS frameworks for B. 4:00 PM: JS framework chosen. Write down in notes. OK, back to A. 5:30 PM: Prep for tomorrow's meetings, check email. 6:00 PM: Apologize for ducking out early.
And what do things look like when I'm working on my own business (where, n.b., all of the products involve substantial amounts of code that I wrote)?
7:00 AM: Wake up early for meeting. It was canceled. 9:00 AM: Breakfast with wife. 9:30 AM: Catnap due to only having 6 hours of sleep. 12:00 PM: Up again. Business administration (moving money). 2:00 PM: I should really be getting lunch now, but I'm on HN instead. 3:30 PM: Will probably be done with lunch. Start working on essay. 6:00 PM: Probably done with essay, if the mood is right.
6:30 PM: Come home, play League of Legends a bit. 8:00 PM: Dinner with wife. 9:00 PM: Quick sweep of inbox for 20 minutes or so.
Dragged a comb across my head
Found my way downstairs and drank a cup
And looking up I noticed I was late
Found my coat and grabbed my hat
Made the bus in seconds flat
Found my way upstairs and had a smoke
And somebody spoke and I went into a dream
That said, here's a typical day of a regular programming job:
9:30am - show up (10:30am in California)
9:30-10:15am - read last night's emails. Emails topics include group messages from executives, vague questions from sales/marketing/QA, help questions from other developers, plans and deadlines from your manager, and about 300 automated messages from dev bots you'll never read.
10:15-11am - reply to some emails and fix misc issues in code and build systems.
11am-11:30am - team meeting to discuss goals and deadlines.
11:30am-12:30pm - read the news and rally the troops to eat lunch.
12:30pm-1:45pm - lunch
1:45-2:00pm - read the news
2:00pm-6pm - actual work (including programming some new features, fixing bugs, setting up builds/releases, testing, researching issues on the web, reading/writing wiki pages). Special note: if your job is bad, this time will never be available to you and you'll be in meetings or filling out forms for IT/accounting.
1. Wake up around 8, start working around 9.
2. Respond to emails for ~30 minutes.
3. Program for 7.5 hours, usually having lunch while working.
4. Have dinner, spend time with family.
5. Possibly program for another 1-3 hours. The late night stuff might be a side project (or more likely) the most complex part of the current project I'm working on.
6. Rinse, repeat. Take weekends off and try to take a mental holiday to the largest extent possible (drink some craft beer, smoke some pot, play video games, go shopping, take the family somewhere, etc).
I get paid (relatively) large sums of money to solve (relatively) hard problems. The key to being successful in that is getting large blocks of uninterrupted time to work, and when the complexity of the problem warrants it, being able to get in a lot of extra time researching and trying out different things.
There is also some time getting on Skype with clients but I try to keep a steady stream of github activity / emails flowing their way so we don't have to kill too much time talking about the work we're doing. It's not that I don't like to talk to people -- once I get started it's hard to shut me up -- but I think meetings quickly become counterproductive.
I either work from home or from a local coffee shop. I have a (somewhat) high end headphone rig that gives me the privacy that I need. I drink coffee like water. I exercise a bit and try to eat as well / healthy as possible.
Dealing with burnout is a very real thing and I don't think it matters how disciplined you are. I come from a corporate / entrepreneurial background which granted me a "work before mental health" work ethic. I take what I do very (maybe too) seriously. Still, I find it entirely possible to push myself too hard then find it nearly impossible to re-engage. It's never the end of the world because I recover quickly (a couple days max) but it is something I have to be aware of. I often make breakthroughs burning the midnight oil but that comes at a cost.
Put another way, sometimes you feel like you could work through the night. Most of the time you shouldn't. You need to find a balance between getting things done short term and getting things done long term. There's definitely an art to it.
The life of a programmer will vary considerably based on what type of job they have of course but for me it's like the life of a writer or a composer (though I don't wow people at cocktail parties). I spend most of my time in mental solitude. I love what I do and it's lucrative enough that people generally don't think I'm insane for being as obsessed as I am.
I am currently working on a huge (for us anyway) web project with 100+ people actively developing every corner of our infrastucture.
So my day is like:Arriving at the office around 08:30-09:00. On Tuesdays I have an inhouse English training with a native speaker, which means a couple of guys just talking about kind of everything.
After arriving/English training, I get myself something to drink from the kitchen, turn my workstation on and check on my mails which are typically not many, so I got through them under a minute. I fire up my dropdown console to fetch the latest changes on our develop branch (we use Git and GitHub), log into our issue tracking system and into the CMS we are using.
After that I start working on any task I have assigned to me. I put on my headphones, open Spotify, select a neat album I like at the moment and off we go to Sublime and Eclipse-lands.
I interact with testers, UI guys, squad leads, technical architects and other backend guys regularly via Skype. Our team consists of fellow Hungarians, British-Indians, Frenchmen and Belorussians, so it is pretty diverse.My day is usually about implementing new features and handing them over to the QA guys when done. We have a standup meeting at 2 PM when the team discusses the status of the stories which are in the scope of our current iteration.
We have a lot of fun during the day, joking around while coding. I always bump into coworkers in the hallway or in the kitchen and we usually have a little discussion.
On Thursdays we have a so-called "Beer Lesson" at a local pub where a couple of guys from the office and anyone interested get together to have some drinks and speak English only with the guidance of our English "teacher".
So at 200+ companies. Half of your work week is dedicated to just constantly communicating what you are doing. (Everyone must know everything all the time).
At smaller companies, you tell the one person you work with what you are doing and thats pretty much it for the week.
Everyone's mileage will very but this has been a pattern I have seen in the industry.
11 AM - Check email, reply11:20 AM - Start the tasks in the current sprint. We do have a weekly sprint (Every thursday release)2:30 PM - Lunch3 PM - Discuss with team for any clarification / issues / improvements in current sprint3:30 PM - Work towards the sprint8 PM - Report to our CTO to test the day's work8 to 9 PM - Amends / improvement - Do quick fixes and mark it down to JIRA9:30 - Dinner
After 10 PM - Learn anything new / Work on passionate projects / ideas
Between would go through twitter at early morning like 8 to 9 AM
Yes, I am working in PHP web development projects. I use both Git / SVN for re-visioning depending on the project. Just that you know how a fellow PHP developer day would be :)
5% - Morning developer scrum meeting.
10% - Email.
65% - New product development and ongoing product feature development.
15% - Support-related bug fixing.
5% - Client meeting calls, product planning meetings.
I'm 9 to 5 working at a PHP web development startup. The 9 and the 5 vary as needed but I'm almost always home for dinner.
(PS: We're hiring if you're any good and willing to relocate to Cleveland!)
Sometimes it's 50/50 documentation and coding.Other times it's close to 100% coding/bug fixing.If you're at an awesome company, it can be: 75% coding, 10% task tracker fiddling, 15% StarCraft2.
Side note: Having the ability to listen to music is a must for me and has never been an issue.
From my experience the day to day is usually a mixture of:
Fiddling with Task/Bug tracking software. SCRUM meetings. Design meetings. Documentation. Coding. Design. Talking to clients/other team members/people.
All in all software devs have it pretty easy, if you're too stressed out or not enjoying your work( for an extended period of time, obviously there are deadlines and things that come up that need to be dealt with ),start looking around, there's plenty of work and competition.
I'd get the Thinkpad T440 with the 9 cell battery. It will cost you roughly the same as a MBA and less than a MBP.
The Thinkpad T440 is 4.0 lbs, 1 lbs heavier than a 13" MBA and between the 13" and 15" MBP in terms of weight (as you'd expect from a 14" machine).
I will say that the Thinkpad's touchpad isn't as good as the one found on Apple's machines (but those are industry leading). The display is also worse (although Windows doesn't take very good advantage of the "Retina" display anyway). However you gain more port options, battery options, you can upgrade it, it is cheaper, and less "showy" (so less likely to get robbed, etc).
If you REALLY want to get a Mac I'd definitely get the Pro just to somewhat counteract the VM performance loss.
My i5 Air, however, has a turbo boost option that up the processor speed from 1.7ghz to 3.7ghz when it's needed, and it's very fast comparing to my i5 lenovo running anything because of SSD.
It really depends on what things you wanna run on it. A VS, even inside a VM, the Air can handle the job easily. But if you want to run more programs on it, it will burn!
The upside of Air is the battery is awesome endless, giving that you don't have a lot programs running. On the other hand, and is the reason why I'd choose a Pro in the future, the retina screen!
Did you consider the Yoga? It looks pretty competitive.
Basecamp is Asana is Evernote is Trello. You have tasks, you assign them to people, and I think 99% of the time the reason people go with a certain tool is the look and feel.
I've found the main driver for productivity (and I know this sounds flippant) is to actually make an effort to be productive. If you aren't making an effort (or your team members aren't making an effort) the tool won't change their behaviour.
I need a natural language robot that can attend meetings for me and produce minutes and an artificial intelligence that can write an executive summary of those minutes, calling out anything should care about.
Alternately, I need a robot attached to the back of my task chair that smacks me upside the head every time my brain segfaults and crashes to reddit.
Alternately, I need a supervisor who doesn't need daily written status updated because we use a task management tool that is worth a shit.
I think productivity is partly good people, good open systems and partly leaving folks to get on and find the biggest pain points whilst not stuffing architecture up.
I think this works for non devs too and has next to nothing to do with productivity tools. I could have been using notepad and a shell and would have done as much useful work.
I've been experimenting with a Teensy 3 and an RN XV WiFly board. The cost is a bit higher than perhaps the all-in-one assemblies but they seem to come with strings attached.
If I'm going over WiFi I try to use OSC (or CoAP); basically the UDP path.
Next to explore is BLE. Then I have to look into 6lowpan.
One of my concerns with the items on your list is that they approach the Internet of Things as if it were little different than the Internet of Regular Computers. That is, HTTP or WebSockets over TCP, passing bulky messages, often requiring a central service to route every message. I'm skeptical this is the way to set up large numbers of small, low-power devices spread out over some distance coordinating with each other.
OTOH defining just what counts as IoT is tricky, especially with companies tagging everything as IoT because it sounds cool and hip.
I'm sorry I can't say much more about most things on your list. I've looked at them but as soon as I think it's tied to some 3rd-party service, or a special protocol, or HTTP-based, I lose interest.
(BTW if I'm wrong about any of them I'd love to know. But it seems they offer short-term gains in exchange for a certain product coupling.)
Teensy: https://www.pjrc.com/teensy/teensy31.htmlRN XV WiFly: https://www.sparkfun.com/products/10822
They're basically a stripped down older Arduino (none of the built in USB or other new features of the newer Arduinos) with built in wireless (433 or 915mhz depending on your region), and the developer has done a ton of work getting them to be incredibly low power, mostly by working around some decisions made in the core Arduino libraries. He has had some running off of coin cells doing a test ping routine for more than a year now, if I recall correctly.
You'd need a gateway of some sort to get the data onto the internet proper, of course, but he also makes a usb dongle with the appropriate receiver, which you could plug into a raspberry pi or even a wifi router that supports USB serial devices.
For prototype any of the above is fine but for an end product keep production/supply chain costs as your primary concern. Your end product will look nothing like any of the boards that you shortlist.
Source: Worked at a Semiconductor company for years.
POE would be nice for new builds where the cabling is not a problem but I don't think it is practical for anything you would want to retrofit into an existing residential structure.
If I had to bet, 6lowpan is probably going to be the winner in the wireless IOT fabric arena.
What microcontroller/board/etc is best depends totally on your application. Do you need low power, do you need processing power, do you need a significant web management interface?
I have chosen the STM32 ARM line and 6lowpan using atmel zigbee chips but your mileage may vary.
For $8 qty/1 you get: WiFi radio and IP stack and an 80Mhz ARM Cortex M4 with 200k of flash for your application. TI has great documentation and example code along with a dev. board for $29
Python, raspberry/arduino, legos, and a 3d printer maybe.For conceptually higher level programming: a turtle graphics framework like netlogo or pythonturtle.
Nothing beats being able to program things that interact directly with the physical environment, hence the hardware recommendations. The only reason why this teaching approach is not universal is that sometimes you might want to try things that require too much effort or resources to be done 'for real', like a robot fighting arena, for example. Turtle programming is nice because its syntax is agent-oriented. This way you express things like path finding, competitive behaviours (robots shooting lasers at each others, pew pew), and other things that are cool (not only for kids) in the most natural way.
Maybe your nephew won't be able to write bounchy interfaces, but if he can learn how program a robot to make it understand where it's located and how to outsmart other robots, he'll already have half a CS degree in his pocket even before going to university.
 http://coderdojo.com http://coderdojosv.com http://scratch.mit.edu/
Build K'Nex with him. Eat dehydrated ice cream with him and explain why it is often called "astronaut ice cream". Take him to children's museums where he can play with levers and such. Fly a drone with him. Heck, build and program a drone with him. Fix a bike together. Get a VCR for $5, hook it up to a TV but in pieces so he can see the parts move as the image comes on TV. Do the same thing with a DVD player right after that. Build model railroad together. Get ham radio certified. Visit whatever local planetarium / star gazing events are out there. Grab a multimeter and let him measure different things. Take two D batteries and connect them with a piece of steel wool and watch it light on fire. (Ok, maybe not that one...)
I think starting with HTML is ideal as it's very simple, the web browsers are forgiving of syntax errors, and you can visually see results right away.
You can then naturally transition into learning programming to generate HTML.
And I think it's important for most of this to be self-guided with the help of books and such. The results will be much slower, but I think it will be more fun and educational.
I don't have kids myself and thus no direct experience to share, but my friends with kids in this situation seem to have the best luck with the hardware-based tools.
Two that come to mind:
I'm sure there are numerous others these days.
And Scratch has a great community.
Maybe a bit of C++ in a few years.
A far more common story than any parent pushing their kid to accomplish anything is a parent burning their kid out so severely that they hate it for the rest of their lives. See forced piano practices etc etc. It's much easier to burn out a kid than the opposite. I'd be cautious.
A few other issues that have had me looking for alternatives:
* False choices for new tech. If don't say Yes to transitioning to something like Google Hangouts, they make it really easy for you to push the button that says yes to hangouts.
* Google Apps for Business is pretty expensive when I actually see how people use it. 9/10 it is just for them to have the Gmail interface with their own domain. A lot of people forget that Google Docs exists until they accidentally click the "Open in Drive" or whatever.
* Spam protection has degraded with time. I receive more junk mail now then ever before. I think part of the email is because of the next bullet
* Wrong emails happen very frequently. Probably 2-3 times a week for me I receive a wrong email from someone thinking they own my Gmail account. It has happened three times with Apple purchases alone. A custom domain would help mitigate this. These aren't malicious. They have my last name, but a different first name, but we have the same initial so I can easily see how they mess it up. Also the majority of people still don't realize the Gmail + sign trick or that periods don't matter.
* Lack of features. You added tabs? Thanks, ummm, I guess. Thank you for putting that in the Promotions tab when before every semi-clever person already had a filter set to move things like that into their own "Promotions" tab. That's the big innovation?
In other words, almost everytime I check ShowHN I'm hoping for a new Gmail.
Step 1, get a Gmail account.Step 2, live your life.
If you're worried about privacy, don't. I've personally taken email data from co-located machines to give to the government.
If it's a hobby, find a better one. Email administration is terrible.
His response to me (w/ irrelevant stuff redacted):
The short answer is that HN's goal is quality, so that's what we optimize for. Optimizing means trading other things away. One thing we're willing to trade awayif it's a clear win for qualityis fidelity to the original submission. HN's focus should always be on the content, and the details of the original submission are of little interest compared to the subject at hand. HN isn't a purist's kind of place. Our goal to make the front page and the threads as interesting and substantive as possible. We change a lot of things to serve that principle. If we knew how to serve it better, we'd happily break more crockery to do so. Someone (perhaps a purist!) will object that terms like "quality", "interesting", and "substantive" have no precise definitions and are in the eye of the beholder. True, but (a) they're not arbitrary either, (b) the alternatives suck, and (c) someone has to make the calls. We don't get them all right, but we do try hard to correct mistakes, and I'll defend the principle any day.
2: Original thread: https://news.ycombinator.com/item?id=7747401
If you want to add initial commentary on the link, write a blog post about it and submit that instead.
If a blog post reports on something they found on another site, submit the latter.
It worries me how much power a few people hold over submissions. A few flags on a popular topic, and it's burned to the ground. A few people complaining in the comments about the "original source", and the entire post is changed. It just feels wrong.
IOW it seems like transparency in moderation is what you really need. This would also solve the problem of original discussion referencing the old article no longer making sense when the article changes.
Every major article spawns countless knockoffs as media outlets compete for views. The HN guidelines ask you to post the original source. When you don't, moderators change it. When we don't, users ask us to.
This is routine moderation that we do every day. Tracking down better sources is one way that the community and moderators keep up quality here. We'd prefer it, of course, if submitters would do this before posting.
When I change a url, I often post a comment saying so. The other moderators can't, because they're not public. It isn't clear to me yet what to do about that.
Story submissions on HN are not the property of the submitter. They are pointers, not valuesthe content belongs to the source, and the HN slot belongs to the site and to the community. If changing the address in that slot makes the site better, we do.
(Comments are different. Story titles are not supposed to be your own words; comments are. We never change those, except on rare occasions when users ask us to.)
I know it sounds subjective and arbitrary to say "make the site better", as if by fiat, but it's less arbitrary than it sounds. The community nearly always agrees about one source being better than another. (I'd be surprised if there were much disagreement in the present case.) And on the relatively few occasions when users think we've made the wrong call, we usually change it.
1. High-end blogspam might be a more accurate way of putting it.
The bit about writing a blog post and submitting it is out-of-date based on current mod behavior. If you want to provide commentary, post the original source and add a comment. Links to blogs are nearly always pulled for the original source unless the blog is the original source on an overall trend, research, etc.
At https://news.ycombinator.com/item?id=8052399 it says right now: "Hacking Online Polls and Other Ways British Spies Seek to Control the Internet", which is linked to https://firstlook.org/theintercept/2014/07/14/manipulating-o...
What did you originally post?
It's been many moons since I've been to Digg, but it had a notification if you're submitting a post with a similar title/URL. While we're discussing it, it may not hurt to have a "previous discussion" list either.
Opinions, information other relevant factors can change over time, so it may not be so bad to revisit a topic.
2) mods usually mention that they've changed the source or the title.
3) I gently agree that having the title / source changed but leaving it attribed to the original submitter is odd. But at least that person is still getting the karma. I imagine people would be much less happy if the mods put their name on the articles.
4) So far I haven't seen any example of mod changing urls or titles that I disagree with; I have seen plenty that I am very pleased with.
Sorry to bikeshed here, but curious why it doesn't work this way? Too much work? Is there too much luck involved in making it to the front page & mods are interested in changing poor content into good content rather than hoping the good content will eventually make it there itself?
I'm going to demote this submission now. I will come back and read it properly when I have the several minutes it will take to do so.
I don't remember what happened to item 8052399 at the moment.
This has been being since very many years, so it doesn't really change anything per se. It's that you're just realizing it, and lately primary sources are being preferred more.
It's probably a good idea to give some visual indication to submissions that are tampered with though.
But in the end, they can have whatever rules they want and it would still be bad because of one problem that prevails all of mod activity: that there is just so infrequently any notification that anything happened. Don't enforce them in secret, leading us to wonder what, when, and why something happened.
If it is ticked on and then someone else changes the title or link, the the submitter's name is automatically removed.
They could just change the submitter and add something like "Originally submitted by xxx" below it to let people know it's been changed.
When a URL is changed, it is a way of saying, 'Look, we think this other URL is better for the discussion', while keeping the discussion. Daniel does a great job of mentioning these changes in a comment - hardly ever to a complaint. https://news.ycombinator.com/threads?id=dang for some of Daniel's comments.
Title changes are also generally good ones. Often they happen in response to a complaint.
If you don't like it, email the mods with why!
They do a fantastic job. I approve of changing the titles (even silently) or URL's, especially with a comment. If you have a complaint do feel free to email the mods about it.
And here's a thanks to the great work the mods do and to hoping they will keep it up.
You're only reading Hacker News thanks to their tireless work.
1.) Why do titles get changed?
2.) Why do URLs get changed?
3.) Why do things drop off the front page?
The first two questions are answered in the HN guidelines:
In short, is says to always avoid "linkbait" and misleading titles, andalways submit the original source URL. If someone suggests a URL to theoriginal source, then changing the URL helps everybody. The same is truefor changing bad titles. Regurgitated blogspam with a linkbaiit title isalways annoying, and most aggregators fight against it every single day.
The third question is tougher to answer, since you'd need to do a wholelot of reading. The two most common things which will cause the rank ofa submission to drop are users flagging the story, and setting off thevoting ring detector (i.e. trying to fake up-votes).
Sam Altman (hn user: sama, YC S05, and a YC Partner) mentioned the ringvoting detector issues here:https://news.ycombinator.com/item?id=7972941
And somewhere in the comments of our fearless public moderator DanielGackle (hn user: dang) was mentioned the issue about user flagsaffecting the rank of stories.
Your fourth question:
4.) Is it fair to attribute something to a user that they did notactually submit?
If you failed to follow the guidelines, then yes, it is fair because ithelps everyone else on HN.
For notes, I've had titles of my submissions edited for clarity, and theonly part that bothers me is that I made a moderator do unnecessary workthat I should have done myself.
EDIT: Found the link where dang mentions user flags sinking a story:
If however, people find out that HN is much more a controlled environment, they will surely turn away from HN. So instead of trying to control the whole thing just in return for a bit of increased quality, rather sacrifice a bit of quality for an open HN. Of course there can be some moderation, however, it becomes a bit tricky when titles and content is changed, and upvotes are controled.
I'm pretty sure one of the guidelines is to email in for these kind of questions rather than polluting the frontpage with these kind of posts.
Medication is not the only solution to depression. The internet is a bad therapist. Consider a real one.
Face it-- you're a unicorn. There's NO way you can just do Software Engineering. You're simply not wired that way. As for the stuff you hate to do, the challenge is mitigate and manage. Be upfront on your boundaries, set expectations. Moving forward-- meetings are on your terms and schedule. Applicable to your situation, here's a good read on setting the frame and prizing> http://pitchanything.com/book/
If you're changing jobs alot because you can't find one that suits your needs then you should be more aggressive and thorough in your search. Let those companies court you, not the other way around, and get everything you're hired to do written into your contract.If you're changing jobs that often just because you're supposed to in order to be considered successful then that's probably the biggest problem.
Freelancing is an option I guess, aswell as starting your own company without the intention to sell. That still makes for alot of work on the business side of things though.
Lastly, you seem like a guy who doesn't have too much trouble finding a job so risking your job by saying no seems like a small risk to take considering what you could gain. Also I'ld say that 9 out of 10 times you're just calling their bluff. You are an investment for any employer. If they lose you after 1-2 years they've basically thrown every penny they've ever given you out the window.
If you are not happy with your job/life, then you are not successful. Take a pay cut and tell the business dept to fuck off, or go work somewhere else. Having money in the bank grants you that luxury.
Maybe you can just consult? That makes is easier to turn down work you don't want. And don't list your business experience on your resume/LinkedIn profile.
Also something that might help is trying to keep your thoughts for yourself(keep your mouth shut) in meetings for things not directly related to engineering or your team's work aspect. This might be a bit harder at first, been there and it takes a good exercise but at least for me it was in a company where we didn't have meetings at 8PM with execs.
Propose a compromise: you will consult on biz dev, but during day work hours.
You should argue that the sabbatical is a years off unpaid holiday. Take a break, but still have connections and commitments to the company.
Sounds like you're a bit long in the tooth. Has your development experience gone stale? What's your area of expertise?
I agree with nobodysfool who says to revise your resume. Gear it completely towards software engineering. Remove your law degree from your resume.
Then, look for new work.
when he quit and came to work for us, the first thing he said was "i want to make it crystal clear that i do not want to be an executive at your company. i want to be a senior engineer. i want to stay at home with my family and take care of your technical needs."
when you are clear with your requirements, and you get clear requirements from the employer, good situations can arise.
having said all that, he didn't need the extra money that comes with being an executive - he's doing just fine - some people do need the money, however. it's just a question of personal priorities.
What do you do? If quality of life is more important to you than money, you say no to the recruiting. Otherwise, you say yes. We can't make this decision for you. Everyone's value ordering is different.
There are software systems within autonomous (and non-autonomous) vehicles that won't require such a specific academic background, but they would probably require some level of experience with embedded systems or systems programming.
If you're starting from scratch, many of them have recommended the following book as an approachable introduction to the field: http://www.amazon.com/Introduction-Autonomous-Mobile-Intelli....
Within the research community, ROS (http://www.ros.org) seems to be the standard platform. So perhaps put ROS on something and play around with it? You have to start somewhere.
I am at Boston University, and I know of at least one autonomous vehicle lab here. Most big universities will have something similar.
Apply and talk with them directly. The worst case scenario is that they don't even respond (unlikely) and I bet in the average case you might not get a job but you're learn a lot and have a fun conversation.
One of my earlier database apps for an in-office app ran on FoxBase, guess what people called it? It had the fox logo and such. Good or bad other programs were assumed to be "FoxBase" too because of the ID screen and lack of a definitive name, was kinda hard presenting it without a unique name.
The revised database system using PHP, I gave it a name: WANDA (currently stands for - Web Accessible Nimble Database Architecture) A whole lot better then its development name, "the Web Database" I think having a name helped differentiate it from other programs, also picking one that is short, fun, easy to remember also helps for word of mouth adoption. The different applications within WANDA have more mundane names like WANDA Mail List, or WANDA Librarian, but with WANDA being so short it works.
I don't know about weird names, you can get too out there and people wont be able to recognize or spell it much less remember what its called ("Cuil", "Xara Extreme", "Quark Express", really?)
I think proper names are a good start if nothing else comes to mind, especially if they relate to the application's purpose, or at least are easy to remember.
Mainly what I did was decide I wanted the name to be a female name that was an acronym for something (female being friendlier and more efficient sounding), so I listed out relevant words and started testing acronym ideas. WANDA was the first that struck - (the movie A Fish Called Wanda did have some influence there, gotta go with the loosely related Monty Python reference...)
Commercial projects or free projects that need marketability often take on names that are at least tangentially-related. The names "Windows", "Stripe", and "Cairo" are all at least somewhat related to what they do. Windows is a GUI-driven OS with windows in it. Stripe takes magstripe card payments. Cairo is a drawing library that no doubt got its name from hieroglyphics.
Rome. PieCrust. Square. Robin. Bluefin. Selennium. Uber.
The names don't mean anything. I saw "Rome" on HN just a day or two ago but the name is poorly chosen because I can't tell you what they do.
Named after Ward Cunningham, the inventor of the wiki.