Unity 5 released with upgrades, full-featured free version - <AUTHOR> http://www.gamasutra.com/view/news/237853/Unity_5_released_with_upgrades_fullfeatured_free_version.php <comment><USER2> I really love that these game engines are doing this. As a hobbyist game dev with a day job and a night-shift (tfwgf), one of the biggest hurtles that keep me building on html5 instead of on desktop was the demand that I had to pay $$ upfront before I have any idea if I can even finish what I'm building (much less how the market will receive it). I mean, I don't mind paying the engine company their demands if I can make money selling my game, but I'm already risking my free time on a project that may very well go nowhere, so I don't want to also risk my money. I'm sure plenty of other folk with great ideas and skills are in this boat, so by finally offering a free version, I'm sure we'll be seeing more and more esoteric indie games that tell great stories, introduce fun new mechanics, educate the player, or make us lose faith in American democracy on Steam instead of the nonstop rehash of mainstream FPS games.

As for me, it's finally time to start building that Sierra-esque ancient civilization city-builder game (i.e. Caesar, Pharaoh, Emperor, etc.).

<comment><USER3> Unity's been free for years, you've fallen for their advertising to upstage Unreal.

"Finally offering a free version"

Honestly, it's been free for ages.

Not only that but Microsoft had XNA which was also a free game engine that they only discontinued last year so you're wrong thinking that html5 was the only option. I don't think you really researched the market much if you thought that.

Plus if you are serious about an RTS you should read about AI war, who used Unity. It's interesting as if you want to do multiplayer in an RTS you can't use Unity's collision detection as the float calculations are chipset dependant.

<comment><USER4> What most people don't realize is that the IEEE Floating Point standard (754-2008) actually doesn't standardize when a float should be rounded. Since most CPUs/GPUs are able to do FMAs (Fused Multiply-add)'s that are rounded after the operation, you get a different result than if you were to do a multiplication operation, then round, then add, and then round again.

I'm pretty sure Unity would be able to fix this if they had their compiler always handed rounding the same way.

