Question of the Week: What advice would you give a new FME user just starting out?
The FME Community is often the first stop for new users who are just beginning their journey with FME. Whether you remember your first workspace or the “aha!” moment when FME finally clicked - we want to hear from you!
What advice would you give a new FME user just starting out? What do you wish someone had told you when you were just getting started with FME? Drop your best advice below!
New to the Question of the Week?
Every week, we’ll post a simple but thought-provoking question that could be about your FME journey, the power of spatial data, FME innovation, or the future of FME.
Each weekly question you answer earns you an entry in our monthly draw for exclusive Safe swag ($50 value) and points toward badges!
Answer your first question and you’ll get the Socializer (Ice Breaker) badge. Answer five questions and you’ll get the Socializer (Talker) badge.
Page 1 / 2
Just one bit of advice? That’s hard to choose to be honest, but here goes.
Make Best Practices a habit
Find your style (connection styles, bookmark colors etc) and use it consistently. Or, if you’re in a larger organisation and there is no common style guide yet, implement one. This will make it easier to quickly get a good grasp on what a workspace does in case you need to edit on that was made by a colleague (or one that you made a while ago).
Document what you’re doing and, more important, why you are doing it. Use annotations and bookmarks for that. Do not rename transformers!
Building workpaces that look neat and tidy helps your colleagues, your clients and yourself.
A few simple tips from me:
Don't focus on the fact that it's not working,
FME skills come with time, "Good Enough" is often perfect
Keep it tidy, let's keep your script organized. Bookmarks is your best friend ;)
Don't Reinvent the Wheel: Before building a complex, custom solution, check the FME Community.
If you are stuck on a problem for 15 minutes and have made no progress, don't be afraid to ask for help :)
Never use Readers and Writers. Stick to FeatureReaders and FeatureWriters unless something does not work. Did I already mention FeatureReaders are more intuitive? Can't remember.
Be aware of FME Lizard, it might cheat on you.
Combine bookmarks and notes to document what you are doing, but never collapse bookmarks it makes a mess when you unfold them. Write why you do it, not what you do.
Do not use PythonCallers when FME is able to do it.
Know when to use AttributeKeepers, most of the time AttributeRemover is the better pick.
I don't like AttributeManagers, they are not self-documenting.
Great question! This came up in a conversation a couple of weeks ago. 100% with what has been said so far. Especially with don’t be afraid to ask. The FME Community is the nicest, most helpful, knowledgeable out there for sure! The only other piece of advice would be:
Visualize your workflow. Write down what needs to happen from start to finish, step by step.
Try your best not to revert to old methods, tools, software. Yes “it” can be done another way but stick with FME and learn. It will take a bit longer to solution but that’s the learning investment. Unless deadlines are tight of course.
And of course, have fun!! :D
Don’t wait to test a solution until it’s built. Build and test sections/functions as you go. Easier to troubleshoot as-you-build vs. waiting until the whole workspace/solution is finished.
Don’t discount the power of error catching/logging and reporting issues back to end users. This has proven very helpful over the years to troubleshoot issues in either workspaces or in Flow apps/automations.
Try to avoid over-loading AttributeManagers/AttributeCreators. While they are powerful, unless it is well documented, it may be confusing for other FME developers to fully understand what is trying to be accomplished when a single AttributeManager/AttributeCreator is doing a bunch of ‘hidden’ functions such as embedded date/time functions along with concatenations, along change case, along with change field types, along with other things, etc. Break the functions apart logically. It’s okay to combine a few functions if it streamlines a workspace, just don’t expect a single AttributeManager to do everything. It also makes for tougher troubleshooting.
Finally: Document & Annotate. This can’t be overstated. Leave notes to yourself on why you configured transformers a certain way. Will be very helpful if you come back to a solution a year or two later and not sure why you did what you did.
Agreeing with what others have already said. Another piece of advice would be to try something different. Even if you have a solution that works, maybe try out another method to see how it performs. Alternate solutions that are not the best for the current problem could be helpful later.
Two things that I always say as part of the trainings I run are:
Just try it, don’t ask ‘do you think this will work?’. Implement the logic, and understand what it’s doing. It might work, it might not, either way you’ve learnt something!
Give a problem to a room of FME users, and they’ll all come up with a different solution. Each will have its own advantages, and disadvantages. There’s not one ‘right’ solution. They’re all dependent on the circumstances around the problem. You may find solution A works well in this case. You’ll then have a similar, but slightly different problem, and solution B works better than solution A.
This one I like:
"Give a problem to a room of FME users, and they’ll all come up with a different solution. Each will have its own advantages, and disadvantages.”
And then all start to argue which solution should be picked and in the end they are all wrong for the use-case you have. But everyone learned something that day. But of course that only happens when I'm not around. Because my solutions ‘rule them all’.
Two things that I always say as part of the trainings I run are:
Just try it, don’t ask ‘do you think this will work?’. Implement the logic, and understand what it’s doing. It might work, it might not, either way you’ve learnt something!
The amount of times I’ve wanted to answer “I don’t know, have you tried it, because that’s what I’m about to do right now” to a question like “What happens if I do X?” is staggering.
Start with basic training - there are some key terms used in the FME space which are important to learn and understand (Readers, Writers, Requesters, Suppliers?!). Naming of tools doesn't tend to match esri’s.
The basic training will give you a very good head start over just flailing on your own - it’s free: https://academy.safe.com/path/fme-form-basic. Go a step further and do the advanced training, this will give you much more insight into whats possible - it’s also free.
Use the Help - I use it everyday, still, after 10 years. It’s really good. A big part of learning FME is learning how to read and understand the doc.
Do your best to not cross connections.
Performance is not as important as you might think - start by just get the result you need.
Keep it simple - the more complicated a workspace the more chance it has to break when you upgrade FME - and things will break.
Learn how to use the WorkspaceRunner. It makes batch processing a breeze.
You can copy/paste a surprising amount of things.
No you can’t expose attributes dynamically.
The downside of the basic training… Readers and Writers
If they would only rewrite there example workbenches with FeatureReaders and FeatureWriters it would be a great way to learn.
The downside of the basic training… Readers and Writers
If they would only rewrite there example workbenches with FeatureReaders and FeatureWriters it would be a great way to learn.
Personally I’m ok with Readers and Writers for the most part
Just try it, don’t ask ‘do you think this will work?’
I absolutely agree. Do it all using temporary and test data, and there’s no danger at all. You’ll just work through all your mistakes before you start working on real data.
Have a go at using all of the menu items. Turn all the different options on and off. Try all of the transformers. Poke your nose into the install directory.
Learn by trying. It’s the best way (for me, anyway)!
Two things that I always say as part of the trainings I run are:
Just try it, don’t ask ‘do you think this will work?’. Implement the logic, and understand what it’s doing. It might work, it might not, either way you’ve learnt something!
The amount of times I’ve wanted to answer “I don’t know, have you tried it, because that’s what I’m about to do right now” to a question like “What happens if I do X?” is staggering.
I have given that response once or twice!
AI Assist tells us:
Good advice is already given a lot, for myself it helps me a lot to see errors, when they appear, as challenges instead of problems
Enable View>Windows>Help
Get into the habit of using the feature information window when you want to analyze your features and results, not the Data preview table.
If possible, avoid AttributeManager, avoid text editor’s functions, avoid conditional values (and a recent one, avoid the new value's annotation).
Fewer transformers don’t mean better workspace. More is more. Be extensive. Be explicit. Don’t hide stuff. Don’t create Custom Transformers. Use Bookmarks. Use Annotation.
Go left to right, not top to bottom. You’re not on a A4 PDF page but on an infinite horizontal scroll.
Create your workspace once to discover the path you want to follow. Delete it, recreate it to pave the way with a clear mind.
In quick add, “tecrea” to add AttributeCreator, “terem” for AttributeRemover, “tekee” for AttributeKeeper…
Customize your toolbar, there are a ton of actions that you will never use
Code (python, SQL, ...) should be your last resort. You want your workspace to be readable by someone that has no other dev experience than FME.
If possible, avoid AttributeManager, avoid text editor’s functions, avoid conditional values (and a recent one, avoid the new value's annotation).
Fewer transformers don’t mean better workspace. More is more. Be extensive. Be explicit. Don’t hide stuff. Don’t create Custom Transformers. Use Bookmarks. Use Annotation.
100% - one of the handful of FME hills I’ll be prepared to die on!
Go left to right, not top to bottom. You’re not on a A4 PDF page but on an infinite horizontal scroll.
I once had somebody at a training course who didn’t realize this, had tried to build a big, complex, workspace on that initial canvas view. Had ended up stacking transformers on top of eachother
Annotate everything.
When in doubt, browse the transformer gallery and read the descriptions. Often a functionality exists in a transformer you weren’t aware of.
As a total beginner, the online training has been fantastic. I can review it at my own pace, starting and stopping as needed.
I am very grateful for the free and easy to use VM with preloaded software and training data.
As a new starter without the knowledge of FME, I will advice you start with FME Academy, especially starting with FME Form, which will enable you to build your understanding on the FME interface and process in workflow creation.