Also: If you want to see a sane way to handle floating point, check out the Unum format ([http://en.wikipedia.org/wiki/Unum_(number_format)](http://en.wikipedia.org/wiki/Unum_\(number_format\)))... higher precision than IEEE, doesn't have rounding errors, and uses fewer bits.

<comment><USER5> Here's an outstanding article that goes into the nuance of actually achieving floating point determinism: [http://gafferongames.com/networking-for-game- programmers/flo...](http://gafferongames.com/networking-for-game- programmers/floating-point-determinism/)

My takeaway: It's hard enough that I'm probably never going to attempt to implement lockstep simulation, and if I was forced to I'd probably do everything in fixed point for my own sanity.

</comment></comment></comment></comment><comment><USER5> In my mind, the use case for Unity is mobile and other downlevel hardware. I still wouldn't try and target mobile or low-end PCs with Unreal Engine 4.

That said, I'm still uninterested in using Unity because of the implications of having a black box engine that underlies your project. Being able to step into the engine code is too important to my understanding and my ability to debug problems, not to mention the possibility to implement your own bugfixes or otherwise modify the engine.

In addition, the collaboration story with Unity still isn't great once your team scales past "tiny." Unreal and its Perforce integration were built and battle-hardened in the forge of AAA studios with hundreds of artists; Unity still encourages you to use a proprietary "Asset Server" which they charge extra for, and even then it gets awkward and prone to irreconcilable merge conflicts once you go past two or three people on a team.

Having said all that, yay competition!

<comment><USER6> Unity doesn't suggest anyone use the Asset Server anymore. In my conversations with them, they actively discourage its use and point to their SCM plugins (which they've open-sourced) as the recommended solution.

<comment><USER5> That's good to hear, I think it's strange that it ever existed in the first place.

</comment></comment></comment><comment><USER7> Unit is really easy and fun to use. Here are my three favorite tutorials. Takes around 1 - 2 hours to go through each one if you know how to program.

[http://unity3d.com/learn/tutorials/modules/beginner/2d/2d-co...](http://unity3d.com/learn/tutorials/modules/beginner/2d/2d-controllers)

[http://pixelnest.io/tutorials/2d-game- unity/](http://pixelnest.io/tutorials/2d-game-unity/)

[https://www.youtube.com/watch?v=7dP7R-GbFkM](https://www.youtube.com/watch?v=7dP7R-GbFkM)

I was able to put my high school friend in a platformer within a day.

[https://www.youtube.com/watch?v=RpiZF7bjQ3U&feature=youtu.be](https://www.youtube.com/watch?v=RpiZF7bjQ3U&feature=youtu.be)

The only complaint I have is that it doesn't make webgames.

<comment><USER8> Would you do them in the order you linked them? I've been wanting to make a 2d game but hadn't found good tutorials yet.

<comment><USER7> Yes. Just do them in that order.

</comment></comment></comment><comment><USER9> UE4 is a complex beast that will take a long time to master. It takes a team of specialists to truly leverage its power. UE4's market is high-end PC and console titles. UE4 is pretty.

Unity targets small shops and indie devs. It has quick iteration times for rapid prototyping of gameplay mechanics. It takes more work to make things pretty in Unity.

It will be easier for Unity to ramp-up its visual fidelity than it will be for UE4 to revamp fundamental workflow. We're already beginning to see these changes, like new GI (global illumination) system and physically-based materials in Unity 5. Perhaps Unity v6 or v7 will have graphics on par with UE4.

<comment><USER10> Although you seem to know what you're talking about, my experience isn't that clear cut.

I've used UE4 quite a bit. Just using blueprints, I didn't feel like I needed to be a specialist to do really cool stuff. And I wish it had something like C#. Also, it wasn't that quick to get something looking great in UE4 and took quite a bit of practicing.

</comment></comment><comment><USER11> Unreal Engine comes with full source updated live on GitHub, that is worth its weight in gold, sadly not even the Pro Unity subscription version comes with that option.

<comment><USER12> Unity does license the source code to enterprise customers though, although I guess that is negotiated on a per customer basis?

<comment><USER11> I think that's the issue though, hard to compete with getting it all for free without any lawyers or needing to even ask, especially when you are a paying customer. It will take time but with the source for Unreal being on GitHub it has the potential of becoming an actual "open" standard of sorts given how much the community can contribute back. It also makes it a greater platform for experimentation for universities and students in addition to smaller shops that can't afford to license it. Usually when a company says that the source can be negotiated separately the price is of the form of: "if you have to ask..."

</comment></comment></comment><comment><USER13> I recently released my first game using Unity: [http://newbeings.com/](http://newbeings.com/) and I spent a real long time weighing the different engines. I wish I hadn't spent so much time deciding on an engine, and had just picked one and gotten on with it. I think the differences are pretty negligible for first (and probably even third and second) timers. This news makes me happy!

</comment><comment><USER14> Sadly, you still have to fork out the full $1500 for the dark UI skin ;)

Having full access to render textures and framebuffer stuff is a godsend though. Looking forward to experimenting with the audio as well.

They also seem to be setting up a discount program for the Asset Store, as well as a cloud build system (for mobile/web only so far, though).

<comment><USER15> > Having full access to render textures and framebuffer stuff is a godsend > though.

I haven't used Unity, but I've written my own game engine. Unity didn't used to expose the GBuffer textures?

<comment><USER6> Previously, render-to-texture was a Pro-only feature.

</comment></comment></comment><comment><USER16> It seems this news is a direct reply to yesterday's move from one of their competitors, Epic's Unreal Engine 4 announced to be free* to use.

link: [https://www.unrealengine.com/blog/ue4-is- free](https://www.unrealengine.com/blog/ue4-is-free)

<comment><AUTHOR> Ya, as far as pricing it now seems there is no debate. No rev share and only having to buy the pro edition if you exceed 100k in revenue makes Unity superior on the price imo. Of course there are other factors to consider depending on the project.

<comment><USER17> What about version control? I remember you had to have Unity Pro in order to be able to use version control with other people in a sane manner.

<comment><USER18> It's super trivial now to set up your own version control at the command line. One check box in editor preferences and I was up and running with my own private free mercurial repos on Bitbucket.

<comment><USER19> I remember this being the biggest pain in the ass with unity, so much so that I did want to use it for team development, so this is huge if they solved it.

Do you happen to have a link to which setting to switch?

<comment><USER18> Here you go!

"This is done by selecting Edit->Project Settings->Editor in the application menu and enabling External Version Control support by selecting Visible Meta Files in the dropdown for Version Control. This will show a text file for every asset in the Assets directory containing the necessary bookkeeping information required by Unity. The files will have a .meta file extension with the first part being the full file name of the asset it is associated with. Moving and renaming assets within Unity should also update the relevant .meta files. However, if you move or rename assets from an external tool, make sure to syncronize the relevant .meta files as well."

[http://docs.unity3d.com/Manual/ExternalVersionControlSystemS...](http://docs.unity3d.com/Manual/ExternalVersionControlSystemSupport.html)

</comment></comment></comment></comment></comment></comment><comment><USER20> > This graphic, provided by Unity, will help make things clear:

What a joke. Both include "Unity 5 engine with all features." Except that they don't. If you click "Get Unity 5" you see a list of differences[1] between the two. That list used to be a little longer though.

[1]: [http://unity3d.com/get-unity](http://unity3d.com/get-unity)

<comment><USER21> It looks like the list of differences is differences in tooling around the engine and/or licensing, not differences in engine features, though.

<comment><USER22> There is also the source code. Being able to take a look under the hood is critically important. (trying to modify is insane, but just knowing that you can see what is going on inside makes integration and bug hunting much faster)

<comment><USER23> Pro license doesn't give you source access, that's negotiated in their enterprise license, which had always been the case. Idgo so far as to say if you're not modifying the source having it available doesn't add much for you.

</comment></comment></comment></comment><comment><USER24> Valve Announced Source 2 will be free for developers: [http://www.polygon.com/2015/3/3/8145273/valve- source-2-annou...](http://www.polygon.com/2015/3/3/8145273/valve- source-2-announcement-free-developers)

</comment><comment><USER25> I absolutely love unity. I've been playing with it on and off for the past few years and it has been surprisingly easy for me to pick up. The free version has a pretty spectacular feature set.

I've had a lot of fun with 2d mode- as a learning project I recreated the Monkey Island I Melee Island scenes with mixed sprites from Monkey Island II. Such a blast re-creating a game from my childhood. I really need to find more time for this stuff.

<comment><USER26> The problem with Unity from game-player POV is that it's too easy. It means that anyone can make games, and I've seen too many games now that have beautiful art and crappy play experience. The games feel slow and controls sluggish. It seems that developers assume that Unity would take care of everything and they do not have to consider performance of responsiveness at all.

Whenever I see Unity splash logo I'm getting mentally prepared for mediocre experience. Unless it's a strategy or point&click game where performance is not important.

<comment><USER14> Would you suggest making it harder to develop games?

Nintendo tried that with the Nintendo 64:

 _Yamauchi took a different approach with the SNES ' successor the N64, however, which was released in 1996 at least partly to distract attention away from the disastrous Virtual Boy. Yamauchi admitted at the 2001 Space World event that he had deliberately ordered the N64 be difficult to develop for. The intention behind this was to discourage untalented third-party developers from releasing poor-quality games -- it was no longer practical for Yamauchi to personally approve every game -- but the plan backfired somewhat: given the commercial success of previous Nintendo systems, third-party developers were still keen to get their games on a Nintendo console, and this consequently led to a number of sloppy, low-quality third-party games that clashed significantly with the high-quality first- and second-party titles that were being released on the platform._

(from [http://www.usgamer.net/articles/hiroshi-yamauchi-the-iron- fi...](http://www.usgamer.net/articles/hiroshi-yamauchi-the-iron-fist-in-the- velvet-glove) )

<comment><USER26> I don't. It Unity's goal to enable as many potential developers as possible. It's also their curse.

<comment><USER27> What you're saying is true, but it doesn't matter. Good games with good performance float to the top, get featured, get shared, get popular. Not so good games fade away, and hopefully the developer learns something and tries harder next time. It's all good.

</comment></comment></comment></comment></comment><comment><USER28> I was debating over trying out Unreal vs Unity last night. Unreal was looking more capable in its free version than Unity 4 Free, but I would prefer to learn C# over C++. This release makes it an easy choice to give Unity a whirl!

<comment><USER29> I've seen this type of comment before but usually in the context of someone that already knows either C# or C++. As someone that doesn't know either what factors make you want to learn C# over C++?

<comment><USER30> C#'s tooling and ease-of-use really blows C++ away. Plus there's the safety, where it's rather difficult to introduce a memory-safety issue into C# code, vs C++ where we see vulnerabilities every week due to this problem.

I doubt people use C++ if they have another choice. The big problem is that C#'s implementations do not handle memory well enough. The default for them is to heap-allocate most objects, then leave it up to the GC. This means a lot of hacky code to achieve good performance, but it still can't match C++ in many cases. (I'd guess that many apps could see a good double-digit% increase in perf in C# if you could just use the stack more often.)

Plus, if you can use C#, you can probably use F#, which is a far better language than either C++ or C#. Whereas if you need to be runtime-free and C-ABI compatible, your choices of expressive languages are rather limited (Rust being the most exciting one, probably.)

Edit: Also, C++ compilers tend to do a far better job at codegen. Though MS is starting to hint that they're gonna up their JIT story, but they've got a long way to go.

Edit: As to why you'd want to _learn_ one or the other, if you're in games, it seems like you should probably learn C++ because it's so prevalent in games. C# is easy enough to pickup on the side though.

<comment><USER29> While I appreciate your well thought out reply I don't think you have the perspective I'm interested in learning about. From your reply I'd say you already know at least one of the two. I'm interested in knowing why someone without experience in either would choose C# over C++ or vice versa.

<comment><USER31> Maybe I misunderstand, but I don't think you want the advice of someone who doesn't know either, you want the advice of someone who knows both well.

FWIW, I'm a longtime C++ user, and used C# with Unity for a bit. I would recommend C++ if you need high-performance, low-level control, or access to native APIs. I would recommend C# if you want good performance in a Java-like language with the best parts of Java and C++. Also if you want to get a job with the Microsofty sorts of companies that have historically used C#.

However, you are more realistically constrained by your 3D engine. Unity does not have the option of C++ (to my knowledge). I'm assuming Unreal does not support C#. In the case of 3D engines your choice of engine is much more important than language.

<comment><USER32> > Unity does not have the option of C++

It does on the professional version via the plugins system.

[http://docs.unity3d.com/Manual/NativePlugins.html](http://docs.unity3d.com/Manual/NativePlugins.html)

</comment></comment></comment></comment></comment></comment><comment><USER33> I'm sure I'm nitpicking here but this is a huge deal for me: forcing a branded splash screen onto the final product. Ugh! Why?! I understand a ton of work has been put into this engine and Unity is graciously offering it for free, but indie software is an individual's art. When an artist paints a portrait, you don't see a "Powered by Winsor & Newton Acrylic Products" stamped onto the bottom of the canvas.

I'm sure I'm coming off harsh here but seeing that limitation really turns me off from an otherwise unbelievable proposition.

Edit: spelling.

<comment><USER34> It's removed if you upgrade to the pro version. Seems like a fair deal to me as it means studios who can afford it will pay, while indie developers just getting started don't need to.

</comment></comment><comment><USER35> Xamarin, we're looking at you... :)

<comment><USER36> Can you use Unity to make regular (non-game) apps like you would with Xamarin?

<comment><USER37> as I understand it the "game loop" that is inherit in the Unity engine makes any app made with it a battery hag. Unity does not have an event based system, so it uses a lot more cpu then regular apps.

<comment><USER38> Overusing Tick or Update in any engine is a hog.

You can do event based work with your own Messenger such as ([http://wiki.unity3d.com/index.php?title=CSharpMessenger_Exte...](http://wiki.unity3d.com/index.php?title=CSharpMessenger_Extended)) or the new ui system has an event system. You can also use C# delegates/events/callbacks as desired.

Their previous OnGUI based tick UI was meant for before mobile and caused many of these slower games. But there have been nice GUI systems like NGUI to help that. Their GameObject based SendMessage is too hefty and probably many new devs use that and have laggy games. Their core out of the box UI and messaging before Unity 5 was made for an era before mobile.

But if you know what you are doing it is C# underneath and you can always implement a messaging/event system, and many implemented their own UI or used popular assets like NGUI, EZGUI or DaikonForge (before they bailed when the new UI was released). The new UI is strongly influenced by NGUI as the original asset maker worked there on Unity UI, it took some different routes after he left but both are now very performance focused for mobile.

Garbage collection is one area where current mobile speeds are poor and hopefully IL2CPP can get to a place where it is optimized for that case. Now that Unity controls down to the metal it should be faster and better over time. They previously were locked to Mono 2.x performance on iOS though they still have to convert all their platforms other than iOS and WebGL.

</comment></comment></comment></comment><comment><USER39> Is unity planning to upgrade mono with the recent license changes? Or are those license changes still not good enough?

Are they planning to improve it's VCS friendliness problems?

</comment><comment><USER37> In Unity 4 there was this weird licensing model where certain IOS/android features were not available for the personal addition (such as UDP broadcast, or network access).

Is this still true? or is unity 5 personal addition really contains all features?

<comment><USER40> I believe you can deploy on iOS and Android for no extra cost.

</comment></comment><comment><USER41> Does that mean it supports Oculus? The previous Personal version didn't.

<comment><USER42> It does, and the previous version actually did support Occulus. They released a free plugin for it (the free version of Unity) a few months ago.

<comment><USER5> With Unity 4, only the Pro version supported the Oculus Rift plugin, because the Rift SDK relies on render-to-texture support, which was disabled in the free version.

Now the free version of Unity _also_ supports the Rift. That is indeed new.

EDIT: I am totally wrong!

<comment><USER42> Nope, they specifically released a Rift plugin for the Free version of Unity 4 just a few months ago. [http://blogs.unity3d.com/2014/12/23/calling-all-vr- enthusias...](http://blogs.unity3d.com/2014/12/23/calling-all-vr-enthusiasts- target-the-oculus-rift-with-unity-free/) With full lens correction that needs render-to-texture. Render-to-texture is still disabled in Unity 4 Free, but it is specifically allowed just for the Oculus plugin.

<comment><USER5> Oh, I stand corrected! Thanks for clarifying.

</comment></comment></comment></comment></comment><comment><USER43> from the changelog[1]:

• Removed "Make MMO" button from Edit menu. ;)

[1] [http://unity3d.com/unity/whats- new/unity-5.0](http://unity3d.com/unity/whats-new/unity-5.0)

</comment><comment><USER44> I just tested the WebGL export with a very simple 2D scene. It produced a 24MB compressed JavaScript file. I'm guessing it's the entire Unity engine that's portable to WebGL compiled with Emscripten. I wonder if it's possible for them to leverage the Closure compiler to strip out the parts of the engine your project does not use.

Anyone from Unity here who can comment on this?

</comment><comment><USER45> Title should have read "freeware versions". Considering how much stuff around mono is now free (as in FOSS, and not merely "freeware"), it's nice to state the difference clearly to avoid confusion.

I had kinda gotten exited for a bit there. :(

</comment><comment><USER46> License server down for maintenance. Throw some more coal on it :)

</comment><comment><USER40> Now I can deploy to iPhone and Android for free!!! Yippee!!!

<comment><USER47> There are still $1500 Pro exporters for IOS and Android listed on the site.

<comment><USER48> You are always able to export to mobile with Unity Free (now Personal) but now the Pro Mobile features such as Static/Dynamic Batching, Code Stripping which is now included in the Personal version.

The only main difference is that you are paying $1500 to remove or have custom splash screen when you deploy to mobiles.

</comment></comment></comment><comment><USER49> Nice response to Unreal Engine price change. Now the hard part is trying to pick which one to learn and use. Competition is a good thing.

<comment><USER21> The timing is really, really close, but it's hard to believe they were able to roll all of this out in a day -- it's a new version on top of the licensing change. I think it's more likely to be a response to Unreal Engine's earlier price change of $19 a month than a response to yesterday's news.

<comment><USER49> Yea, but they've been marketing Unity 5 for a long time now. Finally they just said "screw it and release it to public".

<comment><USER23> I doubt they just said screw it lets release. This week is GDC so both companies were likely to make large announcements during GDC IT just so happens that epic didn't wait for their keynote, meaning it's more like unreal said "screw it lets just go for free"

<comment><USER49> They had to. Even their forums exploded with people asking about this. And honestly, I'm very glad they did it. Now I have two game engines to mess around with.

<comment><USER23> My point was that they had most likely planned on releasing during GDC anyway, (which is this week)

</comment></comment></comment></comment></comment></comment><comment><USER50> I just bought Unity Pro with iOS and Android for personal use around a week ago :(

<comment> nezza-_- Their FAQ says they might offer refunds in that situation, contact them.

</comment></comment><comment><USER51> This is amazing news! Really glad render textures are now available.

</comment><comment><USER52> Why no Linux version?

</comment><comment><USER53> so im at crossroads here. I downloaded UE4 engine yesterday but now that Unity is free I'm also taking a look at it to see what I can do with it.

Does the cloud build service lets you build iphone games without an apple machine? What about for submitting games on the Apple market?

Also, what does unity do better than unreal? Is unity suitable for building mobile games and high concurrent multiplayer games?

<comment><USER54> Cloud build will probably send you iOS builds, but testing for those devices through that service is going to be a pain. I'd say you really want to run things in the simulator for a quick testing cycle.

<comment><USER55> The iOS simulator is ridiculously faster than a real iOS device and far less memory constrained. You can't develop an iOS game without an iOS device for testing.</comment></comment></comment>


Ask HN: How do I escape webdev? - <AUTHOR> I'm a self-taught spaghetti coder webdev with thirteen years of beginner experience; mostly learning by googling how to do everything as I built web apps for small businesses or wired up forms and APIs through agencies. It worked for a long time, and yeah I'm probably that guy who wrote that stinky codebase you're dealing with. I'm not particularly proud of that.<p>Anyway, my "skills" (heh) seem to be mostly irrelevant now. I hated frontend ever since the responsive era, but I got by sticking to less design intensive stuff. These days the web is evolving very rapidly and I've kept up sorta, but I'm not passionate about this field, I'm getting older and there's lots of competition now and I'm unemployed. I basically want to get as far away from Node and React and CSS as possible. What's a good path out? <comment><USER2> So you want to write spagetti in another language because webdev is getting too difficult? In my opinion one should strive to learn their craft well, and if you havent by now, you should very quickly educate yourself out of writing bad code. Otherwise it's a habit that keeps you feeling bad about you and your code and hold you at disadvantage against that competition you are so worried about.

But if you think a break in another domain would just magically make everything better, try becoming an expert in some obscure domain in some not- well reputed company. There most of your work will probably end up be muttering a few words in meetings and drinking coffee, with no one to tell you what to do as they dont really understand your domain.

There are a lot of codebases with really bad code that no one wants to take care of, so findind a gig like that would probably also pay you well.

<comment><USER3> Honestly it sounds more like OP is stuck int the bad code trap because they work alone. Couple that with web dev and of course the world would seem bleak. Frontend code can be beautiful and maintainable but not having senior people to help you even know what that means sounds frustrating to me. my vote is to join a company as an intern/junior and grow.

<comment><USER4> 100%. I worked alone for a few years. Again self taught web development. I tried to read the "best practices" for the languages I was learning. But it was bugs galore and code I feared maintaining after release.

I then spent 5 months at a company in a team where every bit of code went through a peer review process. Even I was responsible for reviewing others code. I learnt a hell of a lot, we barely had any bugs and if we found a bug, it was usually easy to fix. Since then, writing maintainable and (importantly) readable code is my standard and I try and help other Devs do the same.

<comment><USER5> It's nice how you are telling the OP to _just learn to write nice code_ and then you support it by anecdote about how others taught you to _write nice code_.

I am not under the impression that OP wants to continue writing bad code.

<comment><USER6> He's telling the OP to _join a team who will support you_.

<comment><USER4> That's exactly what I was referring to. I thought by replying to the comment that mentioned joining a team would have provided the context of what I was agreeing too...

</comment></comment></comment></comment></comment></comment><comment><USER7> Self taught developer here.

I learned to write better code by making code testable. When writing spaghetti code with a few tests, I'd create a big mess that worked. But then I'd try to add a test for something new and I couldn't figure out how to make it work. After coding myself into a corner enough times, I'd eventually learn to create more flexible abstractions. And eventually the code started making a bit more sense out if necessity.

The next big jump in my understanding was learning Elixir and the actor model. Learning how to write async code that didn't get a reply and where messages might not be received was huge.

I didn't get my first dev job until I was 40. I most definitely understand what it feels like being older than my peers in this industry. My secret weapon is knowing my shit and working my ass off to stay relevant. This is a hard industry if you don't like it enough to keep your skills sharp. Like you, I don't relish front-end development, but I do my best to learn what I need to know as needed.

</comment><comment><USER8> I've got a friend who almost exactly met your description a few years ago. He moved into technical sales at a midsized SaaS startup and its been a good fit. If you're technically inclined enough to write even hacky code that works, you can probably wrap your head around a companies software product enough to do technical sales.

</comment><comment><USER9> A lot of websites these days are "build to last", but that is almost always a sales argument with very weak evidence. It just sells well to the client because they think they buy something for the future. And every agency or freelancer sells the same lie.

We make websites according to the latest fad and all your work will be thrown out when the business decides to change agency, framework or rebuild everything in some marketing automation tool. I've worked in an agency for almost 10 years and I have accepted that fact.

No matter how beautiful your code is, most web code is thrown away after a couple years anyway. It is just has to do what it is supposed to do, nobody cares about the code.

Agencies also deliver spaghetti code, what is the definition of that anyway? All code is spaghetti in some way. All real code is a mix of different styles and approaches. It will be a mix of OOP, Functional, declarative, imperative code. It is all custom build by different people with different backgrounds.

If you want to work on a more structured codebase then try applying to a company who have 1 product and 1 big codebase. You are likely to find much more structured code there because organising codebases take a lot of time and effort. For a larger codebase with more people working on it things like design patters, rules, best practices, linters and tests will become useful and teams will add then over time.

You will not easily find all of that in web development simply because there is no budget for it. There is only 1 goal in web development. Add as much business value in the least amount of hours.

You can be proud on what you delivered for the businesses you worked for. You solved their problems and you created value for them. No matter what the code looks like. As long as it was secure and it worked then it was perfect for what it was supposed to achieve. Don't be so hard on yourself.

</comment><comment> d--b \- mobile / desktop apps. Very frontendy but less messy than web.

\- start a business yourself with your skills to build the mvp then hire people to do the front end work and move to core business work

\- build the mvp for another startup and move to core business work

\- do more BI stuff. BI people will hire you to make charts and shit. Then you can learn BI there.

\- make fake interfaces for movies ?

\- teach

<comment><USER10> Please don't become a teacher if you're not passionate about what you teach. It'd be a personal and social harm.

<comment><USER11> Vouching your comment, as this is a very valid point. If the OP is sick of webdev, they the likely end case is that they will just end up discouraging their students.

</comment></comment></comment><comment><USER12> > I'm not passionate about this field

What are you passionate about?

> I'm unemployed.

Now is the best time to really ask yourself what you're passionate about and how you really want to spend your finite time on earth.

> I basically want to get as far away from Node and React and CSS as possible. > What's a good path out?

It's hard to give any suggestions without know what you want to get more into? Do you enjoy web development but hate what it has become? If so, you're not alone for example the NoScript extension has 1,688,456 users in the Firefox Add-on store. You can still make web applications with 0 lines of JavaScript. Just hare React? Well, jQuery didn't stop working when React was invented.

</comment><comment><USER13> When you ask for another path out, do you mean in programming or another field?

There's always lots of jobs in app development, back end, game development, AI/ML, and so on. You still have a baseline of usable skills, mainly debugging and knowing why spaghetti code is bad.

It also sounds like you've been in some bad companies with poor mentoring. You might have to move around a bit, work with a better culture, but they uh, don't hire people who aren't brilliant. It's a circular problem, but moving might help. Code Review Stack Exchange and Programmers SE are good for pointing out otherwise obvious things you have never picked up.

</comment><comment><USER14> Go learn Rust (no pun intended). You can still do web stuff with it, but it will open new paradigms for you. With the stricter rules it enforces on you, your craft will level up. Not sure where to go from there though :)

To leave frontend behind, you can maybe check out database focused projects, try devops, learn graphics or the ultimate answer: try management as a team lead or product owner, I'm sure in 13 years you've seen web project from all angles.

If you have enough money left, try to relax, read some IT classic books and don't think about work for a while, you will know what to do most likely.

<comment><USER15> Why rust vs python or golang?

<comment><USER16> Rust has a few interesting things going for it versus Golang.

It's more difficult to learn, it's more intimidating to get into and keeps more devs away because of that, and it's in high demand. That can be a great combination for job security.

Golang and Python are also both perfectly fine and in demand, however they don't have the complexity / difficulty barrier to entry that Rust does. In terms of candidates in the job market, Python is pretty well flooded at this point (especially for less demanding work).

If you wanted to stand out from a pack, I'd choose Rust over Golang and Golang over Python. However you'll see a lot of lower-mid and mid-tier ability devs in Golang that have come from languages like PHP, because it's fairly easy to dive into. You don't see that nearly so often with Rust.

<comment><USER17> I have literally never seen a Rust job advertised anywhere. I think it's 'high demand' in our minds because it's so esoteric outside of Hackernews

<comment><USER18> The March 2020 "Who's Hiring" thread from two days ago on this very website shows five jobs, with two more where Rust knowledge is a plus.

[https://news.ycombinator.com/item?id=22465476](https://news.ycombinator.com/item?id=22465476)

<comment><USER17> Well, I think my point stands. It's in-demand within the HN bubble but is unheard of outside it

</comment></comment></comment></comment></comment></comment><comment><USER19> Everything is becoming a huge database with some light interface stuck on top of it. Maybe you can apply your webdev skills in another industry. I think "ai" products will need webdev to sell and work.

</comment><comment><USER20> I know what you mean. While web is unavoidable in some area for the 'instant deployment' benefit it brings (in consumer internet...), it lacks in my opinion a solid architecture fundation (separation of business data and layout...), and we pay a high price for this (costly development, high cost of obsolescence...). So I prefer to avoid web development when I can.

Also, many development environments (not only web) are not keen with 'medium skill' developpers: the architecture is too complex that it is a mess just navigating around, and it requires self discipline and experience to organize your development. There should be, in my opinion, a 'safe place' for people whose job is just to transcript business requirements into working code without requiring extra 'architecture' skills. Most IT departments of companies have this 'medium skillset' population, and as a result, there is a lot of waste and drama.

With that in mind, I spent around 1 year of my private time designing a low- code framework to provide enteprise IT developers with a 'medium skillset' an efficient tool to develop business apps. This is fully open-source, so do not hesitate to have a look and get involved ( [https://openlowcode.com/](https://openlowcode.com/) )

<comment><USER21> Instant deployment and obsolescence is the same sentence. Do you not see the contradiction? Also, how on earth does the web not have a separation of concerns between business logic and UI?

<comment><USER20> Hi,

I am not sure what your point is. Instant deployment is an advantage of web architecture: you have nothing to do on the user device for them to use the new version of your software (barring some rare issues with browser cache).

On the other hand, so far at least, a web application does not age so well at the timescale of enterprise software (an application will live 10-30 years in a company). So we have an obsolescence problem often, i.e. a 5+ years old application will need to be rebuilt to use more modern technology, often at a high cost.

Originally, web architecture mixed in web pages presentation and business data, a result of an hypertext architecture being used for transactional software it was not aimed at at the beginning. Sure, there have been billion of dollars of investment in web technology since then and a lot of things have improved. However, I have the strong feeling things are still messed-up, especially for developments 'in the wild' for team who do not have strong architecture skills.

</comment></comment></comment><comment><USER22> DevOps would seem the perfect path out to me. You won't have to work on code anymore, but you could still use your coding experiences when implementing deployment solutions.

</comment><comment><USER23> As a self-taught developer (although I don't think self-taught has anything to do with it) I strongly relate to you! I'm currently a full-stack and working hard to transition away from webdev. The first (and probably hardest) thing for me was to decide what to transition towards, and that's a question that only you can answer. If you are self-taught I'm gonna take a guess that you once had this huge curiosity and strong motivation to learn coding! You probably skipped sleep from time to time because it was such a rush learning all those cool things! One clue to decide what to transition towards could be finding again that same motivation that made you learn by yourself in the first place. As an example, I'm currently learning x86 architecture, assembly, C, kernel development, etc... because (after a few years exploring) I finally decided that I want to transition towards low level hardware programming.

Another idea about transitioning could be taking a break from development. Maybe there are other technical skills that you have or can learn (i.e. video editing, 3D design, penetration testing, etc...) that might spark that original flame or leaning and enjoying what you do.

One last thing is, take a look at the flow state. I remember reading the book "Deep Work" in a time that I was in a job that I hated and about to throw the towel and the ideas in the book completely changed my experience at work. It was still the same job but my attitude was drastically different and I started enjoying immensely what I was doing! (Still quit and got a better job... bad organizational culture is quite hard to fix)

Anyways, wish you the best in your search!!

<comment><USER24> > Another idea about transitioning could be taking a break from development. > Maybe there are other technical skills that you have or can learn (i.e. > video editing, 3D design, penetration testing, etc...) that might spark that > original flame or leaning and enjoying what you do.

As someone who is in the same boat as OP, I think this is the path I want to take. I am currently learning UI and Product Design to augment my web coding skills.

Seems to be a natural path since I got frustrated that I can code websites but couldn't conceptualize one in the first place.

</comment></comment><comment><USER25> You could always try your luck with middle-out compression.

</comment><comment><USER26> > I basically want to get as far away from Node and React and CSS as possible. > What's a good path out?

.net core or spring boot?

<comment><USER27> If it's going to be .net, give Blazor a try: [https://dotnet.microsoft.com/apps/aspnet/web- apps/blazor](https://dotnet.microsoft.com/apps/aspnet/web-apps/blazor).

Still, this does not completely skip de design/style part.

</comment></comment><comment><USER28> I understand you. I am also self-taught webdev working in small company with loooots of legacy/scary code behind us.

I somewhat lost interest in new cool frameworks/technologies and somewhat stagnated in "JQuery era".

For me, these three ideas helped:

1) have life outside work. Have some hobbbies/friends/social activities. Do not try to find meaning in work.

2) do something completely different with computers. For example - I started making computer music, coding my own VST instruments in Csound etc...

3) try new technologies in meaningful project. Not just code for code sake. For example: I am currently implementing custom point of sales system for friend who is curating gallery. In this system I have tried to use Vue.js and found it very useful.

<comment><USER29> I think I actually agree with your #1 item but also find it sad as 8-10 hours a day is a lot of time to just grind for the sake of supporting your other activities. I'd love to find a middle ground but it may not exist.

</comment></comment><comment><USER30> Leverage your experience and knowledge. Dont start from scratch.

Do some node-backend projects and working your way into a decent full time position.

OR try full stack development of react + java backend.

Jhipster sets u up with a full SAAS demo-type app with java-spring-boot, SQL, and react. You need to learn about hosting, DB, config, network issues, etc. Just getting a full app hosted and working on a free heroku server will give some starter backend experience.

If you are willing to put in the time, u can do a first backend gig by combining this with some minimal front end react work.

Where r u located?

p.s. it also sounds like you have some burn out and life issues - which may or may not be solved by better work

</comment><comment><USER31> Can you clarify whether you are asking how to get out of web dev, but stay in tech? Or are you asking what to do with your life because you lost the passion for tech?

Because the answers to those questions are completely different.

</comment><comment><USER32> You could try joining a company that does webdev and something else you might enjoy. Then after a little time there doing webdev, get to know those in the other teams and see if you can get a chance to work with them.

</comment><comment><USER33> This has been suggested by someone else but I'll suggest it again: Learn Rust. I was in your shoes a couple years ago, and decided I'm done with the Spaghetti. I got lured into Rust, somehow. It was the best thing that probably happened to my programming/development skills.

I've been doing some JavaScript (again) lately, and I have decided that I can only go on forward with TypeScript. Rust strict types, traits and patterns will completely change how you approach and think about code.

</comment><comment><USER34> There's a chance you may get stuck with React again due to React Native and Electron if you move to mobile or desktop apps. Maybe try transitioning to Full-Stack and eventually Backend?

</comment><comment><USER35> Why not just fuck your demons and learn modern web dev?

<comment><AUTHOR> I've thought about going to a bootcamp, but I'm not sure I want to double down after a decade. Burnout is a real thing.

<comment><USER36> Could look for 'IoT' jobs.

</comment></comment></comment><comment><USER37> You mention burnout in another comment thread here. With that often comes a feeling of powerlessness and apathy.

"Escaping webdev" is the easy part --- you just need to quit. But doing so is only a transition away from something. We need to find what you should transition toward, instead.

What are your skills that you still feel at least somewhat passionate about? And how can we turn that into a future career?

</comment><comment><USER38> Sounds like a problem with the code you write instead of industry. Like you are not proud of your work and it eats you.

Almost everything is connected to web nowadays(frontend and backend) and it certainly doesn't have to be as bad as you describe. I would advice to try automating as many things as possible. Especially things you don't like as there is a lot of motivation for that

</comment><comment><USER39> Practice Leetcode for half a year until you get good at interview questions. Scour your network for referrals to big companies. Do well on the Leetcode interview you will get. Once you get in work for about a year then say you are unhappy and transfer teams. Go to a distributed systems, ml, ai team etc.

</comment><comment><USER40> Feeling the same way, which is why I'm wanting to build some open source apps that replace as much as possible w/ db/api from db...e.g. using Hasura + React or Vue to create a SaaS framework, to re-use for multiple business ideas, maybe have a hosted version or being open core as a biz model.

</comment><comment><USER41> get your cissp or oscp cert and go into the infosec sector. you make a ton of money and are basically in a managerial role so there is little hands on and zero coding.

get a cloud cert in aws, azure or google and basically do dev ops at a large scale. again... tons of money and zero web development.

</comment><comment><USER42> I was re-invigorated a few years back after doing nothing but webdev when I was thrown into a SysOps role (on AWS primarily). Having a webdev background helped when building small applications to hack things together.

</comment><comment><USER43> > thirteen years of beginner experience

My God. I'd love to learn more about your background. How, if you've worked in web development since 2007, consider yourself a beginner?

<comment><USER44> Could be humble. Or could be like me and have a severe inferiority complex, mostly from the constant flexing of recent CS grads always makes you feel like you really don't know what you're doing.

Even if you do.

<comment><USER45> I feel like a beginner a lot of the time.

There are several competing forces at play.

On the one hand, JavaScript is changing every year. CSS releases new features such as grid. New releases of frameworks such as Vue and Svelte are released. React launches hooks. The list goes on and on. You read the headlines about all of the new stuff, but you may not actually use the new stuff in a real project.

On the other hand, the client needs features yesterday, and there's a need to deliver new features as fast as possible with the functionality you know inside and out.

You keep using the small core of functionality you know over and over again for years. You know a small number of things very well, but you know nothing about many things you read about. There's a whole world of things that experts know that you have never used.

Maybe a lot depends on your environment? If you're at a shop with 100 developers, a few developers might spend a lot of time playing with new stuff, and teaching it to others. In a small shop, your results may vary. Not every shop has that new junkie who jumps on the newest thing, evaluates it as appropriate for this shop or not, and efficiently teaches the new stuff to others.

I try to use and learn new things, but it's time consuming. So even though I am learning new stuff all the time, I often feel closer to the beginner side than the expert side.

The default is to make the donuts every day with the tools you have. It takes effort to learn new things and use them in a real project.

I'm happy to answer any questions.

</comment></comment></comment><comment><USER46> Have you considered analytics? I think of it as progression and you might want to continue the web-dev work with a new hire. They make a decent story together

</comment><comment><USER47> Go to a smaller company. They are much slower on changing technology.

<comment><USER48> Really? My experience is the exact opposite - large orgs choose a tech stack and invest heavily, staying on it for years, if not decades. A client is still on .Net 4.

<comment><USER47> If it is not a modern startup my experience was always the other way: software had to work and the stack didn't matter and was not often updated.

</comment></comment></comment><comment><USER49> Back end Python web development is a joy these days.

<comment><USER50> Depends who's code you have inherited. Agreed Python is a lot more pleasant than Javascript, but people still write some horrible stuff.

<comment><USER51> But does Python back-end code scale like Javascript?

<comment><USER50> Are you saying that you can't scale code because it's in Python? And JavaScript would solve the problem?

You can scale Python apps just fine (though obviously it depends a lot on the problem as how you go about that)

</comment></comment></comment></comment><comment><USER52> Pick up a copy of K&R

</comment><comment><USER53> Flutter

</comment><comment><USER54> SAP,DataFlex,ERP,Cobol,SQL ETL,ColdFusion,PHP are all good options.</comment>


23 Books That Fix 99% of PhD Problems - <AUTHOR> http://www.nextscientist.com/books-phd-problems/ <comment><USER2> Some of the books listed are worthwhile, some are just the usual self-help babble, and some don't even reach that bar. Click-bait for the books and an advertisement for "coaching" and their book.</comment>


WHAT? Habitable exoplanet confirmed? - <AUTHOR> http://dvice.com/archives/2011/05/gliese-581d-con.php

<comment><USER2> No.

They've made a model wherein which the planet might have certain climate characteristics such that it might be habitable by some form of life and might be habitable by Earth life as well, if the planet exists. There is a lot more maybe in this report: [http://news.discovery.com/space/exoplanet- gliese-581d-human-...](http://news.discovery.com/space/exoplanet- gliese-581d-human-habitation-110516.html)</comment>


Physicists Just Detected a Odd Particle That Isn't a Particle at All - <AUTHOR> https://www.livescience.com/65119-odderons-quasiparticles-detected.html <comment><USER2> The article is trying to present quasiparticles as something very mysterious, but there are many usual cases.

In particular the phonons [https://en.wikipedia.org/wiki/Phonon](https://en.wikipedia.org/wiki/Phonon) In a solid, you can imagine that the atoms are moving somewhat randomly, or you can decompose the movement in "quasiparticles" called phonons. It's much easier to understand some behavior of solids if you imagine that phonons are real, for example you can calculate the probability of the collision of a phonon with an electron in a conductor, and use that to calculate the conductivity. The idea is so useful that the people that work with solids talk as if he phonons were real particles (in spite they know all the details).

</comment><comment><USER3> From the top of the article

> I break your understanding of physics but don't overhaul your knowledge. Who > am I?

From the bottom

> Does it still help us push past the boundaries of known physics? For sure. > Does it break known physics? No, because odderons were predicted to exist > within our current understanding.</comment>


Class Central: directory of stanford online courses - <AUTHOR> http://www.class-central.com/

<comment><AUTHOR> Created by HN user dhawalhs <http://news.ycombinator.com/user?id=dhawalhs></comment>


IPREDator: a service that makes people online more anonymous using a VPN - <AUTHOR> https://www.ipredator.se/beta/closed/

<comment><USER2> I sometimes wonder about the names people choose for their projects. A service to make people more anonymous, called iPredator? Even if that's not the correct capitalisation, it still sounds like some service for child molesters.

<comment><USER3> IPRED stands for "Intellectual Property Rights Enforcement Directive". See <http://wiki.openrightsgroup.org/wiki/IPRED> for example.

<comment><USER2> Indeed, but the negative connotations of the name remain.

<comment><USER4> Those connotations also reminds people why they need the service to begin with. You need IPREDator because of IPRED.

</comment></comment></comment></comment><comment><USER5> This has to be a joke. iPredator? seriously?

<comment><USER6> It's almost as dumb as naming a site "The Pirate Bay".

<comment><USER5> They actually argue that piracy (in the context of downloading music) is o.k. It's to hard to believe that they think using anonymity on the Internet to be a predator is o.k.

</comment></comment></comment><comment><USER7> Sorry, but that page contains almost zero information:

"IPREDator is a network service that makes people online more anonymous using a VPN. it costs about 5 EUR per month and we store no traffic data. the network is under our control. not theirs. the pirate bay likes and knows real kopimism. and waffles."

What is this service? How does it work? What is the benefit over existing services?

<comment><USER8> You should check this article: <http://www.p2pnet.net/story/24418>

Apparently IPREDator is just Relakks (the pirate bay's previous VPN service) rebranded, which itself is (was?) a PPTPD service.

<comment><USER9> IPREDator is administrated by the same corporation who run Relakks, but has their own hardware. Relakks is run by "Trygghetsbolaget i Lund AB" (approx. Safeness Corporation in Lund Ltd.) and has no affiliation with TPB. The Pirate Party did promote Relakks when it was first released.

More about Relakks at [http://www.nytimes.com/2007/05/20/technology/20iht- net21.1.5...](http://www.nytimes.com/2007/05/20/technology/20iht- net21.1.5784173.html)

</comment></comment></comment><comment><USER10> From a legal point of view this is a total minefield.

</comment><comment><USER11> OpenVPN or pptpd paid service?

<comment><USER8> From: <http://www.itnews.com.au/Tools/Print.aspx?CIID=151988>

<quote> By accessing the Web through the VPN, subscribers are able to hide their traffic data from Internet Service Providers (ISP), and bypass ISP-level censorship.

But the network isn't exactly bulletproof.

It is run by Swedish VPN company Trygghetsbolaget, which also built the once- popular Relakks service in 2006.

Unlike Relakks, IPREDator does not log its users' traffic information.

However, the services are based on the same software, including the use of 128-bit encrypted point-to-point tunnelling protocol (PPTP).

PPTP is a user-friendly VPN protocol that was first implemented on Microsoft's operating systems in 1996. Reports by security experts such as Bruce Schneier have since revealed a number of flaws in the technology, including password hashing and encryption issues.

IPREDator co-founder Peter Sunde, who also founded popular file-sharing site The Pirate Bay, told iTnews: "128-bit encrypted PPTP can probably be broken by someone that can eavesdrop on the traffic." </quote></comment></comment>


Using pixels to write code.  - <AUTHOR> http://www.iquilezles.org/blog/?p=1426

<comment><USER2> Fascinating, and a really neat hack!</comment>


Meeting Bill Gates - <AUTHOR> http://www.25hoursaday.com/weblog/PermaLink.aspx?guid=6541e297-1a22-40e3-89fa-04fa19ab22b2

<comment><USER2> See, this is the big difference between Dare and me. If I got an email saying "this is Bill Gates's office, Bill wants to know if your father is the President of Nigeria", I'd write back: "Sure he is. And I'd like Bill's help in getting some of his money out of Nigeria. Naturally, I'll pay a 10% finder's fee. Just give me Bill's bank account number...."

Actually, I suppose the fact that Dare's father actually _is_ the President of Nigeria is another difference.

</comment><comment><USER3> "BillG" has such a bad vibe from being associated with Microsoft. Every time you hear some personal story of him he's an awesome guy.</comment>


Ask HN: "Basic SEO"? - <AUTHOR> I see this phrase thrown around like a magic spell from time to time, a la "Put up a site about a profitable niche, do some basic SEO, and bam! presto! Instant $50/month!"
But what is "Basic SEO" to you?  Blogging?  Adwords?  Paying dudes via MechTurk to write articles for you?
Googling "Basic SEO" brings you a few good articles, but a LOT of "buy our ebook" articles too.  I just feel that if it were so basic, it'd be more common to find.
So what do you consider to be "Basic SEO", HN? <comment><USER2> 0\. The zeroth rule of SEO is get your site listed for a search for your site. If your site is bobsfishingtips.com, make sure if someone searches for Bob's Fishing Tips, you get found. This means simply getting at least one real site to link the name of your site to you, or maybe a couple sites if you have some common word like Yelp.

1\. After that, make sure people link to you with proper anchor text for other keywords. If you want people to search for "fishing tips" and find you, then several people will need to link you something like this:

        This site has great fishing tips.

2\. The more authority these links have, the better you will do. If you get a very high PageRank site to link "fishing tips" to you, you might be immediately first for that query in Google. Or, 2-3 medium links might do it.

3\. The words you want people to search for need to be used several times on your site. You should have the words "fishing tips" on several pages and you should link to your best page on "fishing tips" by putting that phrase in your own links to your own pages.

4\. Also make sure you put the keywords you want searches for in the title of your page, and enclose them in H1 tags or other bold/header tags. This won't help very much, but it's probably worth doing.

5\. Links don't really help you unless they are from a real domain - a link from someblog.blogspot.com will not help your PageRank much at all. Also, the domain needs to exist for a while to help you - something like a year.

6\. Good places to get links are from your college and high school newspapers, local newspapers, and anyone else who has a website that would appropriately cover you.

7\. Some sites have way more PageRank than you might expect. www.cmu.edu is an anchor site for the link graph, and a link from this site will do wonders for your PageRank.

8\. Here are some excellent pages on SEO:

        http://www.localseoguide.com/yelp-seo-analysis-part-one/

        http://www.localseoguide.com/yelp-seo-analysis-part-two/

You should also check out Mahalo.com. That site is SEOed within an inch of its existence on Google, so take some tips from them but tread carefully.

9\. In the end, it really boils down to having authoritative links with the right anchor text linking to you. The rest matters very little.

<comment><USER3> Great summary.

I'd add that SEO is not just a ranking exercise-- it's a conversion exercise. On top of all of the factors that you need to consider for ranking, you should consider that the first ~60 characters of you <title> tag and the first ~150 of your meta-description are what drives people to click through to your site.

Also, all other things being equal, the first position on SERPs gets ~42% of clicks... So it's a winner take all game unless you are talking about a content business.

OH-- also do some keyword analysis. In Andrew's example-- how many people search for "fishing tips" versus "fishing advice" or "how to fish" or "intro to fishing"? Keyword analysis is about finding out what people are searching for and then digging in to see how competitive those keywords are. If you want to dethrone the #1 result for "fishing tips" you'll want to analyze their SEO. If they are a 10 year old page-rank-9 domain with 87,500 inbound links, you might consider gunning for a less sought-after search term.

<comment><USER4> Excellent point. I was in charge of much of the SEO of a large internet retailer and our organic traffic was stunning. Unfortunately no matter how hard I lobbied to start work on conversion, split testing etc, they insisted I do nothing but drive traffic to our poorly converting sites. When sales started flattening out despite the continuing month over month increase in organic traffic I was let go as a cost saving measure. And while still an Internet Retailer 500 company their position has slipped significantly down the ranks. At the time I left we had top ten positions for hundreds of our most important key words including #1 position for many of our first tier words. When doing SEO remember that traffic is only as good as it converts.

</comment></comment></comment><comment><USER5> Here's the basics:

\- Research your keywords, make a list, especially paying attention to which ones are the most popular. The results may surprise you.

<https://adwords.google.com/select/KeywordToolExternal>

\- Optimize your title tags (different on each page, mention your keywords, first 4 words of the title count the most)

\- Put your keywords into high-value elements (h1-h4, img alt text, ul's, dl's)

\- Get links from other websites (best case scenario: link's anchor text is your keyword). Higher the PageRank of the linking site the better. NoFollow's don't count.

To get links:

        1) Ask directly
        2) Mention them in your blog posts, hope they reciprocate
        3) Pay them (but don't tell anyone you did)
        4) Make interesting content on your blog that naturally gains links

\- Don't use subdomains (i.e., put your blog at mydomain.com/blog/ instead of blog.mydomain.com)

That will give you a good start. From there, start a blog with interesting content, and submit it around. The idea with the blog is that the posts are more interesting than your site's copy, so people will actually link to it.

<comment><USER6> what's wrong with subdomains?

<comment><USER7> It dilutes link juice--a subdomain is viewed as a separate site. Putting your blog as a subdirectory helps to build the authority of your main domain.

<comment><USER5> Yes, this is it. If you host your blog on blog.mydomain.com your main site won't receive the full benefit of the inbound links.

Side note: sometimes this is desired. For instance, one domain can only occupy 2 slots in a SERP, but each subdomain can take 2 more slots. So in theory, you could take up an entire results page with your main domain and 4 subdomains.

</comment></comment></comment></comment><comment><USER8> Build Links. Here are my 5 steps to get started from nothing, with 5 free bonus steps. Do one of these per week, in a little over a month you'll have a foundation. Remember SEO is like farming, you reap what sow and it takes a long time to reap the harvest of all the hard work.

1\. Leverage your competition, by finding your top five closest competitors and spend your first round of SEO getting links from the top 100 sites that link to them. Once you filter out the ones that you won't be able to contact or you know can't edit their content to add another link, you'll be down to 20% of those 500 links. Now, you can do this in a day. Create an email, send it to each one of those guys asking for a backlink, telling them you're in the space and explaining why they should link to you. _Don't pay for links, because it's not worth the risk of the google "police" finding out._

2\. Long Tail. Don't focus on ranking for the super-competitive keyword such as "flowers", rank for medium-tail keywords that you can make some ground on with less effort. "flowers going away party", "flowers evil mother-in-law", etc. Related to #1, when you ask for a link, feel free to suggest anchor text in the link that helps you get what you want from that link.

3\. Kickstart your on-site content strategy. Make a list of 100 articles that would help you drive traffic. Take the top 10 ideas and hire someone to write them. For each article, when you publish it, find 100 more people to ask for links to the article. Send them specific text and a specific page you want them to link to.

4\. Authorities. Make a list of 10 authorities on your subject _who blog or create content_. Write an article that you think would be interesting to them, something specific that is in their space. Make the content really good. Contact them personally (phone call, even) and ask for links to the article. In the flowers example, academics focused on environmental issues related to flower farming, for example.

5\. Directories. Build resource articles that cover your space in a way that focuses on your strengths. Find directories and ask them to link to your article. In the flowers example, an article on determining the proper type of flower for all special occasions or religious events.

6\. Build links.

7\. Build links.

8-10. Build links.

<comment><USER9> On #3, you can pay someone $6/300 words to get unique content written (and that includes some level of SEO research on the phrases you request). If the quality isn't quite what you'd hoped, use those articles as a starting point and then expand on them, tweak them and reword certain points. Paying more for higher quality pieces is an option too.

<comment><USER10> how do you go about that? Are there services that facilitate such article writing?

<comment><USER11> Whenever I've done this type of stuff, I've just farmed out my article writing to elance.

Some article writing services do pretty much the same thing, being essentially middlemen rather than having talent inhouse, which is why I don't recommend them, but YMMV

<comment><USER9> When I found three writers I trialled, it was through elance. Tracked down their portfolios and contacted them off-site. One was in Australia and I believe they outsourced the writing to Asia and the quality (writers who weren't native English speakers) wasn't great. The one I favoured was from the UK. If she was outsourcing, it was to decent writers.

</comment></comment></comment></comment></comment><comment><USER12> I also like to tell people what basic SEO is not:

1\. SEO is not keyword frequency. Although the page you are optimizing needs to contain the search term you are trying to rank for it shouldn't be saturated with that term. The first four words of the <title> tag, the
 tag and maybe an  alt attribute are a few good places to put a good keyword.

2\. More links isn't necessarily better. A couple good links from one or two good pages can really boost your rankings more than a lot of links from unimportant websites.

3\. Meta tags won't help a page rank higher. The <meta name="keywords"/> and <meta name="description"/> tags aren't used as ranking factors but it's good to include them because they do signal "about-ness" to an engine.

Some things that might hurt your SEO are frequent server downtime and site inaccessibility, cloaking by user agent, links from spammy domains and acquiring links from known "link sellers".

Source: <http://www.seomoz.org/article/search-ranking-factors>

</comment><comment> brown9-2 Google publishes a pretty clear and simple "Webmaster guidelines" checklist to follow: [http://www.google.com/support/webmasters/bin/answer.py?hl=en...](http://www.google.com/support/webmasters/bin/answer.py?hl=en&answer=35769)

</comment><comment><USER13> SEO can be expensive and time consuming, and a single update to Google's algorithm can send you back to the drawing board.

My advice: take all of the time and money and, instead of SEO, focus on making your product great or creating great site content.

If you have a site worth visiting, the quality linking and SEO will eventually take care of itself. People will blog about your site and link to it without you having to do anything other than being the best at what you do.

<comment><USER3> I totally disagree with that advice. A good portion of SEO isn't expensive or time consuming. In fact, none of it should cost money. And a single update to Google's algorithm rarely harms folks who are doing white-hat SEO.

SEO effort is a multiplier. You can have outstanding content and make no SEO efforts and yes, you'll probably do okay. You can have crappy content and be brilliant at SEO and you'll do great, too. The best scenario is to have great content AND great SEO.

Of course, part of SEO _IS_ building something worth linking to (and doing a bit of social engineering to get folks to link to you more than they otherwise would). Check out Mint for an outstanding example of this.

Great content/software and SEO are not mutually exclusive and 95% of the SEO tactics you need can be learned in a weekend and implemented as you go along.

</comment></comment><comment><USER14> Basic "white hat" SEO is two things:

1: Making sure your site is visible to search engines. Make sure there are meta-tags, that navigation, headers and text is text, not images or flash. Have a sitemap. Make sure links to pages contain a good description of what's on the page.

2: Making sure someone's linking to your site. Pitch to blogs to get them to talk about and link to your site. Comment on blogs, putting your website in the "website" field. Have good content that people will want to come to and share - the best way to be visible is for get other people to do your promotion for you.

The reason it should be a niche, is that when there isn't too many people writing a website, it's easier to rank high for a search term. If you picked generic technology news, you'd be hard pressed to break page 10 on Google. If make a good site about how to grow your own organic hamster food, you could make page one with little effort. Picking the niche is as much basic SEO as the technical stuff for this "trick".

Finally, TANSTAAFL.

<comment><USER15> I had to look that acronym up: [http://en.wikipedia.org/wiki/There_aint_no_such_thing_as_a_f...](http://en.wikipedia.org/wiki/There_aint_no_such_thing_as_a_free_lunch)

</comment></comment><comment><USER16> here's the basic set of rules i adhere to:

1) only pick a few keywords.

2) make sure you have those keywords in the title tags, in an h1 that either copies or restates the title, and in an h2 that is basically a site summary sentence/paragraph. you can use css to hide or image replace the h1/h2.

3) get some other sites to link back to you. old, established, trusted sites are best. avoid link farms. avoid becoming a link farm yourself to obtain links. links with "nofollow" attributes don't count.

4) the url you have helps. whether it is yourkeyword.com, your-key-word.com or whatever.com/your-key-word, it isn't a huge thing to worry about (especially if you can't help it). but it does help to have the keywords in the url in some form.

5) in the end, content trumps most things. search engines are smart enough to recognize most spammy things. if you want to get good results, produce a good webpage with good content.

</comment><comment><USER17> I am surprised no one has mentioned this yet: [http://googlewebmastercentral.blogspot.com/2010/03/googles-s...](http://googlewebmastercentral.blogspot.com/2010/03/googles- seo-report-card.html)

Google recently published an internal SEO audit. The report is more or less a blueprint of what you should follow on an on-site level with your own site and I would have to imagine that was the intent.

</comment><comment><USER18> SEO has two basic components: making your site seem good and worthwhile, and associating it with particular search terms. Making it good and worthwhile and not-spammy mostly has to do with incoming links, and having fresh content. Reach out to blogs and other sites in your domain to try and collect back- links.

In order to find what terms you should associate with your site, do some basic research on search volume (google has some tools for this). Once you have the terms you want to rank for, it's a matter of making them more prominent in your site. Header tags, the title tag, the first 100 words of your body copy (p tags), and your URL structure (readable & hierarchical) have the strongest impact on this, as does the anchor text of both internal and external links. Meta description doesn't impact your ranking, but it does impact click-through in the search engine listings because it's the default text the search engine will display under the title.

The last part is making sure that content is available in text form on your page. Banners that are in flash or image files should either be replaced with images, or you can do graceful degradation by having the text be replaced with images via javascript (this is consider OK by google so long as the replacing image contains the same text). If you have videos, include transcripts or at least summaries. If you have lots of images, use the alt attribute. Don't make things Ajax unless you really need to.

The last recommendation is don't spam. You'll get penalized. Spamming is putting more SEO-bait than content on your page, and/or placing content that search engines will see but most users won't (putting the same content in different forms is ok). Most tricks you can think of, someone else has thought of first, and you will get burned for it. Done properly, white-hat SEO and accessibility overlap very well, since search engine spiders are basically low-capability browsers.

</comment><comment><USER19> Ask yourself this question: "If I was looking for X and landed on this page, what would I want to see (information, layout)?" X being what you want to rank for. Edit: Then get people online to talk about X and link to your page.

</comment><comment><USER20> I also see ads that say "mom working from home earns $500 a day online!". If it was so easy to make "instant $50/month" then I'd just sit there and set up a new site every day for a year, and then retire. Truth is - there's no get- rick-quick scheme that runs on auto-pilot. A site isn't just a domain, you have to publish content on it, you have to continuously improve SEO and gain links, you have to invest in the domain, hosting, bandwidth, time, content, links, etc, etc.

First decide how much an hour of your time is worth. Then decide if an investment in this website is worthwhile.

</comment><comment><USER21> Really basic: [http://www.google.com/webmasters/docs/search-engine- optimiza...](http://www.google.com/webmasters/docs/search-engine-optimization- starter-guide.pdf)

My tips (once you understand the really basic): [http://www.gabrielweinberg.com/blog/2009/04/search-engine- op...](http://www.gabrielweinberg.com/blog/2009/04/search-engine-optimization- seo-tips.html)

HN comments on my tips: <http://news.ycombinator.com/item?id=553613>

</comment><comment><USER22> "Put up a site about a profitable niche, do some basic SEO, and bam! presto! Instant $50/month!" I've done this but the 10 page site brings it a little less, about 30 - 40USD / month. No adwords, wrote the content myself, only one or two incoming links. If your niche / keywords are specific enough you'll rank in the top 5 without many problems.

Keep in mind that since the content is very specific and does take some time to write (research, ...) knocking out 100 or even 10 sites like this would be quite hard work.

</comment><comment><USER23> Black Hat Seo

0\. Find a new, non discovered niche. This niche should be gold, this mean the Adsense Pay Per Click is high. Register a related domain.

1\. Purchase unrelated domain names, any domains really, get ".info" domains since they are cheap.

2\. Buy a SPAM tool like Xrumer and SPAM related/unrelated blogs with unrelated keywords. (Did you wonder the thousands SPAM comments you get with xfdfrg in anchor text and wonder why the spammer didn't found better than those keywords?).

3\. SPAM a couple thousands blogs, get a couple hundred back links. You need many links, your anchor is not targeted, so quantity need to beat quality.

4\. After you get the back links listed in all your domains, make a 301 Redirect, this will bring all the Google juice (back links) to your domain.

5\. Your domain rank high, it brings traffic, optimize it for Adsense.

Why all this mess?

A. It helps stay under Google SPAM radar since you are using unrelated keywords, in fact keywords that related to nothing.

B. Other black hat or white hat web masters won't discover your Gold niche while you are building back links.

As I said, this is black hat and involves spamming. I never tried it, but it seems to bring some good cash it you choose well the niche.

</comment><comment><USER24> "Basic SEO" to me would be doing a good job of understanding the client's products & services during the design process and making sure these come across well in the build - especially with good URLs (eg <http://www.mycompany/weoffer/service-name/> etc) plus making sure that key page website copy is written in light of the obvious keywords/phrases for their industry.

If the above sounds obvious then you'd be amazed how many sites I come across which blatently ignore this - if you don't put the raw ingredients into the mix - Google aint ever gonna bake you a cake!

Basic SEO (to me) is NOT: \- advanced keywords research \- advanced off site SEO tactics \- probably not keyword/time tracking

Joel

Ps I never really class Adwords as SEO

Pps apologies for any typos - on my BB

</comment><comment><USER25> 1\. Pick your target keywords (<https://adwords.google.com/select/KeywordToolExternal>)

2\. Make sure those keywords are on your page and maybe urls also.

3\. Get links. More the better. Not from spammers.

</comment><comment><USER26> There a few automated tools that can help you analyze your site for potential SEO mistakes - this is one I've made which can hopefully help:

<http://www.seositecheckup.com>

</comment><comment><USER27> If you use WordPress I have written an article detailing some common SEO mistakes and how to fix them:

1\. Bloated title tag and abandoned post titles

2\. Lack of relevant keywords and phrases

3\. Disregarding the NoFollow link attribute

4\. No Sitemap or ping notification to search engines

5\. Not adding images in posts

6\. Improper anchor text for internal links

For my suggestions and solutions to these basic SEO issues, continue reading...

<http://www.dotsauce.com/2009/11/17/wordpress-seo-mistakes/>

Do not listen to the black hat advice! Organic SEO pays off much more in the long run.

</comment><comment><USER28> Search engine optimization is about (1) some basic technical steps that most standards-complaint developers understand, and (2) making your website worth caring about so people WANT to link to it. At least, that's the non-sleazy kind of search engine optimization.

The magic spell you're referring to is just that; a magic spell. The reality is that these people make hundreds, if not thousands of these "niche sites", and 1 in 100 is marginally successfully. They do it at such volume and with such an efficient system of rolling out template websites with useless filth the internet doesn't need that they can turn a profit.

But their real profit comes from selling their system, using select stories like the ones you've heard, or generating a month or two of profits and then flipping the website to another owner. Unfortunately, these websites rarely maintain said profit.

The real question you have to ask is whether you would rather make an average of $5 per month off of 200 websites, or $1000 per month off of 1 website.

For a technical person, there's no doubt that the 1 website is the "easier" road, and it ain't easy. But 200 websites making $5/month ain't easy either. The people doing so have an extensive and intricate understanding of internet marketing sleazeball tricks, the same way many technically-oriented hackers here know their craft inside and out (the good and the bad).

Still, there ARE some quick things you can do to optimize your pages and create your own "link neighborhood" when you launch a fresh site. Real success comes from really making something HUMAN BEINGS want to visit... but these things will jump-start you once you have that material.

1\. Pick a domain name that matches your primary keyword.

2\. Get other important keywords into the secondary page URLs using mod rewrite (or a platform that supports it, like Wordpress).

3\. Make sure every page has a unique title and H1 tag that matches your primary keyword objectives for that page.

4\. Make sure the homepage links to most, if not all, other pages (at least to start).

5\. Make sure every page links back to the homepage and many other secondary pages using appropriate anchor text.

6\. Register on every social media site that makes sense for you (using this list). Include a link to the site in your profile. It helps if the username you choose is a primary keyword.

7\. Link the social media profiles to each other where applicable. Fill them out as fully as possible.

8\. Actually use the social networks. More activity will create more pages of content with more links to the profiles, in turn passing more "juice" to your website.

9\. Claim your site using Google Webmaster Tools. Submit your sitemap (preferably one that is automatically updated).

10\. Do a Google Search for every one of your top keywords. Figure out how to get a link from any site showing in the top 20 results.

11\. Do not under any circumstance pay someone for a link. Do not offer or accept offers to trade links.

12\. Avoid linking out to shady websites of any kind.

13\. Study the keywords your competitors target (if they use meta-keywords like bozos, you can just lift those from the source).

14\. Write a blog, or find some other way to continually add new content. This adds to the content you have indexed, but is also another opportunity for links. Long term strategy right here.

15\. Build a Twitter client, wordpress theme, or something else that people will link to and use with persistent links to whatever you decide is in the by line.

Follow these tips and you'll end up with a few hundred links to your site. That should get you indexed and off to a start, but its no replacement for the real work of being worth caring about.

<comment><USER29> > 1\. Pick a domain name that matches your primary keyword.

What's the last time you actually managed to follow that point of your advice ?

</comment></comment><comment><USER30> It's probably something like this:

[http://www.blackhatworld.com/blackhat- seo/adsense/42980-how-...](http://www.blackhatworld.com/blackhat- seo/adsense/42980-how-i-make-15k-month-adsense.html)

Which was discussed on HN here: <http://news.ycombinator.com/item?id=511935>

</comment><comment><USER31> I believe this article by Derek Powazek is worth reading: <http://powazek.com/posts/2101>

</comment><comment><USER32> <http://www.sensational-seo.com/> Free firefox plugin for basic SEO ;)

</comment><comment><USER33> My advice:

1\. Content is king, obviously, but get inbound links through guest posts

2\. The rest is details

The details: 1\. Use alt img text to describe images

2\. Use hyperlinks with solid naming conventions: <http://www.localseoguide.com/yelp-seo-analysis-part-one/>

and not

<http://www.localseoguide.com/p=188270>

3\. Use rel=nofollow for links that you don't want the search engine to pick up.

For instance, if you're an amazon affiliate, your links should look like:

<a href="<http://amazon.com/product/affiliateid=blahblah> rel="nofollow">name of amazon product

4\. Pick a title tag that you think people will search (e.g. "How to Lose Weight," not your post title, "Amazing thing that I did last month")

6\. Add certain pages to your robot.txt file that you don't want to get picked up (i.e. your privacy policy or terms).

7\. Ensure that there are no broken links within your site (internal broken links)

8\. Have keywords and a metadescription on each page

<comment><USER34> What's the point of nofollowing the Amazon link? I could be wrong, but I believe Google will still look at the link even if it doesn't follow it, and still factor it into the "does this site have too large a proportion of affiliate links?" calculation.

</comment></comment><comment><USER35> why is it even called SEO anymore? Shouldn't it just be GO? Google Optimization?

</comment><comment><USER36> Nice!</comment>